De la virtualisation avec VirtualBox sous Gentoo

29.12.2008 1

Xubuntu Feisty dektop in VirtualBox
Crédit photo: Vin0rz

Disposant d’un vieux serveur P4 n’ayant pas les facultés de virtualisation, j’ai essayé VirtualBox de Sun pour déployer des machines virtuelles de test.

Il existe un très bon howto à cet endroit. Je n’ai pas de serveur X installé sur cette machine, et je ne veux pas en installer. L’avantage de Virtualbox, c’est qu’il permet de démarrer une machine virtuelle et de s’y connecter en Remote Desktop. Vous pouvez très bien mettre en place cette solution sur un serveur hébergé à Paris et faire tourner vous y connecter depuis chez vous (à voir niveau latence ce que ça vaut …)


xen ~ # emerge -av virtualbox-bin

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild N ] x11-misc/util-macros-1.1.5 47 kB
[ebuild N ] media-libs/libmng-1.0.10 USE= »-lcms » 1,068 kB
[ebuild N ] media-libs/libsdl-1.2.13 USE= »-X -aalib -alsa -arts -custom-cflags -dga -directfb -esd -fbcon -ggi -libcaca -nas -noaudio -nojoystick -novideo -opengl -oss -pulseaudio -svga -xinerama -xv » 3,295 kB
[ebuild N ] virtual/libstdc++-3.3 0 kB
[ebuild N ] sys-apps/usermode-utilities-20040406-r1 59 kB
[ebuild N ] net-misc/bridge-utils-1.4 32 kB
[ebuild N ] app-emulation/virtualbox-modules-1.6.4 193 kB
[ebuild N ] x11-proto/xproto-7.0.10 140 kB
[ebuild N ] x11-proto/inputproto-1.4.2.1 47 kB
[ebuild N ] x11-libs/xtrans-1.0.3 USE= »-debug » 101 kB
[ebuild N ] x11-proto/kbproto-1.0.3 57 kB
[ebuild N ] x11-proto/renderproto-0.9.2 40 kB
[ebuild N ] x11-proto/xf86bigfontproto-1.1.2 37 kB
[ebuild N ] x11-proto/bigreqsproto-1.0.2 36 kB
[ebuild N ] x11-proto/xcmiscproto-1.1.2 36 kB
[ebuild N ] x11-proto/fixesproto-4.0 38 kB
[ebuild N ] x11-proto/xineramaproto-1.1.2 38 kB
[ebuild N ] x11-proto/randrproto-1.2.1 54 kB
[ebuild N ] x11-proto/xextproto-7.0.2 67 kB
[ebuild N ] x11-libs/libICE-1.0.4 USE= »-debug -ipv6″ 247 kB
[ebuild N ] x11-libs/libXau-1.0.3 USE= »-debug » 225 kB
[ebuild N ] x11-libs/libXdmcp-1.0.2 USE= »-debug » 216 kB
[ebuild N ] x11-libs/libX11-1.1.4 USE= »-debug -ipv6 -xcb » 1,540 kB
[ebuild N ] x11-libs/libSM-1.0.3 USE= »-debug -ipv6″ 219 kB
[ebuild N ] x11-libs/libXext-1.0.3 USE= »-debug » 256 kB
[ebuild N ] x11-libs/libXrender-0.9.2 USE= »-debug » 241 kB
[ebuild N ] x11-libs/libXfixes-4.0.3 USE= »-debug » 210 kB
[ebuild N ] x11-libs/libXt-1.0.5 USE= »-debug » 489 kB
[ebuild N ] x11-libs/libXft-2.1.12 USE= »-debug » 255 kB
[ebuild N ] x11-libs/libXcursor-1.1.9 USE= »-debug » 230 kB
[ebuild N ] x11-libs/libXrandr-1.2.1 USE= »-debug » 216 kB
[ebuild N ] x11-libs/libXi-1.1.3 USE= »-debug » 243 kB
[ebuild N ] x11-libs/libXinerama-1.0.2 USE= »-debug » 210 kB
[ebuild N ] virtual/xft-7.0 0 kB
[ebuild N ] x11-libs/qt-3.3.8-r4 USE= »mysql -cups -debug -doc -examples -firebird -gif -immqt -immqt-bc -ipv6 -nas -nis -odbc -opengl -postgres -sqlite -xinerama » 16,986 kB
[ebuild N F ] app-emulation/virtualbox-bin-1.6.4 USE= »additions vboxwebsrv headless -sdk » 21,029 kB

Total: 36 packages (36 new), Size of downloads: 48,180 kB
Fetch Restriction: 1 package (1 unsatisfied)

A la fin de la compilation, il nous est demandé de télécharger le binaire d’installation directement sur le site de VirtualBox:


