En informatique la virtualisation c’est bien réelle. Cette technique permet de faire fonctionner sur une seule machine (OS hôtes) plusieurs systèmes d’exploitations (OS invités ou encore machines virtuelles, VM en anglais) indépendamment les uns des autres, comme si ils fonctionnaient sur des machines physiques différentes. VMware Server est un de ces outils de virtualisation, qui certes n’est pas libre comme le sont QUEMU ou XEN, mais il est gratuit (version Windows et Linux), (il suffit de s’enregistrer pour recevoir par mail un n° de série) à moitié ouvert (la société que le supporte à ouvert son code source à certains partenaires) et surtout, c’est un outils complet et simple à mettre à oeuvre.
A l’échelle de l’entreprise la virtualisation sert surtout à mutualiser les ressources (humaines comme matériels), elle sert aussi les développeurs qui portent des applications sur différentes architectures et à notre échelle elle est très utile pour tester de nouvelles distributions ou libérer définitivement la partition NTFS de nos disques durs, si vous voyez de quoi je parle
Principe de fonctionnement : extrait du datasheet VMware Server
vm011.png
L’administration des machine virtuelle (VM) peut être local ou distante via le réseau
Une VM hébergée par VMware Server peut être utilisée en local ou à distance via le réseau (sécurisé avec ssh) au travers de la Console Vmware
Une couche http peut être rajoutée sur le serveur pour l’administration Web
Une VM peut être crée, comme si on installait un OS (boot sur CD, partitionnement, etc…) ou téléchargée prête à l’emploie. Des sites comme http://www.thoughtpolice.co.uk/ ou encore le site de Vmware qui proposent moultes images VMware en libres téléchargement. Il existe aussi l’outils VMware Player qui permet uniquement de lire des VM. Pour l’installation c’est par ici
Utilisation standard :
Cette procédure est valable sur une version 32 bits ou 64 bits de Ubuntu
VMware Server software + console locale avec un accès par console distante (Windows ou linux)
Prés-requis : Installation de certains paquets dont entre autres le serveur OpenSSH et le nécessaire pour la compilation (les dépôts universe et multiverse doivent être actifs)
$ mkdir ~/vmware (création du dossier pour le stockage des VM)
$ sudo -s
$ apt-get install ssh openssh-server
$ apt-get install libx11-6 libx11-dev libxtst6 xlibs-dev xinetd wget
$ apt-get install linux-headers-`uname -r` build-essential
Puis pour une version Ubuntu 32 bits
$ apt-get install gcc binutils-doc cpp-doc make manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.0-doc libc6-dev-amd64 lib64gcc1
Ou pour version Ubuntu 64 bits
Il est à noter que libc6-dev-amd64 ne s’installe que sur une version 32 bits de Ubuntu, ça sert à émuler un 64 bit pour une VM. Si vous installez VMware sur une Ubuntu 64 bits, ce paquet n’est pas nécessaire, de toute façon il n’existe même pas. Il faut également ajouter le paquet ia32-libs pour éviter un bug de génération de certificats SSL (Unable to get the last modification timestamp of the destination file /etc/vmware/ssl/rui.key.), Merci à nico pour l’astuce …
$ apt-get install gcc binutils-doc cpp-doc make manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.0-doc lib64gcc1 ia32-libs
La suite de la procédure est valable sur une version 32 bits ou 64 bits de Ubuntu
Téléchargement de VMware Server
$ cd /tmp
$ wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.1-29996.tar.gz
Installation
$ tar xvfz VMware-server-*.tar.gz
$ cd vmware-server-distrib
$ ./vmware-install.pl
Le script d’installation se déroule, il faut accepter la réponse par défaut à toutes les questions, sauf pour :
In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines] votre_home_directory/vmware (dossier de stockage des VM)
Please enter your 20-character serial number.Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel: entrer_ici_le_numero_de_serie_reçu_par_mail puis enter
Creating a new installer database using the tar3 format
Installing the content of the package
In which directory do you want to install the binary files? [/usr/bin] par défaut pressez enter
What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc] par défaut pressez enter
What is the directory that contains the init scripts? [/etc/init.d] par défaut pressez enter
In which directory do you want to install the daemon files? [/usr/sbin] par défaut pressez enter
In which directory do you want to install the library files? [/usr/lib/vmware] par défaut pressez enter
The path « /usr/lib/vmware » does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] par défaut pressez enter
In which directory do you want to install the daemon files? [/usr/sbin] par défaut pressez enter
In which directory do you want to install the library files? [/usr/lib/vmware] par défaut pressez enter
The path « /usr/lib/vmware » does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] par défaut pressez enter
In which directory do you want to install the manual files? [/usr/share/man] par défaut pressez enter
In which directory do you want to install the documentation files? [/usr/share/doc/vmware] par défaut pressez enter
The path « /usr/share/doc/vmware » does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] par défaut pressez enter
The installation of VMware Server 1.0.1 build-29996 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: « /usr/bin/vmware-uninstall.pl ».
Before running VMware Server for the first time, you need to configure it by invoking the following command: « /usr/bin/vmware-config.pl ». Do you want this program to invoke the command for you now? [yes] par défaut pressez enter
You must read and accept the End User License Agreement to continue.
Press enter to display it. pressez enter
touche q pour quitter
Do you accept? (yes/no) yes
In which directory do you want to install the mime type icons? [/usr/share/icons] par défaut pressez enter
What directory contains your desktop menu entry files? These files have a .desktop file extension. [/usr/share/applications] par défaut pressez enter
In which directory do you want to install the application’s icon? [/usr/share/pixmaps] par défaut pressez enter
None of the pre-built vmmon modules for VMware Server is suitable for your running kernel. Do you want this program to try to build the vmmon module for your system (you need to have a C compiler installed on your system)? [yes] par défaut pressez enter
Do you want networking for your virtual machines? (yes/no/help) [yes] par défaut pressez enter
Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes] par défaut pressez enter
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] par défaut pressez enter
Do you wish to configure another NAT network? (yes/no) [no] par défaut pressez enter
Do you want to be able to use host-only networking in your virtual machines? [yes] par défaut pressez enter
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] par défaut pressez enter
Do you wish to configure another host-only network? (yes/no) [no] par défaut pressez enter
Please specify a port for remote console connections to use [902] par défaut pressez enter
In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines] votre_home_directory/vmware (dossier de stockage des VM)
Please enter your 20-character serial number.
Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel: entrer_ici_le_numero_de_serie_reçu_par_mail puis enter
The configuration of VMware Server 1.0.1 build-29996 for Linux for this running kernel completed successfully.
Si tout se déroule correctement :
Le serveur est installé et il tourne déjà en arrière plan. Il se lancera à chaque démarrage de la machine (script /etc/rc2.d/S90vmware)
La console locale est prête à l’emploi dans le menu Outils système
vm02.png
Choisir local host puis Connect
vm03.png
Pour un premier test, on peut télécharger le Browser Appliance proposé par Vmware, c’est une VM Ubuntu light pour un surf sur le web sécurisé. Il faut dézipper le fichier Browser-Appliance-1.0.0.zip dans le dossier ~/vmware, puis dans la console : File / Open / et il faut aller chercher le fichier Browser-Appliance.vmx
vm05.png
Puis un simple startup et c’est partis…
vm04.png
Remarque : Pour chaque VM, il faut installer par la suite le VMware Tools qui sont des outils qui permettent d’optimiser la VM, notamment par rapport aux drivers vidéo, souris, etc…. Pour les installer, il faut, une fois que la VM est démarrée et qu’une session est ouverte dans le menu VM lancer Install Wmware Tools
Le principe sur une console distante est exactement le même à part la connexion du départ, voilà un exemple avec une console installée sur un poste Windows XP :
vmWIN.png
NB : le User Name et le Password doivent correspondre à un compte existant sur la machine serveur (un compte système sur Ubuntu pour ce cas précis)
Pour installer la console distante sur une machine Windows XP, c’est par ici. VMware Server Windows client package. puis Windows VMware Server Console (.exe), c’est du suivant, suivant, …, OK
Pour installer la console distante sur une machine Ubuntu (ou autre Linux), c’est par ici. VMware Server Linux client package. puis Linux VMware Server Console
Pour la création de VM un rapide googelage sortira nombre de tutos et de Howto sur le sujet
Utilisation avancée :
Rajout de l’interface web d’administration sur le serveur. Cette interface permet, depuis un poste du réseau (qui n’a pas de console distante) de gérer le serveur VMware et de télécharger les consoles pour l’exécution des VM. On y accède par l’adresse https://ip_du_serveur:8333
Téléchargement de VMware MUI
$ sudo -s
$ cd /tmp
$ wget http://download3.vmware.com/software/vmserver/VMware-mui-1.0.1-29996.tar.gz
Installation
$ tar xvzf VMware-mui*
$ cd vmware-mui-distrib/
$ ./vmware-install.pl
Le script d’installation se déroule, il faut accepter la réponse par défaut à toutes les questions :
Creating a new installer database using the tar3 format.
You must read and accept the End User License Agreement to continue.
Press enter to display it. presser enter
touche q pour quitter
Do you accept? (yes/no) yes
Installing the content of the package.
In which directory do you want to install the binary files? [/usr/bin] par défaut pressez enter
What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc] par défaut pressez enter
What is the directory that contains the init scripts? [/etc/init.d] par défaut pressez enter
In which directory do you want to install the VMware Management Interface files? [/usr/lib/vmware-mui] par défaut pressez enter
The path « /usr/lib/vmware-mui » does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] par défaut pressez enter
In which directory would you like to install the documentation files? [/usr/lib/vmware-mui/doc] par défaut pressez enter
The path « /usr/lib/vmware-mui/doc » does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] par défaut pressez enter
The installation of VMware Management Interface 1.0.1 build-29996 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: « /usr/bin/vmware-uninstall-mui.pl ».
Before running VMware Management Interface for the first time, you need to configure it by invoking the following command: « /usr/bin/vmware-config-mui.pl ». Do you want this program to invoke the command for you now? [yes] par défaut pressez enter
Configuring httpd.conf to run Apache as: User: www-data and Group: nogroup
Set the number of minutes before a http session times out. (This is the length of time before someone connecting to VMware Management Interface will be logged out) [60] par défaut pressez enter
Generating SSL Server Certificate
Starting httpd.vmware: done
The configuration of VMware Management Interface completed successfully.
Si tout est OK, le mini serveur web qui gère l’interface d’administration est installé et il tourne déjà en arrière plan. Il se lancera à chaque démarrage de la machine (script S91httpd.vmware).
Avec la Dapper 6.06 un bug est recensé avec cette version de VMware MUI, si le mini serveur web n’arrive pas à se lancer et que dans le fichier fichier log /var/log/vmware-mui/error_log apparait le message suivant :
VMWARE PANIC:
NOT_IMPLEMENTED F(4023):707
Il faut dans le script de lancement de httpd.vmware /etc/init.d/httpd.vmware
entre les lignes :
start)
et
vmware_exec « Starting httpd.vmware: » vmware_start_http
Rajouter
if [ ! -d /var/run/vmware/httpd ]
then
echo « Directory: var/run/vmware/httpd Not found. Creating it. »
mkdir /var/run/vmware/httpd
echo « Setting user and group ownership to: User: www-data, Group: nogroup »
chown www-data:nogroup /var/run/vmware/httpd
echo « Setting directory permissions to: RWX—— (700) »
chmod 700 /var/run/vmware/httpd
fi
Voilà brièvement à quoi ça ressemble pour https://localhost:8333
vm06.png
NB : le User Name et le Password doivent correspondre à un compte existant sur la machine server (un compte système sur Ubuntu pour ce cas précis)
vm07.png
Pour les détails de l’utilisation et de l’administration je vous laisse découvrir toutes les possibilités sur le site de Vmware
Ressources : http://pubs.vmware.com/server1/wwhelp/wwhimpl/js/html/wwhelp.htm