Mardi 16 octobre 2007
Le principe est de créer un serveur VMware (capable de  faire fonctionner plusieurs serveurs  windows, linux, etc...) sur un même  PC.

Pour gagner en efficacité, nous installons soit : 
- VMware Server 1.0.x sur un serveur Ubuntu 6.06 LTS ou 8.04 LTS (Long Time Support).
- VMware Server 2 (en version beta) sur un serveur Ubuntu 7.10, car dans ce cas c'est plus simple.

Le cas de la version 2 du server VMware, n'est que partiellement abordé ici, car sa version beta présente naturellement quelques instabilités. Nous noterons qu'elle ne nécessite plus de console, mais se contrôle directement à partir d'un navigateur Firefox ou Internet Explorer, de préférence sur windows (La création d'une machine virtuelle avec Firefox sous Mac s'avère extrèmement lente...). A part quelques messages supplémentaires lors de la configuration des interfaces réseau, elle s'installe exactement comme la version 1.0.x décrite ci-dessous. 


Téléchargement de VMware :
- http://www.vmware.com/fr/
- Centre de téléchargement VMware

- Téléchargement de VMware Serveur (après acceptation de la licence)
C'est de cette dernière page, que nous pouvons charger :

* le serveur gratuit VMware 1.0.x en version linux (ou windows....)
->VMware Server for Linux ou VMware Server for Windows Operating Systems

* la console linux (Linux VMware Server Console (.tar and .rpm))
-> VMware Server Linux client package

* ou la console windows (Windows VMware Server Console (.exe))
-> VMware Server Windows client package

* la console web (uniquement à partir d'un VMware linux : VMware Server Web-based management interface)
-> Management Interface

- pour télécharger le serveur directement en ligne de commande linux :
wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.4-56528.tar.gz


Préparatifs avant installation :
Penser à installer sudo aptitude install linux-headers-`uname -r` build-essential
(uniquement dans le cas d'une installation de la version 1.0.x sous Ubuntu Server 6.0.6 LTS)

Installer "make" : sudo aptitude install make
Installer "gcc" : sudo aptitude install gcc
Installer sudo aptitude install libX11-6
Installer sudo aptitude install libXtst6 libXt6 libxrender1
Installer sudo aptitude install xinetd (Important : c'est via ce paquet que la console écoute le port 902)

Les 5 commandes précédentes peuvent se faire en une instruction :
sudo aptitude install make gcc libX11-6 libXtst6 libXt6 libxrender1 xinetd


Lancement de l'installation :
tar -xzf VMware-server-*.tar.gz
cd vmware-server-distrib
./vmware-install.pl

-> Répondre "Enter" à toutes les questions... Les réponses par défaut proposées conviennent parfaitement
-> Ne jamais répondre "n" si l'installateur ne trouve pas le chemin d'un utilitaire make, gcc, etc... car sinon la procédure s'interrompt.
-> Il faut dans ce cas faire l'installation du programme manquant en parallèle sur une autre session ssh ou console et reprendre l'installation de vmware en cours.

Ceci jusqu'à la fin de l'installation où le message suivant s'affiche :

The installation of VMware Server 1.0.4 build-56528 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]


Enchainement automatique ou non sur la configuration :
Si /usr/bin/vmware-config.pl, qui correspond à la partie configuration vient à être interrompue, parce que vous auriez oublié d'installer un paquet décrit ci-dessus, il suffira de relancer /usr/bin/vmware-config.pl.

Exemple, nous pouvons avoir un message du style :

This program cannot tell for sure, but you may need to upgrade libc5 to glibc
before you can run VMware Server.

-> Parcourir le "End User License Agreement"
(soit vous défilez le texte religieusement, soit vous faites "q" pour quitter "more")

Do you accept? (yes/no)


Petites séries de 4 questions pour configurer des emplacements partagés. Accepter les valeurs par défaut.

What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.15-26-server/build/include]
-> Quand tout va bien, il suffit de valider directement.

(mais dans certains cas, ça se trouve ailleurs et la réponse peut-être du type : "/usr/src/linux-headers-2.6.15-26-server/include")

Do you want networking for your virtual machines? (yes/no/help) : [yes] par défaut, pressez "Entrer"
-> vmnet0 is bridged to eth0
(En fait le bridge permettra à chaque serveur virtuel du host VMware, d'avoir sa propre adresse Ip sur le réseau, indépendemment du host et des autres machines virtuelles hébergées). Par sécurité d'ailleurs, les hosts VMWare peuvent être mis ultérieurement dans une autre classe d'adresse réseau que les serveurs qu'il fait tourner. Ainsi les serveurs VMWare sont "discrets".

Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes] par défaut, pressez "Entrer"
-> Configuring a NAT network for vmnet8.
(L'adresse d'une machine virtuelle qui utilisera le vmnet8 sur une de ses interfaces sera celle du host)

Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] par défaut, pressez "Entrer"
-> The subnet 192.168.254.0/255.255.255.0 appears to be unused.
-> vmnet8 is a NAT network on private subnet 192.168.254.0.

