VirtualBox : exécution headless
Le mode headless démarre la machine sans fenêtre : adapté à un serveur. Les exemples utilisent la machine srv1.
Démarrer
Section intitulée « Démarrer »VBoxManage startvm srv1 --type headlessVBoxManage list runningvms--type headless lance la machine en arrière-plan ; --type gui (poste de travail) ouvre une fenêtre ; --type separate démarre un processus distinct pouvant être rattaché à une interface plus tard.
Contrôler une machine en cours
Section intitulée « Contrôler une machine en cours »VBoxManage controlvm srv1 acpipowerbutton # arrêt propre (comme le bouton d'arrêt)VBoxManage controlvm srv1 poweroff # coupure brutale (comme un débranchement)VBoxManage controlvm srv1 savestate # enregistre l'état puis arrêteVBoxManage controlvm srv1 pauseVBoxManage controlvm srv1 resumeVBoxManage controlvm srv1 reset # redémarrage brutalAttendre l’arrêt effectif :
VBoxManage controlvm srv1 acpipowerbuttonwhile VBoxManage list runningvms | grep -q '"srv1"'; do sleep 2; doneecho "arrêtée"Accéder à l’écran : VRDE
Section intitulée « Accéder à l’écran : VRDE »Avec l’Extension Pack, VirtualBox fournit un serveur RDP intégré pour la console de la machine (utile pour l’installation ou en cas de panne réseau).
VBoxManage modifyvm srv1 --vrde on --vrde-port 3390VBoxManage modifyvm srv1 --vrde-address 127.0.0.1| Option | Rôle |
|---|---|
--vrde on |
Active le serveur RDP de la console |
--vrde-port 3390 |
Port d’écoute (chaque machine a besoin d’un port différent) |
--vrde-address 127.0.0.1 |
Écoute en local seulement |
Depuis le poste d’administration, atteindre ce port par un tunnel SSH (voir SSH : tunnels) :
ssh -N -L 3390:127.0.0.1:3390 utilisateur@hote.exemple.compuis ouvrir un client RDP (xfreerdp, Remmina, Connexion Bureau à distance) sur 127.0.0.1:3390.
Une alternative pour les serveurs : se connecter à la machine invitée par SSH (voir ci-dessous) ; la console VRDE ne sert alors qu’en secours.
Joindre le système invité
Section intitulée « Joindre le système invité »Avec un réseau NAT et une redirection de port (voir Réseau) :
ssh -p 2222 admin@127.0.0.1Avec les Guest Additions installées dans l’invité, l’adresse IP est lisible depuis l’hôte :
VBoxManage guestproperty get srv1 "/VirtualBox/GuestInfo/Net/0/V4/IP"VBoxManage guestproperty enumerate srv1 | grep -i netInstaller les Guest Additions dans un invité Ubuntu :
sudo apt install virtualbox-guest-utils # dans l'invitéDossiers partagés
Section intitulée « Dossiers partagés »VBoxManage sharedfolder add srv1 --name partage --hostpath /srv/partage --automountDans l’invité (Guest Additions installées), le dossier est monté sous /media/sf_partage et accessible aux membres du groupe vboxsf :
sudo usermod -aG vboxsf "$USER"Pour échanger des fichiers sur un serveur, scp ou rsync par SSH (voir SSH : transferts) restent plus simples et plus sûrs.
Ressources
Section intitulée « Ressources »VBoxManage metrics setup --period 10 --samples 6 srv1 CPU/Load,RAM/UsageVBoxManage metrics query srv1 CPU/Load/User,RAM/Usage/UsedPlusieurs machines
Section intitulée « Plusieurs machines »Chaque machine démarre dans son propre processus ; leurs ressources s’additionnent : mémoire totale des machines inférieure à la mémoire de l’hôte (en laissant de la place au système), et ne pas attribuer plus de processeurs virtuels que de cœurs physiques à une même machine.
Dépannage
Section intitulée « Dépannage »| Symptôme | Piste |
|---|---|
VBoxManage: error: Failed to open/create the internal network |
Module vboxnetflt absent : sudo modprobe vboxnetflt |
La machine ne démarre pas (VERR_…) |
Lire Logs/VBox.log |
| Connexion RDP refusée | Extension Pack absent (VBoxManage list extpacks), port occupé, machine arrêtée ou tunnel SSH fermé |
controlvm acpipowerbutton sans effet |
Invité sans gestion ACPI ; utiliser shutdown dans l’invité |
| Machine « aborted » après un redémarrage de l’hôte | Prévoir un arrêt propre : voir Automatisation |
The virtual machine … has terminated unexpectedly during startup |
Mémoire insuffisante, modules noyau, ou virtualisation matérielle absente |
Ubuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Les commandes sont les mêmes sur les deux versions. Les noms --vrde-port et --vrde-address s’appliquent à VirtualBox 7.0 et plus ; les versions précédentes utilisaient --vrdeport et --vrdeaddress.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Contrôle des machines
- Suite : Réseau