Depuis que je suis confinĂ© Ă travailler depuis chez moi, j’ai eu l’envie de monter un environnement de machine sous Linux, toutes sur la mĂȘme machine hyperviseur.
Pour cela, j’ai resorti un vieux PC du placard :
- Intel i7 2770
- 16 Go de RAM
- 1 To de disque dur
- Carte mĂšre avec technologie Intel VT (virtualisation) activable
Ma machine va recevoir toutes les autres sous forme de VM (Virtual Machine) : mon PC sera donc considéré comme un « Hyperviseur »
Pour fonctionner, mon hyperviseur va fonctionner sous Linux Ubuntu Server 18.04; d’autres distributions Linux peuvent Ă©galement ĂȘtre utilisĂ©s pour rĂ©aliser ce type de machine : la configuration d’une adresse IP fixe sur ma machine sera par contre un prĂ©-requis. Sous Ubuntu Server, la configuration repose sur le systĂšme « Netplan ».
Je vous propose de voir plusieurs choses au sein de cet article :
- L’installation de VirtualBOX
- L’utilisation & l’administration de VirtualBOX via une interface WEB
- L’utilisation & l’administration de VirtualBOX en ligne de commande
1 – Installation de VirtualBOX
Avant d’installer quoi que se soit, un peu de paramĂ©trage :
- Dans le dossier /etc/apt/source.list.d on va créer un fichier qui portera le non « virtualbox.list »
- Dans ce fichier, on va copier les lignes suivantes :
1 2 3 4 5 |
deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian bionic contrib # deb-src http://download.virtualbox.org/virtualbox/debian bionic contrib # deb-src http://download.virtualbox.org/virtualbox/debian bionic contrib # deb-src http://download.virtualbox.org/virtualbox/debian bionic contrib # deb-src http://fr.archive.ubuntu.com/ubuntu bionic-security multiverse |
- Ensuite, on lance la commande (en Ă©tant toujours sous ‘root’) :
123wget -q https://www.virtualbox.org/download/oracle_vbox.ascapt-key add oracle_vbox.ascapt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF - Cela importera les clés du repository virtualbox
- On lance la commande « apt update«Â
On installera les paquets VirtualBOX sur la machine avec la commande :
1 |
apt install virtualbox-5.2 virtualbox-ext-pack |
2 – L’utilisation & l’administration de VirtualBOX via une interface WEB
VirtualBOX est maintenant installĂ©… Mais en mode ligne de commande, il faut bien avouer que cela n’est pas trĂšs firendly ! On va donc installer une interface WEB qui va permettre de gĂ©rer cet Ă©mulateur pour par la suite y crĂ©er nos machines virtuelles. Cette interface s’appelle « phpvirtualbox » et est disponible sur GitHub.
phpVirtualBOX est un projet construit en langage PHP depuis plusieurs annĂ©es… MĂȘme si le projet est de moins en moins actif, il reste l’une des seule solutions pour administrer graphiquement depuis un navigateur WEB, des machines virtuelles Ă distance.
[tds_council]Le seul point nĂ©gatif Ă ce programme, c’est qu’il propose un accĂšs Ă la console en utilisant la technologie (dĂ©passĂ©e et plus vraiment supportĂ©e) Adobe Flash Player. Si vous utilisez un navigateur WEB qui ne possĂšde plus ce module, soit vous en changez, soit vous passez directement au chapitre 3, soit vous utilisez un client RDP fourni en standard par Windows « mstsc.exe », sous Linux, on pourra utiliser Remmina, Vinagre, etc…[/tds_council]
L’interface Ă©tant basĂ©e sur un mode WEB, il nous faut donc un serveur WEB : on installe alors Apache avec les modules utilisĂ©s par l’application WEB :
1 |
apt install apache2 libapache2-mod-php php php-soap php-xml |
Ensuite on va se créer un USER spécifique qui fera fonctionner le processus « vboxwebsrv » :
1 |
adduser vbox |
Le systÚme va vous demander un tas de chose, dont son mot de passe : on mettra « pass »
Pour que le USER que l’on vient de crĂ©er puisse discuter correctement avec VirtualBOX, on va le rattacher au groupe VirtualBOX :
1 |
usermod -G vboxusers vbox |
Maintenant que l’on a crĂ©Ă© le USER qui va permettre l’exĂ©cution du processus qui permettra l’intĂ©raction avec le service WEB, on va crĂ©er un script de lancement de ce processus :
- Se rendre dans /etc/systemd/system
- CrĂ©er le fichier vboxwebsrv.service avec l’Ă©diteur de votre choix
- Ajouter le texte suivant dans ce nouveau fichier :
1 2 3 4 5 6 7 8 9 10 11 12 |
[Unit] Description=vboxwebsrv service [Service] User=vbox Group=vbox ExecStart=/usr/lib/virtualbox/vboxwebsrv -H 127.0.0.1 WorkingDirectory=/home/vbox Restart=on-failure RestartSec=1m #StandardOutput=null [Install] WantedBy=multi-user.target |
- Enregistrer le fichier
- On test le service pour voir s’il est fonctionnel :
1 |
systemctl start vboxwebsrv.service |
- Puis on regarde s’il est bien dĂ©marrĂ© avec la commande « systemctl status vboxwebsrv.service » :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
root@hyperviseur:/etc/systemd/system# systemctl status vboxwebsrv.service â vboxwebsrv.service - vboxwebsrv service Loaded: loaded (/etc/systemd/system/vboxwebsrv.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2020-03-18 17:22:46 UTC; 5min ago Main PID: 32063 (vboxwebsrv) Tasks: 17 (limit: 4915) CGroup: /system.slice/vboxwebsrv.service ââ32063 /usr/lib/virtualbox/vboxwebsrv -H 127.0.0.1 ââ32072 /usr/lib/virtualbox/VBoxXPCOMIPCD ââ32081 /usr/lib/virtualbox/VBoxSVC --auto-shutdown mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000134 main OS Version: #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000172 main DMI Product Name: OptiPlex 790 mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000181 main DMI Product Version: 01 mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000239 main Host RAM: 15919MB (15.5GB) total, 15308MB (14.9GB) available mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000243 main Executable: /usr/lib/virtualbox/vboxwebsrv mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000244 main Process ID: 32063 mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.000244 main Package type: LINUX_64BITS_UBUNTU_18_04 mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.011449 main IPC socket path: /tmp/.vbox-vbox-ipc/ipcd mars 18 17:22:46 hyperviseur vboxwebsrv[32063]: 00:00:00.151658 SQPmp Socket connection successful: host = 127.0.0.1, port = 18083, master socket = 8 mars 18 17:22:51 hyperviseur vboxwebsrv[32063]: 00:00:05.149184 Watchdog Statistics: 0 websessions, 0 references |
- Si tout s’est correctement dĂ©roulĂ©, vous pouvez activer dĂ©finitivement ce nouveau service, ce qui permettra un dĂ©marrage automatique au dĂ©marrage de Linux :
1 2 |
root@hyperviseur:/etc/systemd/system# systemctl enable vboxwebsrv.service Created symlink /etc/systemd/system/multi-user.target.wants/vboxwebsrv.service â /etc/systemd/system/vboxwebsrv.service |
- La derniĂšre chose Ă configurer sur VirtualBOX est son fichier de configuration : /etc/default/virtualbox
On indiquera les lignes suivantes Ă minima dedans :
1 2 |
VBOXWEB_USER=vbox VBOXWEB_HOST=127.0.0.1 |
D’autres options dans ce fichier sont possible, mais pas vraiment indispensable dans notre cas; on se rĂ©fĂ©rera Ă la documentation officielle Ă ce propos.
Maintenant que VirtualBOX est installĂ© et que son interface de communication WEB est fonctionnelle, on passe au tĂ©lĂ©chargement de l’application « phpvirtualbox« ; on la trouvera sur GitHub (NB: le projet a migrĂ© de SourceForge Ă GitHub). On tĂ©lĂ©chargera la version 5.2 disponible dans la liste des releases de l’application (NB : Ă cette date, la version de dĂ©veloppement n’est compatible qu’avec la version 6.x de VirtualBOX).
1 2 |
cd /var/www/html wget https://codeload.github.com/phpvirtualbox/phpvirtualbox/zip/5.2-1 |
- On dĂ©compresse l’archive ZIP reçu dans notre dossier (qui doit ĂȘtre /var/www/html) et on crĂ©Ă© un lien vers le dossier cible :
1 2 |
unzip phpvirtualbox-5.2-1.zip ln -s phpvirtualbox-5.2-1/ phpvirtualbox |
1 2 |
cd phpvirtualbox cp config.php-example config.php |
On modifiera les lignes suivantes dans le fichier config.php:
- Remplacer la ligne « #var $vrdeaddress = ‘192.168.1.1’; » par « var $vrdeaddress = ‘192.168.1.190’; »
NB : 192.168.1.190 Ă©tant l’adresse de votre machine et bien supprimer le # en dĂ©but de ligne
–> Ăventuellement, vous pouvez modifier la langue dans le fichier de config en changeant la ligne « var $language = ‘en‘; » par « var $language = ‘fr‘; »
- On oublie pas de mettre tout ce petit monde avec les bons droits :
1 |
chown -R www-data:www-data /var/www/html/ |
- Maintenant que tout est correctement installé, il faut redémarrer le serveur (reboot) ou redémarrer les services VirtualBOX :
1 2 3 4 5 6 7 8 9 10 11 12 |
systemctl list-units | grep vbox vboxautostart-service.service loaded active exited vboxautostart-service.service vboxballoonctrl-service.service loaded active exited vboxballoonctrl-service.service vboxdrv.service loaded active exited VirtualBox Linux kernel module vboxweb-service.service loaded active running vboxweb-service.service vboxwebsrv.service loaded active running vboxwebsrv service root@hyperviseur:/var/www/html/phpvirtualbox# systemctl restart vboxautostart-service.service root@hyperviseur:/var/www/html/phpvirtualbox# systemctl restart vboxballoonctrl-service.service root@hyperviseur:/var/www/html/phpvirtualbox# systemctl restart vboxdrv.service root@hyperviseur:/var/www/html/phpvirtualbox# systemctl restart vboxweb-service.service root@hyperviseur:/var/www/html/phpvirtualbox# systemctl restart vboxwebsrv.service |
[tds_warning]
Si vous oubliez cette Ă©tape, il est possible que certains Ă©lĂ©ments de votre interface WEB ne fonctionneront pas correctement… C’est le cas de la Console (« Remote desktop ») qui peut rester grisĂ©.
[/tds_warning]
- Vous pouvez maintenant vous rendre sur la page WEB de votre service : http://<VotreAdresseIP>/phpvirtualbox
- Une page de login doit apparaĂźtre
- Le login & mot de passe sont par défaut : admin /admin
Vous pourrez rajouter d’autres utilisateurs dans la partie configuration par la suite et changer le mot de passe de ce compte « admin« …
[tds_warning]
Il est difficile de trouver la bonne configuration quand on installe tous ces Ă©lĂ©ments… J’ai pu tester la version dĂ©veloppement de phpvirtualbox (en date du 14/03/2020) avec les versions 5.x et 6.x de VirtualBOX. En utilisant une version de phpvirtualbox 6.x (celle de dĂ©veloppement) on peut se retrouver avec ce type de message :
Il ne faut pas mélanger les versions !!!
[/tds_warning]
[tds_note]Si vous rencontrez des problĂšmes en rentrant sur l’interface, voici quelques pistes :
- Vérifier que le processus vboxwebsrv fonctionne bien en tache de fond : la commande « ps -ef | grep box » doit renvoyer une ligne qui doit ressembler à cela :
/usr/lib/virtualbox/vboxwebsrv –background -H 127.0.0.1
Notez bien que le processus doit avoir les arguments « –background -H 127.0.0.1« - VĂ©rifier que le fichier de configuration de l’application phpvirtualbox est bien prĂ©sent : il doit ĂȘtre fourni sous le nom « config.php« ; une version d’exemple est disponible Ă la racine du serveur sur laquelle vous rĂ©fĂ©rer
- Vérifier que le fichier /etc/default/virtualbox contient bien les informations décrites ci-dessus.
- Si vous avez des problÚmes pour utiliser la console, il faut vérifier que :
- Le pack d’extension de VirtualBox est bien installĂ© : c’est cette extension qui permet d’apporter le dĂ©port vidĂ©o via le protocole RDP, il est donc indispensable
- Note : on peut vérifier que le pack est bien installé par la commande « VBoxManage list extpacks« ; dans le cas contraire, on pourra exécuter par exemple la commande « VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack » en ayant pris soin de télécharger le fichier « Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack » avant !!!
- Lorsqu’une VM est dĂ©marrĂ©e, dans la console de votre hyperviseur (et pas celle de VirtualBox !), on tapera la commande :
- Le pack d’extension de VirtualBox est bien installĂ© : c’est cette extension qui permet d’apporter le dĂ©port vidĂ©o via le protocole RDP, il est donc indispensable
1 2 |
root@hyperviseur:/# netstat -anp | grep VBoxHeadless tcp 0 0 192.168.1.150:9000 0.0.0.0:* LISTEN 27631/VBoxHeadless |
-
- La commande doit renvoyer une ligne tel que dans l’exemple ci-dessus (NB: 192.168.1.150 est l’adresse de mon hyperviseur dans cet exemple)
- ATTENTION: si la ligne renvoie une adresse en « 127.0.0.1 » Ă la place de l’adresse de l’hyperviseur (ou de « 0.0.0.0 »), vous ne pourrez jamais vous connecter sur la console ou Ă distance depuis une console RDP avec apparition d’une erreur de type « TCP: SECURITY_ERROR Error #2048«Â
- Lorsque vous ĂȘtes connectĂ© en RDP, cette mĂȘme commande doit renvoyer en plus une ligne comme comme dans cet exemple :
- La commande doit renvoyer une ligne tel que dans l’exemple ci-dessus (NB: 192.168.1.150 est l’adresse de mon hyperviseur dans cet exemple)
1 2 3 |
root@hyperviseur:/# netstat -anp | grep VBoxHeadless tcp 0 0 192.168.1.150:9000 0.0.0.0:* LISTEN 27631/VBoxHeadless tcp 0 0 192.168.1.150:9000 192.168.0.23:52330 ESTABLISHED 27631/VBoxHeadless |
-
- Si l’adresse fournie par le fichier .rdp de la machine fait rĂ©fĂ©rence Ă une adresse locale comme « 127.0.0.1 », il est fort probable que le fichier de config n’a pas Ă©tĂ© mis Ă jour correctement; remplacer la ligne « #var $vrdeaddress = ‘192.168.1.1’; » par « var $vrdeaddress = ‘192.168.1.190’; » (NB : 192.168.1.190 Ă©tant l’adresse de votre machine et bien supprimer le # en dĂ©but de ligne)
Si vous avez crĂ©Ă© des machines avec cette mauvaise configuration, vos machines doivent soit ĂȘtre refaite, soit Ă©ditĂ© directement au niveau de son fichier de config (.vbox) afin de rĂ©tablir une bonne configuration d’accĂšs.
- Si l’adresse fournie par le fichier .rdp de la machine fait rĂ©fĂ©rence Ă une adresse locale comme « 127.0.0.1 », il est fort probable que le fichier de config n’a pas Ă©tĂ© mis Ă jour correctement; remplacer la ligne « #var $vrdeaddress = ‘192.168.1.1’; » par « var $vrdeaddress = ‘192.168.1.190’; » (NB : 192.168.1.190 Ă©tant l’adresse de votre machine et bien supprimer le # en dĂ©but de ligne)
[/tds_note]
3 – L’utilisation & l’administration de VirtualBOX en ligne de commande
Pour gérer en ligne de commande VirtualBOX, une commande essentielle est a connaitre :
VBoxManage <option> <commande>
Pour la liste complÚte, on se réferera à la documentation offcielle
Toutefois, pour une petite mise en bouche, je vous propose de créer une VM depuis la ligne de commande : ce sera une machine de base, avec des options standard !
Notre VM s’appelera « linux2020 ».
On débutera par la création de la VM :
1 |
VBoxManage createvm --name linux2020 --register --basefolder "<chemin>" |
C’est le strict minimum pour commencer la crĂ©ation d’un VM; les options correspondent Ă :
- – -name : on donne un nom Ă notre VM
- – -register : on enregistre notre nouvelle VM dans la base des machines de VirtualBOX
- – -basefolder : on dĂ©fini le chemin ou sera stockĂ© nos machines virtuelles.
On remarque que le retour de cette commande affiche plusieurs informations, dont un UUID : cette variable est unique et peut remplacer le nom de la machine dans les commandes qui vont suivre…
Cela va crĂ©er aussi un dossier du nom de la machine ainsi que du fichier « linux2020.vbox »; ce fichier contient au final assez peut d’informations pour le moment :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?xml version="1.0"?> <!-- ** DO NOT EDIT THIS FILE. ** If you make changes to this file while any VirtualBox related application ** is running, your changes will be overwritten later, without taking effect. ** Use VBoxManage or the VirtualBox Manager GUI to make changes. --> <VirtualBox xmlns="http://www.virtualbox.org/" version="1.15-linux"> <Machine uuid="{437ea587-87ad-40d8-942e-7963af03a9b2}" name="linux2020" OSType="Other" snapshotFolder="Snapshots" lastStateChange="2020-03-27T12:02:22Z"> <Hardware> <CPU> <PAE enabled="true"/> <LongMode enabled="true"/> <HardwareVirtExLargePages enabled="false"/> </CPU> <Memory RAMSize="128"/> <Paravirt provider="Default"/> <RemoteDisplay enabled="false"/> <AudioAdapter driver="ALSA" enabled="true" enabledIn="false" enabledOut="false"/> </Hardware> </Machine> </VirtualBox> |
On va donc maintenant configurer notre machine avant de booter sur l’image ISO et y accĂ©der par RDP… sauf qu’avant d’aller plus loin, il faut « enregistrer » dans le systĂšme notre nouvelle VM :
1 |
VBoxManage registervm <chemin>/linux2020/linux2020.vbox |
Puis on passera les parametres de la VM par l’option « modifyvm » :
1 |
VBoxManage modifyvm linux2020 --ostype RedHat_64 --memory 1024 --vram 8 --acpi on --cpus 2 --boot1 dvd --graphicscontroller vboxvga --firmware bios --nic1 bridged --bridgeadapter1 eno1 --cableconnected1 on --mouse ps2 --keyboard ps2 --vrde on |
Explications sur toutes ces options :
- – -ostype est suivit de l’ID de l’OS qui sera installĂ©; la liste des OS supportĂ© peut ĂȘtre trouvĂ© via la commande « VBoxManage list ostypes«Â
- – -memory est en MĂ©ga Octect : 1024 Mo dans l’exemple
- – -vram est la taille de la mĂ©moire vidĂ©o : 8 Mo dans l’exemple
- – -acpi on : on active la gestion de l’ACPI de la VM
- – – cpus : on donne le nombre de CPU que l’on souhaite affecter Ă la VM
- – -boot<NumĂ©roDeSĂ©quence> : le numĂ©ro de sĂ©quence est le numĂ©ro d’ordre du pĂ©riphĂ©rique qui permet de booter; dans cet exemple le premier pĂ©riphĂ©rique de boot sera le lecteur de DVD
- – -graphicontroller : dĂ©fini le type de pilote vidĂ©o qui sera utilisĂ© par la VM
- – -firmware : dĂ©fini le type de microprogramme servant au dĂ©marrage de la VM; ici dans l’exemple, la machine est Ă©quipĂ© d’u BIOS
- – -nic<NumĂ©roInterface> : dĂ©fini comment est connectĂ© l’interface rĂ©seau qui porte le numĂ©ro « NumĂ©roInterface »; on peut avoir jusqu’Ă 4 interfaces : dans l’exemple, la carte rĂ©seau sera mise en mode « bridged »
- – -bridgeadapter<NumĂ©roInterface> : la carte rĂ©seau dĂ©fini ci-dessus ayant Ă©tĂ© mise en mode « bridge » (aka « pont »), il faut la relier Ă la carte rĂ©seau de l’hyperviseur qui apportera la connexion au rĂ©seau. Dans l’exemple, le nom de lcarte rĂ©seau de l’hyperviseur s’appel « eno1 »
Note : on peut lister le nom des interfaces rĂ©seau disponible en utilisant la commande « VBoxManage list bridgedifs« - – -cableconnected<NumĂ©roInterface> : dĂ©fini l’Ă©tat de l’interface, si elle est connectĂ© ou pas; dans l’exemple, elle est forcĂ© Ă connectĂ©.
- – -mouse : dĂ©fini le type de connexion de la souris; le mode « ps2 » est utilisĂ© ici
- – -keyboard : dĂ©fini le type de connexion du clavier; le mode « ps2 » est utilisĂ© ici
- – -vrde : on dĂ©fini si on souhaite avoir un retour Ă©cran par le protocole RDP; ici on positionne cette option sur « on » pour l’activer et le port par defaut sera 3389.
Maintenant que notre VM est dĂ©fini, il faut lui dĂ©finir l’ISO sur laquelle on va booter mais Ă©galement dĂ©finir une chose importante : le disque dur et sa taille !
1 |
VBoxManage createmedium disk --filename "/vm/linux2020/linux2020.vdi" --size 1048576 --format VDI --variant Standard |
Cette fois, on passe l’option « createmedium » Ă la commande principale « VBoxManage »; dĂ©tails de la ligne de commande :
- disk : on indique que l’on va crĂ©er un disque dur; d’autres options sont possible pour crĂ©er d’autres type de disques (DVD, etc…)
- – -filename : on va indiquer entre double quote, le chemin ou sera stockĂ© le disque. Je vous conseil de stocker ce disque dans le mĂȘme rĂ©pertoire que celui qui contient la dĂ©finition de votre VM (lĂ ou est stockĂ© le fichier en .vbox). On indiquera un fichier avec l’extension en « .vdi » qui est le standard sur VirtualBOX
- – -size : l’option Ă ne pas manquer, elle dĂ©fini la taille en Mo du disque dur
- – – format : en relation avec la commande « filename« , on dĂ©fini le format du stockage; dans mon exemple, on est sur un format de type « VDI » qui est le standad sur VirtualBOX
- – -variant : dĂ©fini comment le disque va ĂȘtre crĂ©Ă© sur votre hyperviseur; par defaut le fichier de votre disque grossira en fonction de ce que vous mettez dedans et ne prendra pas la totalitĂ© de la taille dĂ©fini plus haut.
Pour connecter notre disque dur, il nous faut Ă©galement un port IDE :
1 |
VBoxManage storagectl linux2020 --name IDE --add ide |
On connecte le disque sur le bus IDE :
1 |
VBoxManage storageattach linux2020 --storagectl IDE --port 0 --device 0 --type hdd --medium "<chemin>/linux2020.vdi" |
Maintenant que le disque dur est crée et connecter, on passe à la création du lecteur de DVD et on va y monter une image ISO en connectant tout cela sur le bus IDE de la VM :
1 |
VBoxManage storageattach linux2020 --storagectl IDE --port 1 --device 0 --type dvddrive --medium "<chemin>/redhat.iso" |
[tds_note]
Pour dĂ©monter une image ISO d’un lecteur de DVD, la commande est simple :
1 |
VBoxManage storageattach linux2020 --storagectl IDE --port 1 --device 0 --medium "none" |
On remarquera que pour dĂ©monter l’image ISO, il suffit de passer Ă l’option « – -medium« , le paramĂštre « none » (NB : l’option « – -type » n’est pas obligatoire ici)
[/tds_note]
Si vous avez bien suivi ce modop pour la crĂ©ation de la VM en ligne de commande (CLI), votre machine devrait ĂȘtre prĂȘte Ă ĂȘtre dĂ©marrĂ©e; mais avant, il peut ĂȘtre bon de vĂ©rifier son paramĂ©trage :
1 |
VBoxManage showvminfo linux2020 |
[tds_council]
Vous l’aurez remarquĂ© certainement, mais la commande principale ressemble toujours Ă :
VBoxManage <option> <NomDeLaMachine> <option1> [paramĂštre] [<option2> [paramĂštre] <option3> [paramĂštre] …]
L’ensemble de ces options peut ĂȘtre retrouvĂ© sur la documentation officielle.
[/tds_council]â
On lance maintenant la VM :
1 2 3 |
root@hyperviseur:/vm# VBoxManage startvm linux2020 --type headless Waiting for VM "linux2020" to power on... VM "linux2020" has been successfully started. |
L’option « –type headless » indique que la machine sera lancĂ©e sans affichage sur l’Ă©cran de l’hyperviseur : en mĂȘme temps, cela ne fonctionnerait pas puisque l’on est en mode console / CLI đ .
Il ne reste plus qu’Ă lancer le client RDP de votre ordinateur pour accĂ©der Ă l’Ă©cran de la VM. Sous Windows, vous pouvez rechercher « RDP » ou lancer la commande « mstsc.exe » :
AprĂšs avoir indiquĂ© l’adresse de votre hyperviseur et le port de connexion Ă la VM (dĂ©fini plus haut), vous devriez pouvoir visualiser l’Ă©cran de votre VM :
Si vous devez arrĂ©ter la VM depuis la console de votre hyperviseur, 2 choix s’offrent Ă vous :
- Mode ACPI : on envoie une commande au systĂšme de la VM pour lui demander de s’arrĂ©ter…
1VBoxManage controlvm <nomDeLaVM> acpipowerbutton - Mode « dĂ©branchage Ă©lectrique » : cela arrĂšte la VM tout comme si vous dĂ©branchiez Ă©lectriquement votre ordinateur…. Avec ce mode, attention aux pertes de donnĂ©es et problĂšmes de stabilitĂ© de la VM (fsck, etc…)
1VBoxManage controlvm <nomDeLaVM> poweroff
Il existe d’autres commandes qui peuvent ĂȘtre interressant :- reset : lance un RESET de la VM
- savestate : sauvegarde l’Ă©tat de la machine
- resume : reprend l’Ă©tat antĂ©rieur de la VM
[tds_note]Les machines crĂ©Ă©es en ligne de commande ne seront pas vu dans l’interface de phpVirtualBox… et inversement ![/tds_note]