Virtualisation · 6 min read · Dec 31, 2025
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.0 sur un serveur CentOS 5.6 sans interface graphique
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.0 sur un serveur CentOS 5.6 sans interface graphique
Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter
Ce guide explique comment vous pouvez exécuter des machines virtuelles avec VirtualBox 4.0 sur un serveur CentOS 5.6 sans interface graphique. Normalement, vous utilisez l’interface graphique de VirtualBox pour gérer vos machines virtuelles, mais un serveur n’a pas d’environnement de bureau. Heureusement, VirtualBox est livré avec un outil appelé VBoxHeadless qui vous permet de vous connecter aux machines virtuelles via une connexion de bureau à distance, donc il n’est pas nécessaire d’utiliser l’interface graphique de VirtualBox.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
J’ai testé cela sur un serveur CentOS 5.6 (système hôte) avec l’adresse IP 192.168.0.100 où je suis connecté en tant qu’utilisateur normal (nom d’utilisateur admin dans cet exemple) au lieu de root.
Si vous n’avez qu’un compte root, mais pas de compte utilisateur normal, créez-en un comme suit (utilisateur admin, groupe admin)…
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin… créez un mot de passe pour le nouvel utilisateur…
# passwd admin… et connectez-vous en tant que cet utilisateur.
2 Installation de VirtualBox
Pour installer VirtualBox 4.0 sur notre serveur CentOS 5.6, nous avons besoin de privilèges root, donc nous exécutons
$ suMaintenant, nous activons le dépôt RPMforge sur notre système CentOS car le paquet dkms ( Dynamic Kernel Module Support Framework - ce paquet est nécessaire pour construire le module du noyau VirtualBox) que nous allons installer n’est pas disponible dans les dépôts officiels de CentOS 5.6 :
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt# cd /tmp
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm(Si le lien ci-dessus ne fonctionne plus, vous pouvez trouver la version actuelle de rpmforge-release ici : http://packages.sw.be/rpmforge-release/)
Ensuite, nous installons les dépendances pour VirtualBox 4.0 comme suit :
# yum groupinstall 'Development Tools'# yum groupinstall 'Development Libraries'# yum install SDL kernel-devel kernel-headers dkmsAvec la dernière commande, nous avons installé les en-têtes du noyau de notre noyau actuellement utilisé. Les en-têtes se trouvent dans le répertoire /usr/src/kernels/, mais il est probable que son répertoire ne soit pas nommé
Vérifiez votre version du noyau…
# uname -r[root@server1 kernels]# uname -r
2.6.18-238.el5
[root@server1 kernels]#… et l’architecture :
# uname -m[root@server1 2.6.18-238.el5]# uname -m
x86_64
[root@server1 2.6.18-238.el5]#Cela signifie qu’il devrait y avoir un répertoire appelé 2.6.18-238.el5-x86_64 dans le répertoire /usr/src/kernels/. Nous pouvons vérifier cela maintenant :
# cd /usr/src/kernels/
# ls -l[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 19 root root 4096 May 19 14:26 2.6.18-238.9.1.el5-x86_64
[root@server1 kernels]#Comme vous le voyez, j’ai le répertoire 2.6.18-238.9.1.el5-x86_64, mais pas 2.6.18-238.el5-x86_64. Par conséquent, nous créons un lien symbolique appelé 2.6.18-238.el5-x86_64 qui pointe vers 2.6.18-238.9.1.el5-x86_64 :
# ln -s 2.6.18-238.9.1.el5-x86_64 `uname -r`-`uname -m`Ensuite, téléchargez et enregistrez la clé publique rpm de VirtualBox :
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.asc
# rm -f oracle_vbox.ascMaintenant, nous activons le dépôt CentOS de VirtualBox sur notre système :
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repoNous pouvons maintenant simplement installer VirtualBox 4.0 comme suit :
# yum install VirtualBox-4.0Si l’installation est réussie, la sortie devrait se terminer comme suit :
[...]
Exécution de la transaction
Installation : VirtualBox-4.0 1/1
Création du groupe 'vboxusers'. Les utilisateurs de VM doivent être membres de ce groupe !
Aucun module précompilé pour ce noyau trouvé -- tentative de construction d'un. Messages
émis lors de la compilation du module seront enregistrés dans /var/log/vbox-install.log.
Arrêt des modules du noyau VirtualBox [ OK ]
Désinstallation des anciens modules du noyau VirtualBox DKMS [ OK ]
Tentative d'enregistrement des modules du noyau VirtualBox en utilisant DKMS [ OK ]
Démarrage des modules du noyau VirtualBox [ OK ]
Installé :
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Terminé !
[root@server1 kernels]#(Si l’installation échoue parce que le répertoire des en-têtes du noyau correct ne peut pas être trouvé, la sortie se terminera comme suit :
[...]
Création du groupe 'vboxusers'. Les utilisateurs de VM doivent être membres de ce groupe !
Aucun module précompilé pour ce noyau trouvé -- tentative de construction d'un. Messages
émis lors de la compilation du module seront enregistrés dans /var/log/vbox-install.log.
Arrêt des modules du noyau VirtualBox [ OK ]
Désinstallation des anciens modules du noyau VirtualBox DKMS [ OK ]
Tentative d'enregistrement des modules du noyau VirtualBox en utilisant DKMS
Erreur ! Vos en-têtes de noyau pour le noyau 2.6.18-238.el5 ne peuvent pas être trouvés à
/lib/modules/2.6.18-238.el5/build ou /lib/modules/2.6.18-238.el5/source.
[ÉCHOUÉ]
(Échoué, tentative sans DKMS)
Recompilation des modules du noyau VirtualBox [ÉCHOUÉ]
(Regardez /var/log/vbox-install.log pour savoir ce qui a mal tourné)
Installé :
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Terminé !
[root@server1 yum.repos.d]#Dans ce cas, essayez de créer le lien symbolique du noyau correct (comme montré précédemment) et ensuite exécutez
# /etc/init.d/vboxdrv setuppour créer le module du noyau VirtualBox.)
Maintenant, nous devons ajouter l’utilisateur qui exécutera VirtualBox (admin dans cet exemple) au groupe vboxusers :
# /usr/sbin/usermod -G vboxusers adminVirtualBox est maintenant installé et prêt à être utilisé.
Tapez
# exitpour quitter le compte root et redevenir un utilisateur normal (admin) à nouveau.
3 Utilisation de VirtualBox en ligne de commande
3.1 Création d’une VM
Pour créer une VM en ligne de commande, nous pouvons utiliser la commande VBoxManage. Voir
$ VBoxManage --helppour une liste des commutateurs disponibles et (très recommandé !) jetez un œil à http://www.virtualbox.org/manual/ch08.html.
Je vais maintenant créer une VM Ubuntu 11.04 Server avec 512 Mo de mémoire et un disque dur de 10 Go à partir de l’image iso Ubuntu 11.04 Server (que j’ai stockée dans /home/ubuntu-11.04-server-amd64.iso) :
$ VBoxManage createvm --name "Ubuntu 11.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.04-server-amd64.iso3.2 Importation d’une VM existante
Supposons que vous ayez une VM appelée examplevm que vous souhaitez réutiliser sur cet hôte. Sur l’ancien hôte, vous devriez avoir un répertoire Machines/examplevm dans le répertoire VirtualBox ; Machines/examplevm devrait contenir le fichier examplevm.xml. Copiez le répertoire examplevm (y compris le fichier examplevm.xml) dans votre nouveau répertoire Machines (si votre nom d’utilisateur est admin, c’est /home/admin/.VirtualBox/Machines - le résultat devrait être /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).
En plus de cela, copiez le fichier examplevm.vdi de l’ancien répertoire VDI vers le nouveau (par exemple /home/admin/.VirtualBox/VDI/examplevm.vdi).
Ensuite, vous devez enregistrer la VM importée :
$ VBoxManage registervm Machines/examplevm/examplevm.xml3.3 Démarrage d’une VM avec VBoxHeadless
Que vous créiez une nouvelle VM ou importiez une ancienne, vous pouvez la démarrer avec la commande :
$ VBoxHeadless --startvm "Ubuntu 11.04 Server"(Remplacez Ubuntu 11.04 Server par le nom de votre VM.)
VBoxHeadless démarrera la VM et un serveur VRDP (VirtualBox Remote Desktop Protocol) qui vous permet de voir la sortie de la VM à distance sur une autre machine.
Pour arrêter une VM, exécutez
$ VBoxManage controlvm "Ubuntu 11.04 Server" poweroffPour mettre en pause une VM, exécutez
$ VBoxManage controlvm "Ubuntu 11.04 Server" pausePour réinitialiser une VM, exécutez
$ VBoxManage controlvm "Ubuntu 11.04 Server" resetPour en savoir plus sur VBoxHeadless, jetez un œil à
$ VBoxHeadless --helpet à http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.