Virtualisation · 5 min read · Dec 01, 2025
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.2 sur un serveur OpenSUSE 12.2 sans interface graphique
VBoxHeadless - Exécution de machines virtuelles avec VirtualBox 4.2 sur un serveur OpenSUSE 12.2 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.2 sur un serveur OpenSUSE 12.2 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 OpenSUSE 12.2 (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.2 sur notre serveur OpenSUSE 12.2, nous avons besoin de privilèges root, donc nous exécutons
$ suTout d’abord, nous devons découvrir quel noyau nous avons installé :
# uname -aserver1:/home/admin # uname -a
Linux server1 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux
server1:/home/admin #Comme vous le voyez, j’ai le paquet kernel-desktop installé - si vous avez le paquet kernel-server installé, remplacez desktop par server dans la commande suivante.
Nous installons les dépendances pour VirtualBox 4.2 comme suit (en réinstallant le paquet kernel-desktop / kernel-server, nous nous assurons que nous avons la dernière version installée) :
# zypper install kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc makeSi le noyau est mis à jour, vous serez informé de redémarrer le système - dans ce cas, exécutez :
# rebootReconnectez-vous en tant qu’utilisateur normal et devenez à nouveau root :
$ suEnsuite, 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.ascMaintenant, nous activons le dépôt VirtualBox OpenSUSE sur notre système (il n’y a pas de fichier de dépôt pour OpenSUSE 12.2 car le fichier de dépôt pour 11.4 fonctionne également sur 12.2) :
# cd /etc/zypp/repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repoNous pouvons maintenant simplement installer VirtualBox 4.1 comme suit :
# zypper install VirtualBox-4.2Ensuite, assurez-vous que le module du noyau vboxdrv est chargé :
# modprobe vboxdrvLa commande suivante garantit que le module du noyau vboxdrv est chargé automatiquement chaque fois que vous démarrez le système :
# insserv vboxdrvÀ partir de la version 4.0, VirtualBox a introduit ce qu’on appelle des “packs d’extension” et a externalisé certaines fonctionnalités comme le support de la connexion de bureau à distance (VRDP) qui faisaient partie des paquets VirtualBox avant la version 4.0 dans ces packs d’extension. Comme nous avons besoin de connexions de bureau à distance pour contrôler nos machines virtuelles, nous devons maintenant installer le pack d’extension approprié. Allez sur http://www.virtualbox.org/wiki/Downloads, et vous trouverez un lien vers le pack d’extension suivant :
VirtualBox 4.2 Oracle VM VirtualBox Extension Pack
Support pour les appareils USB 2.0, VirtualBox RDP et démarrage PXE pour les cartes Intel.Téléchargez et installez le pack d’extension comme suit :
# cd /tmp
# wget http://download.virtualbox.org/virtualbox/4.2.0/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack(Veuillez vous assurer de récupérer la dernière version sur le site Web de VirtualBox.)
Maintenant, nous devons ajouter l’utilisateur qui exécutera VirtualBox (admin dans cet exemple) au groupe vboxusers :
# /usr/sbin/usermod -G vboxusers admin(Vous devrez peut-être vous déconnecter et vous reconnecter pour que ce changement soit effectif.)
VirtualBox 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 options disponibles et (très recommandé !) jetez un œil à http://www.virtualbox.org/manual/ch08.html.
Je vais maintenant créer une VM Ubuntu 12.04 Server avec 512 Mo de mémoire et un disque dur de 10 Go à partir de l’image iso d’Ubuntu 12.04 Server (que j’ai stockée dans /home/ubuntu-12.04-server-amd64.iso) :
$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.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 12.04 Server"(Remplacez Ubuntu 12.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 12.04 Server" poweroffPour mettre en pause une VM, exécutez
$ VBoxManage controlvm "Ubuntu 12.04 Server" pausePour réinitialiser une VM, exécutez
$ VBoxManage controlvm "Ubuntu 12.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.