* Please download the package from:
*
* http://download.virtualbox.org/virtualbox/1.6.4/VirtualBox-1.6.4-Linux_x86.run
*
* and then put it in /usr/portage/distfiles
* Fetch failed for 'app-emulation/virtualbox-bin-1.6.4'
* GNU info directory index is up-to-date.
* IMPORTANT: 4 config files in '/etc' need updating.
* See the CONFIGURATION FILES section of the emerge
* man page to learn how to update config files.
xen ~ # cd /usr/local/src/
xen src # wget http://download.virtualbox.org/virtualbox/1.6.4/VirtualBox-1.6.4-Linux_x86.run
xen src # chmod +x VirtualBox-1.6.4-Linux_x86.run
xen src # ./VirtualBox-1.6.4-Linux_x86.run
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation........
VirtualBox Version 1.6.4 (Tue Jul 29 20:45:09 CEST 2008) installation
Installing VirtualBox to /opt/VirtualBox-1.6.4
Building the VirtualBox kernel module

VirtualBox has been installed successfully.

You will find useful information about using VirtualBox in the user manual
/opt/VirtualBox-1.6.4/UserManual.pdf
and in the user FAQ

http://www.virtualbox.org/wiki/User_FAQ

We hope that you enjoy using VirtualBox.

Il suffit ensuite de suivre ce tutorial pour créer une Machine virtuelle à partir d’une ISO d’ubuntu server par exemple (256M de mémoire et 10G d’espace disque)


xen ~ # modprobe vboxdrv
xen ~ # VBoxManage createvm -name "Ubuntu 8.10 Server" -register
xen ~ # VBoxManage modifyvm "Ubuntu 8.10 Server" -memory "256MB" -acpi on -boot1 dvd -nic1 nat
xen ~ # VBoxManage createvdi -filename "Ubuntu_8_10_Server.vdi" -size 10000 -register
xen ~ # VBoxManage modifyvm "Ubuntu 8.10 Server" -hda "Ubuntu_8_10_Server.vdi"
xen ~ # VBoxManage registerimage dvd /home/ubuntu-8.10-server-i386.iso
xen ~ # VBoxManage modifyvm "Ubuntu 8.10 Server" -dvd /home/ubuntu-8.10-server-i386.iso
xen ~ # VBoxHeadless -startvm "Ubuntu 8.10 Server"
xen ~ # VirtualBox Headless Interface 1.6.4
(C) 2008 Sun Microsystems, Inc.
All rights reserved

Listening on port 3389

J’ai été confronté à un plantage de VBoxHeadless avec les sécurités PAX activées dans le kernel. Je les ai donc enlevées du noyau, il faut dans ce cas relancer le script d’installation de VirtualBox pour qu’il régénère un module pour le nouveau noyau.

Pour se connecter à la Machine Virtuelle, le RDC de Microsoft pour macosx ne semble pas fonctionner (les logs de connexions se trouvent dans /root/.VirtualBox/Machines/Ubuntu 8.10 Server/Logs si vous avez utilisé le compte root jusqu’à présent).


00:02:46.807 VRDP: Logoff: () build 0. User: [] Domain: [] Reason 0xFFFFFFFF.
00:02:48.627 VRDP: New connection:
00:02:48.685 VRDP: Flags 0x0000001b
00:02:48.685 VRDP: Channel: [rdpdr] [1004]. Not supported.
00:02:48.685 VRDP: Channel: [rdpsnd] [1005]. Accepted.
00:02:48.685 VRDP: Channel: [cliprdr] [1006]. Accepted.
00:02:48.756 VRDP: Failed to process incoming RDP packet: VERR_VRDP_PROTOCOL_ERROR!!!
00:02:48.756 VRDP: The RDP packet content (read):

En utilisant le Remote Desktop de la version Windows, aucun problème. J’avoue ne pas avoir cherché beaucoup pour résoudre ce problème, peut-être ce message vous y aidera.

D’après mes premiers tests, je trouve cette solution très rapide à la fois à mettre en place, et également durant son fonctionnement. Lors de la mise à jour du système client, le cpu hôte n’est utilisé qu’à 1%, la mémoire à 20-30%. Pas mal du tout, reste à créer une Machine Virtuelle sous Gentoo pour voir.

Et vous, c’est lequel votre préféré ? Xen ? VMWare ? VirtualBox ?

PS: oui ma machine VirtualBox s’appelle Xen, et alors ? :)

Edit: pour que Ubuntu Server accepte de booter sous VirtualBox, il faut demander à ce dernier d’activer le support PAE:


xen ~ # VBoxManage modifyvm "Ubuntu 8.04 Server" -pae on

Edit 2 : aussitôt dit, aussitôt fait, pour installer Gentoo 2008 comme système client, il suffit d’utiliser les mêmes lignes que précédemment en modifiant juste celle-ci:


xen Logs # VBoxManage modifyvm "Gentoo 2008" -memory "256MB" -acpi on -boot1 dvd -nic1 nat -ioapic off

puis de démarrer une deuxième instance de VirtualBox sur un autre port:


xen Logs # VBoxHeadless -startvm "Gentoo 2008" -p 3390
xen Logs # VirtualBox Headless Interface 1.6.4
(C) 2008 Sun Microsystems, Inc.
All rights reserved

Listening on port 3390

Il y a un très bon guide ici pour notamment les options du kernel à choisir.


 Olivier PIERRE, freelance au Luxembourg Analyste développeur PHP/MySQL/jQuery et administrateur système Linux spécialiste Gentoo


Les messages similaires