Do you wish to configure another NAT network? (yes/no) [no] par défaut, pressez "Entrer"
(Inutile d'en faire trop...)

Do you want to be able to use host-only networking in your virtual machines? [yes] par défaut, pressez "Entrer"
-> Configuring a host-only network for vmnet1.
(c'est toujours bon à prendre, un réseau interne entre les machines virtuelles hébergées)

Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] par défaut, pressez "Entrer"
-> Ca trouve une adresse pour lv vmnet1

Do you wish to configure another host-only network? (yes/no) [no] par défaut, pressez "Entrer"
(Inutile d'en faire trop...)

Ps : Dans la configuration de chaque machine virtuelle, ces interfaces vmnet0, vmnet1 et vmnet8 seront disponibles individuellement où en multi-homing. C'est pourquoi, il faut doter le host de ses 3 possibilités minimum dès le départ, même si ultérieurement, il est possible de relancer le /usr/bin/vmware-config.pl pour "dopper" les possibilités.

Please specify a port for remote console connections to use [902] par défaut, pressez "Entrer"
(sauf si vous souhaitez que la console communique sur un port moins identifiable... auquel cas, lors du lancement de la console, il faudra indiquer l'ip du host vmware suivi de ":" + "n° du port choisi".

In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines]
ou sinon entrer :
-> /var/VMware ou directement /VMware

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 "Entrer". Dans la page de téléchargement, un lien est proposé pour faire la demande des licences gratuites.


La configuration s'achève :
Starting VMware services:
   Virtual machine monitor                                                   done
   Virtual ethernet                                                                  done
   Bridged networking on /dev/vmnet0                              done
   Host-only networking on /dev/vmnet1 (background)  done
   Host-only networking on /dev/vmnet8 (background)  done
   NAT service on /dev/vmnet8                                           done

The configuration of VMware Server 1.0.4 build-56528 for Linux for this running
kernel completed successfully.


Vérification :
Vous pouvez vérifier que le host tourne correctement  :
->  /etc/init.d/vmware status

Vous pouvez vérifier que le host répond bien sur la port de la console VMware (902 par défaut) :
-> netstat -laputen | grep 902

Si le résultat de vwmare status est positif, que le parefeu est inactif et que le port 902 n'est pas à l'écoute, il est conseillé simplement de redémarrer le serveur.


Utilisations :
Lancer la console VMware Windows ou linux (pour un environnement desktop) téléchargeable gratuitement au même endroit que le VMware Server. (cf le centre de téléchargement du Serveur gratuit VMware)

Profiter pour charger le VMware Converter, qui gratuitement toujours vous permettra de créer vos premiers serveurs virtuels à partir de serveurs physiques Windows existants (n'existe pas pour convertir des serveurs physique linux).

Création d'un accès Ftp ou Samba, pour transférer les images converties dans /var/VMware. (perso, je préfére le ftp qui gére directement le système d'autorisations linux, ou un client "retrospect " qui permet de sauvegarder, dupliquer ou restaurer en live des images VM, d'un serveur à un autre).

Création de machines virtuelles directement à partir de la console.


Précaution 1 :
Les machines virtuelles peuvent utiliser selon leur paramètrage :
- soit le lecteur CD/DVD rom du serveur VMware
- soit le lecteur CD/DVD rom de la machine sur laquelle s'execute la console

Dans le premier cas, le lecteur CD/DVD sert à la fois pour le host VMware que pour les machines virtuelles qu'il héberge. Il est donc prudent qu'en cas de reboot du host, le CD/DVD ne soit pas en priorité.

Donc aller dans le bios du host (setup au démarrage), et mettre le disque local en priorité de boot.


Précaution 2 :
Désactivation de l'unité de disquette :
pico /etc/fstab et mise en commentaire de la ligne :
#/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0


Problème sur la virtualisation du port Usb :
voici traduit ce que l'on peut lire sur le site de VMware :

Des distribution linux récentes ne montent pas USBFS to /proc/bus/usb. Les virtuals machines hébergées utilisent cela pour détecter les périphériques USB plugués sur le host.

Solution :

Pour contourner ce problème, monter USBFS to /proc/bus/usb

Pour réaliser cela pendant que le host tourne, passer la commande suivante sous root :

"mount -t usbfs none /proc/bus/usb

Il faut alors rebooter les machines virtuelles pour qu'elles accèdent alors au périphérique USB.

Pour que le montage de USBFS se fasse automatiquement au démarrage, il faut ajouter la ligne suivante dans /etc/fstab

usbfs  /proc/bus/usb  usbfs  auto  0  0

Si cette ligne existait déjà dans /etc/fstab, il se peut qu'elle est l'option "noauto" fixée à la place de "auto. Mettre "auto".

Un certain nombre de distribution linux sont connus pour ne pas monter automatiquement USBFS :

- Ubuntu Linux 6.06
- SUSE Linux 10.1
- SUSE Enterprise Linux Server 10
- Mandriva Linux 2006
- SLES9 SP3 64 bit

Note : Ce problème ne concerne ces système d'exploitation que s'ils sont utilisés comme support au host VMware. Dans les autres cas, ça ne pose pas de problèmes.


Problème lors du lancement d'une machine virtuelle (1) :
S'il y a un quelconque problème lors du lancement d'une machine virtuelle, il faut consulter les logs :
/tmp/vmware-user (si user = administrateur -> /tmp/vmware-administrateur)
/var/log/vmware.

Notamment sur la console pouvons avoir un message du type :
"the process exited with an error. End of error message"

Dans /var/log/vmware, ça se traduit :
"Error during launch: 11, The process exited with an error."

Et dans /tmp/vmware-user :
"Directory "/home/user/.vmware" is not accessible: Permission denied."
"Cannot proceed without directory "~/.vmware". It is needed to store user preferences."

Conclusion : ce type de problème est lié à un problème de permissions (confirmé par la lecture de forum sur le sujet). Si la console est lancée sous "administrateur", il faut s'assurer que administrateur ait bien les droits en lecture/ecriture/accès sur les répertoires :
- de stockage des VM (dans notre cas /VMware)
- /home/administrateur.


Problème lors du lancement d'une machine virtuelle (2) :

Nous avons le message console : "the process exited with an error. End of error message"

Dans les logs, nous constatons que le "vmmon module" (Virtual machine monitor) et le "vmnet module" (Virtual ethernet ) posent problème. Malgré le fait que la console se connecte sur le port 902, que nous puissions créer une machine virtuelle, modifier une VM, etc.... il se peut que VMware ne soit pas lancé !

Donc, faire un etc/init.d/vmware start sous root (sudo)... puis lancer à nouveau la machine virtuelle à partir de la console.



Environnement :
Pour contrôler aisément le serveur, il peut être intéressant d'installer :
- aptitude install openssh-server pour contrôler à distance le paramètrage et l'activité du serveur.
- un serveur ftp (aptitude install vsftpd) pour faire transiter les VM, les sauvegardes, les .iso, les installateurs, etc...
- un répertoire proche ou dans /VMware afin d'y stocker les images .iso des CD d'installation.


Désinstallation de VMware :
sh /etc/vmware/installer.sh uninstall ou /usr/bin/vmware-uninstall.pl
puis supprimer les répertoires :
/var/log/vmware,
/etc/vmware,

et faire un reboot avant toute réinstallation. -> Suppression des tmp, arrêt d'interfaces réseau "virtuelles", qui peuvent empêcher une éventuelle réinstallation de VMware.

Source : http://www.taltan.fr/post/2006/10/13/43-installation-et-utilisation-de-vmware-server-101-sur-ubuntu-606

Dernière modification : 02/01/09




Par madoc - Publié dans : VMWare
Ecrire un commentaire - Voir les 3 commentaires - Recommander
 
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus