Outils pour utilisateurs

Outils du site


install_vmware_server_opensuse

Installation de VMware Server et d'un Linux "invité"

⇒ ou: comment avoir plusieurs OS qui s'exécutent en même temps sur le même ordinateur…

⇒ ou encore: VMware Server: quel pied!

[testé sur opensuse 10.2 et 10.3, y compris 10.3-x86_64]

Objectif

Mon objectif: je veux tout !

  • 1- pouvoir travailler avec d'autres OS, sans risque pour l'OS de base, ni pendant leur installation, ni après.
  • 2- pouvoir faire des essais risqués sur des OS installés pour ça, sans risque pour l'OS de base
  • 3- avoir un serveur web “lamp” sécurisé sur un linux dédié (=un linux qui ne fait que ça), en plus de mon OS de base (graphique) que je veux pouvoir continuer à utiliser normalement.
  • et je ne veux pas acheter un ordinateur supplémentaire pour cela!!!


Mais si c'est possible: solution ci-dessous!

Principe de solution

Solution visée:

  • Installation de “VMware Server”
  • + installation des machines virtuelles et des OS souhaités, dont une suse “texte” pour faire le serveur web

Ici, j'ai choisi “VMware Server” qui est gratuit depuis mi-2006. Il existe d'autres solutions qui ont toutes leurs avantages et leurs inconvénients: Xen, openVZ, virtualbox, etc… L'avantage de VMware Server est qu'on ne modifie pas les distributions. Ainsi, rien n'empêche d'installer ubuntu comme OS invité. En contrepartie, il faut rester dans la liste des distributions validées par VMware, ou … avoir le goût de l'aventure (la suse 10.2 n'est pas encore dans la liste, mais debian etch non plus, ni centos 5 et pourtant, tout cela fonctionne très bien!!)…

Préparation de la machine d'accueil

Avant d'implanter VMware Server, les machines virtuelles et les OS invités, vous devez vous poser une question simple: où est-ce que je vais mettre tout ça?

Si vous ne faites rien et que vous acceptez les paramètres par défaut de VMware Server, alors, les machines virtuelles et leurs OS se retrouveront dans le répertoire /var, donc en général dans la partition système.

Si vous avez prévu 20 Go pour votre partition système, vous n'irez pas très loin (1 OS de 5Go à titre d'essai?), mais cela peut suffire pour un serveur web avec un OS sans graphique par exemple.

Par ailleurs, vous avez un grand avantage à installer vos OS invités dans une partition séparée: ne pas avoir à les réinstaller en cas de réinstallation de l'OS hôte (voir plus loin)!

Je vous propose, si vous voulez implanter plusieurs OS, de réserver une partition à cela. Par exemple, j'ai réservé la partition /dev/sda5 de 100Go formatée ext3.

  • création du répertoire /osvirtuels dans l'arborescence (en console sous root)
# mkdir /osvirtuels
  • montage de la partition sur ce répertoire avec la ligne suivante dans fstab:
/dev/sda5   /osvirtuels   ext3   acl,user_xattr    0 0
  • et prise en compte de cette ligne par “mount -a” ou par reboot

Ce faisant, il ne faudra pas oublier, dans le dialogue de configuration du VMware Server, de dire que les machines virtuelles doivent être dans /osvirtuels et pas ailleurs.

Téléchargement de "VMware Server"

“VMware Server” est téléchargeable gratuitement, mais il faut s'enregister pour obtenir un code à rentrer pendant l'installation (sans lequel ça ne marche pas).

Site de téléchargement: http://register.vmware.com/content/download.html

Vous voyez que vous avez accès à une version du serveur vmware pour windows et une autre pour linux: téléchargez tout!

Pour le serveur VMware linux, vous pouvez choisir d'installer:

  • la version rpm: VMware-server-1.0.4-56528.i386.rpm
  • ou la version à compiler: VMware-server-1.0.4-56528.tar.gz

Il existe aussi une “console VMware” destinée aux machines qui n'ont pas de VMware Server, mais qu'on veut utiliser comme machine cliente (pour les machines ayant un serveur VMware: la console VMware est déjà présente):

  • VMware-server-win32-client-1.0.4-56528.zip pour windows
  • VMware-server-linux-client-1.0.4-56528.zip pour linux

Installation de "VMware Server"

Vous pouvez installer VMware Server avec un package “rpm” ou directement avec les sources et une compilation. J'ai essayé les 2 sur ma suse 10.2, et les 2 fonctionnent.

Préparation de la compilation

Même si vous avez choisi d'installer le rpm, il y aura de la compilation pour la configuration dans tous les cas.

Pour préparer la compilation des modules, il faut installer les paquets suivants avec yast:

  • gcc
  • make (déjà présent en général)
  • binutils (déjà présent en général)
  • kernet-source
  • kernel-syms (optionnel: ça ajoute des possibilités de vérif ultérieure sur les modules compilés)

Laissez faire yast: s'il manque quelque chose pour “satisfaire les dépendances”, il chargera ce qui lui manque!

Installation de la version "rpm"

Avec konqueror sous root, sélectionnez le rpm, clic droit et… voyez si vous avez un programme d'installation de package qui accepte de l'installer.

Sinon, avec une console sous root, et dans le répertoire qui contient le rpm, faites (rappelez-vous que la touche [tab] vous évite de tout écrire!):

rpm  -Uvh  VMware-server-1.0.4-56528.i386.rpm

Installation de la version "source"

Créez sous root un répertoire provisoire dans l'arborescence, par exemple, /chemin.

Avec konqueror en mode root, sélectionnez le fichier VMware-server-1.0.4-56528.tar.gz, puis clic droit → ouvrir avec “Ark”. Demander à Ark d'extraire l'archive dans le répertoire de travail /chemin.

Placez-vous dans le répertoire ainsi créé /chemin/vmware-server-distrib, et ouvrez une console sous root. Lancer le programme d'installation par:

# ./vmware-install.pl

Vous pouvez consulter le dialogue de la console que j'ai eu ici: http://linux.jpvweb.com/documents/vmware/compilvmware.txt.

Répondez aux questions par la touche “enter” car les réponses par défaut sont Ok!

Post-installation du serveur VMware

Avec l'option “source”, le programme d'installation enchaine (en vous posant la question) sur le programme de configuration.

Si par contre vous avez choisi le rpm, vous devrez lancer le programme de configuration en console, mais comme celui-ci va compiler 2 modules (vmmon et vmnet), vous devez avant avoir installé les packages nécessaires à la compilation comme suggéré plus haut.

il faut ensuite lancer dans une console sous root:

# /usr/bin/vmware-config.pl

Vous pouvez consulter le dialogue de la console que j'ai eu ici: http://linux.jpvweb.com/documents/vmware/configvmware.txt.

Je n'ai pas changé grand-chose par rapport aux propositions par défaut, à part ceci:

  • je remplace la proposition “/var/lib/vmware/Virtual Machines” par “/osvirtuels”, répertoire créé qui est monté sur une partition dédiée (voir plus haut).
  • Je répond “no” à la question concernant l'utilisation de NAT pour le réseau. Je préfère que chaque OS invité dispose d'une adresse IP locale séparée, et c'est mon routeur-passerelle qui utilise NAT pour accéder à internet. Par ailleurs, comme je veux avoir comme OS invité un serveur web branché sur le DMZ du routeur, il me faut une adresse IP locale fixe. C'est d'ailleurs étonnant de voir après que mon routeur détecte tous les OS invités comme autant de PC différents dans mon réseau local!

Vous notez soigneusement le numéro de port qu'il vous a affecté pour accéder à distance à vos machines virtuelles avec la console vmware. Chez moi, il a trouvé que “902” était déjà pris (???) et m'a proposé “904” que j'ai accepté. En ouvrant un accès à distance par une console VMware, il faudra donner l'adresse de la machine hôte comme suit (par exemple): 192.168.0.200:904 (cas d'un réseau local). Et, bien sûr, ouvrir le port correspondant en entrée si vous devez traverser un parefeu.

Et vous devez entrer le numéro de série qui vous a été donné pendant l'enregistrement sur le site de VMware.

C'est fini!

Sachez que par la suite, vous pouvez relancer ce programme de configuration autant de fois que vous voulez pour changer les paramètres.

En particulier, il faudra le refaire à chaque changement de noyau!

Affecter une partition dédiée aux futures machines virtuelles

Si vous avez mis vos machines virtuelles dans une partition séparée pointée par /osvirtuels comme je vous l'ai proposé plus haut, ça va, mais si vous ne l'avez pas fait, et que vous n'avez plus assez de place, vous devez déplacer vos machines virtuelles.

Prenons l'exemple suivant: vos machines virtuelles sont dans la partition racine dans /var/lib/vmware, et vous voulez les mettre dans la partition /dev/sda5 formatée ext3.

Arrêtez vos OS invités.

Faites un montage provisoire (en console sous root) et copiez “proprement” tout ce qui se trouve dans /var/lib/vmware:

# mkdir /provis
# mount  -t  ext3  /dev/sda5  /provis
# cp  -a  /var/lib/vmware/*  /provis

Surtout, n'oubliez pas l'option “-a” de cp, et ne copiez pas par konqueror, et encore moins par copier-coller. Seul “cp -a” conserve tous les droits d'accès. En particulier, le répertoire “Virtual Machines” a un chmod de 777 et surtout un “sticky bit” qui doivent absolument être transmis par la copie.

Démontez ensuite et effacez /provis:

# cd /
# umount /provis
# rmdir /provis

Ajoutez (avec un éditeur sous root) la ligne suivante dans fstab (vous adaptez l'adresse de la partition et le formatage):

/dev/sda5    /var/lib/vmware   ext3    acl,user_xattr        0 0

et faites en console sous root (ou rebootez):

# mount -a

C'est fait: désormais, tout ce qui sera géré dans /var/lib/vmware, donc les machines virtuelles et les OS invités, sera physiquement dans la partition dédiée /dev/sda5.

Création d'une nouvelle machine virtuelle

Pour KDE, la console vmware à utiliser, est dans le menu K: “système → plus de programmes”.

Les copies d'écran qui suivent sont dans une fenêtre windows parce que je fais tout à distance à partir d'une machine windows équipée d'une console VMware, mais le VMware Server est bien sur la suse 10.2 de ma machine linux.

Au lancement de cette console, vous pouvez choisir d'accéder à des machines virtuelles sur la machine elle-même (local host) ou sur d'autres machines (remote host):

  • Si vous êtes sur la machine qui porte le serveur vmware, choisissez “local host”.
  • Si vous accédez à distance, choisissez “remote host”. Il vous sera demandé alors l'adresse de la machine serveur avec le bon port d'accès (par ex: 192.168.0.200:904) ainsi que votre login et mot de passe (si parefeu à franchir: ouvrir le port 904 dans cet exemple). Pour ma part, j'ai essayé de tout faire avec une console vmware à distance à partir de Windows, et ça s'est très bien passé!

Vous avez accès à la configuration du “host” (le serveur vmware de votre suse actuelle) par le bouton “Edit host settings”. Si les changements que vous souhaitez vous sont refusés parce que vous n'avez pas une permission suffisante, relancez la console vmware “sous root” et procédez aux changements. Sortez ensuite de cette console sous root pour la suite. J'ai rencontré ce problème au début, mais plus maintenant.

Vous pouvez aussi accéder aux préférences de la console (Edit → Preferences).

Avant d'installer un OS “invité”, vous devez créer une nouvelle “machine virtuelle” qui sera une sorte de “coquille d'accueil”, ou un “faux PC” pour cet OS invité.

Cliquez sur le bouton: “Create a new virtual machine”.

⇒Ouverture de l'assistant

  • 1ère fenêtre de l'assistant → faites next
  • Fenêtre: Virtual machine configuration → je choisis “Custom” (= plus de choix) → next
  • Fenêtre: Select a Guest operating system → linux → Suse linux → next
  • Fenêtre: Name the Virtual Machine → Je choisis Name=“serveur” (je suis en train d'installer mon serveur web) et l'emplacement me convient (/var/lib/vmware/virtualmachines/serveur) → next
  • Fenêtre: Processor configuration → 2 processeurs car j'ai un dual core (si vous vous trompez, il proteste) → next
  • Fenêtre: Set Access Rights → laissez la case cochée : cela veut dire que seul votre login permettra d'accéder à la machine virtuelle → next
  • Fenêtre: Memory → mémoire RAM qui sera affectée: je prend en général 512Mo. c'est selon votre mémoire RAM totale et ce que vous prévoyez comme activités → next
  • Fenêtre: Network Connection → je choisis “Use bridged networking” pour que mon OS invité ait un accès direct (simulé) avec une adresse IP locale particulière. → next
  • Fenêtre I/O Adapter Types → laissez ce qui est proposé par défaut (LSI Logic pour moi) → next
  • Fenêtre: Select a disk → je choisis “Create a new virtual disk” → next
  • Fenêtre: Select a Disk Type → SCSI → next
  • Fenêtre: Specify Disk Capacity → j'ai mis 20Go pour mon serveur. Pour “Allocate all disk space now”, j'ai laissé coché: ça me consommera 20Go dès le début, mais ça va accélérer les lectures-écritures. Si vous voulez créer plusieurs machines virtuelles et que votre partition est limitée en taille, décochez la case. Laissez coché “Split disk into 2Gb files”: ça veut dire que les 20Go seront en fait décomposés en 10 fichiers de 2Go. → next
  • Fenêtre: Specify Disk File → laissez la proposition faites → Finish

⇒Le disque virtuel de 20Go est créé dans /var/lib/vmware/virtuelmachines/serveur qui se trouve physiquement dans la partition sda5 si vous avez fait le montage proposé plus haut. Ça prend quelques minutes…

⇒ Fin de l'assistant

Par la suite, j'ai rencontré beaucoup de difficultés avec le clavier qui restait qwerty dans la console vmware, quelque soit la config de la suse host et de la suse invitée. J'ai donc trouvé comment forcer le clavier français. Il suffit d'ajouter au fichier /home/votrelogin/.vmware/preferences la ligne suivante:

xkeymap.language = "fr104"

Ce qui veut dire “clavier français à 104 touches”

A noter que les claviers vmware (y compris le “fr104”) sont dans /usr/lib/vmware/xkeymap du linux hôte. Et comme ce sont des fichiers “texte”, vous pouvez y apporter des modifs (je pense aux amis francophones non français).

Voilà, la machine virtuelle nécessaire pour accueillir l'OS invité est maintenant installée.

Avant de lancer l'installation, je vous suggère quelques modif de configuration de cette machine virtuelle.

On prend l'onglet de la machine virtuelle qu'on vient de créer, et on clique sur le bouton “Edit virtual machine settings” → nouvelle fenêtre.

Si vous voulez installer la suse directement à partir de l'image iso du DVD, ce que je vous conseille, vous prenez la ligne CD-ROM, vous cochez “Use ISO image” et vous pointez avec “browse” sur l'image iso que vous devez avoir dans votre arborescence du linux hôte. Faire comme cela vous permettra aussi par la suite d'avoir cette même image iso comme source de rpm pour yast, et même de partager cette source par plusieurs OS invités (si ce sont les mêmes suse bien sûr). Vous noterez aussi que cette image iso ne prend de la place que dans la suse hôte et pas dans les suse invitées.

A noter que vous pourrez toujours accéder à votre lecteur CD-ROM physique, mais il vous faudra créez un autre lecteur (physique cette fois-ci). Cette création se fait avec l'OS invité arrêté.

Je vous conseille aussi de décocher la connexion au floppy pour éviter les messages d'erreur (que vous aurez à chaque reboot si vous n'avez pas de disquette dedans).

Vous pouvez demander aussi la transmission de l'USB, ainsi que la transmission de l'audio.

Enfin, vous pouvez faire en sorte que votre OS invité soit automatiquement démarré à chaque fois que l'OS hôte boote. Cela me semble intéressant, en particulier pour un serveur web.

Le reste est Ok pour moi: vérifiez si ça vous convient aussi.

Installation d'une suse v 10.2 dans la machine virtuelle

Pour lancer l'installation, il vous faudra cliquez sur le bouton: “Power on this virtual machine”, mais qu'est-ce qui va se passer?

Et bien votre dvd d'installation (virtuel ou physique) va booter, et va présenter le menu d'installation.

Au tout début du boot, un bios virtuel pourra même être appelé par [F2] pour changer, par exemple, l'ordre de boot.

NB1: concernant le lancement de la configuration du bios par [F2]: n'oubliez pas qu'il faut d'abord cliquer dans l'écran de la console avant de faire [F2], sinon, la machine virtuelle ne vous écoute pas!

NB2: concernant l'ordre de boot: par défaut, le lecteur cd n'est pas en 1er dans l'ordre de boot, mais c'est quand même lui qui démarre lors de l'installation, parce que le disque dur virtuel n'a rien dessus. Après l'installation, vous n'avez donc rien à faire pour que ce soit le disque dur qui démarre. Par contre, si par exemple vous voulez booter sur un live-cd (knoppix par exemple) pour dépanner votre OS invité, vous pouvez mettre provisoirement le lecteur cd en 1er dans l'ordre de boot!

Pour switcher le clavier et la souris entre l'écran normal et l'écran de la console, c'est facile:

  • si vous cliquez dans l'écran de la console, la souris et les touches du clavier seront reçues par l'OS invité
  • si vous faites [Alt]-[Cle], vous récupérer souris et clavier pour la suse “hôte”.

Vous pourrez aussi alterner le “plein écran” pour l'OS hôte ou pour l'OS invité avec [Alt]-[Cle]-[Entrée]

Alors, allez-y: lancez l'installation, en cliquant sur le bouton “Power on this virtual machine”.

L'installation se déroule normalement à part les particularités suivantes:

  • partitionnement: le seul disque accessible est le disque virtuel créé pour la machine virtuelle (20Go dans mon exemple). Il vous est proposé un partitionnent par défaut. Si vous voulez définir votre partitionnement personnalisé, vous faites comme d'habitude:
    • onglet “expert”
    • cliquez sur le titre “Partitionnement”
    • cochez “Créez une configuration de partitionnement personnalisé
    • cochez “Partitionnement personnalisé (pour expert)”
    • Et vous y êtes.
  • Amorce de boot: au début du disque virtuel: n'ayez pas peur, il ne touchera pas le vrai disque dur!

Le reste est conforme à une installation normale.

Image de la console vmware pour la Suse 10.1 texte:

Image de la console vmware avec la Suse 10.1 KDE:

Image de la console vmware en plein écran (ici un 1680×1050) avec une suse 10.2 KDE et avec, en fond d'écran, l'écureuil de mon jardin en train de manger mes noisettes (le voyou…)!

J'insiste: c'est le mode plein écran de la console VMware. Pourtant, lors de la copie d'écran, j'étais sous Windows XP, et non seulement la suse était pleinement opérationnelle, mais elle aurait pu se trouver n'importe où dans le réseau: commencez-vous à saisir les possibilités de la virtualisation?

Pendant que j'y étais, j'en ai installé d'autres:

Image de la console vmware avec Ubuntu 6.10:

Image de la console vmware avec Mandriva 2006:

Image de la console vmware avec Sun Solaris v 10:

Image de la console vmware avec debian 3.1 Sarge, avec noyau 2.6 et option KDE:

Une chose étonnante concernant mon essai de debian 3.1 Sarge. Après avoir réussi l'installation sous VMware server, j'ai voulu l'installer “en vrai” comme OS normal, et j'ai eu la surprise de constater qu'il ne reconnaissait ni ma carte réseau, ni aucun de mes disques (ni sata, ni ide). Ça veut dire quoi? Que grâce à VMware Server, vous pouvez essayer des OS incompatibles avec votre hardware! Intéressant, non?

Quelque chose que je n'avais pas vu tout de suite: on peut lancer un live cd sans l'avoir gravé, à partir de son image iso!. Quel intérêt? Et bien pour dépanner l'OS invité dans lequel, par exemple, vous avez fait une bétise dans le fichier fstab qui empêche l'OS de démarrer. Avec un live-cd, vous pouvez intervenir pour corriger le fichier sans que l'OS ne soit en fonctionnement!

Par exemple, image de la console vmware avec le livecd-installer de gentoo 2006.1 (gnome):

J'ai aussi installé dans la foulée (mais je n'ai pas gardé d'image écran):

  • un vieux windows 98 SE: ça marche!
  • un FreeBSD 6.1: comme je suis têtu, j'ai fini par y arriver. Côté VMware, c'est Ok, mais côté OS, c'est bien compliqué…
  • un CentOS, clône de “Red Hat Entreprise Server 4” (mais il faut demander “ide” et pas “scsi” pour le disque virtuel, sinon ça ne marche pas)

Un point cependant: il arrive qu'après l'installation de la suse 10.1 comme OS invité, yast refuse de reconnaître comme source le dvd virtuel qui pointe sur l'image iso du dvd d'install. En fait, il suffit de monter ce dvd. Si la suse invitée le voit en /dev/hdc (par exemple), il faut créer le répertoire /media/dvdinstall par:

# mkdir /media/dvdinstall

et ajouter dans le fichier /etc/fstab la ligne:

/dev/hdc   /media/dvdinstall   iso9660   ro,users   0 0

En principe il faudrait faire “mount -a” (en console sous root) pour que la ligne soit prise en compte, mais ça n'a pas marché chez moi: rebootez votre OS invité!

Et yast devrait avoir pris en compte votre image iso comme source pour l'installation de nouveaux programmes.

Dernier point (pour l'instant): vous allez redécouvrir les joies de la défragmentation que vous aviez perdu en travaillant sur linux. Pour cela:

  • arrêtez l'OS invité,
  • accédez au programme de configuration de la machine virtuelle (dans la console vmware),
  • cliquez sur la ligne du disque dur virtuel
  • et demandez la défragmentation

Cas particulier: installation sur de vraies partitions d'un disque physique

Comme j'ai galéré un moment avant de réussir, je vais vous faire gagner du temps.

Attention: les difficultés que j'ai rencontrées viennent peut-être du fait que j'utilise la suse 10.2 comme OS hôte, ce qui n'est pas (encore) homologué par VMware!

Je voulais installer une 2ème suse graphique “invitée” sur de vraies partitions du disque physique, afin d'accélérer les lectures/écritures sur le disque.

J'ai donc créé avec la suse hôte les partitions qu'il me fallait sur le disque: sda6=2Go pour le swap, et sda7=30Go pour la suse invitée (c'était un essai et j'ai fait simple. mais vous pouvez en faire plus!).

Donc, avec la suse hôte et sous mon login, je démarre la console vmware, et je demande la création d'une machine virtuelle supplémentaire. Suit le dialogue normal (voir plus haut), à part qu'à un moment donné, au lieu d'accepter le choix par défaut de créer un disque virtuel, je coche le choix d'utiliser le disque physique. Et ça coince un peu plus tard: refus parce que je n'ai pas une permission suffisante. Pourquoi? Parce que je travaille avec mon login d'utilisateur normal, et qu'il n'est pas permis à un utilisateur normal de toucher comme ça au disque physique! Et c'est très bien ainsi: imaginez qu'un utilisateur normal désigne les partitions du linux hôte pour installer le linux invité!!!

Et contrairement à ce qui est dit dans la notice, il ne suffit pas de s'inscrire dans le groupe “disk”: dans ce cas, certaines erreurs ne se produisent plus, mais ça ne suffit pas pour aller au bout.

Alors, il faut démarrer la console vmware sous root pour créer la machine virtuelle, et pour installer l'OS invité. Comment j'ai fait? J'ai accédé au menu K jusqu'à la console, puis glisser-déposer sur le bureau. Un petit menu s'affiche et je sélectionne “copier”. j'ai donc une icône sur le bureau pour lancer la console vmware. Ensuite: clic droit sur l'icône → propriétés → onglet “Application”. Je clique sur le bouton “Options avancés”. Je coche la case “Exécutez en tant qu'utilisateur différent” puis je tape “root” dans la ligne de saisie, et c'est tout! Désormais, quand je clique sur l'icône, le mot de passe root m'est demandé et la console vmware est lancée sous root.

Si vous êtes à distance, par exemple sous windows avec la console vmware, c'est encore plus simple, parce que vous êtes de toutes façons obligé d'établir une session avec un login. Donc, donnez comme login “root” et le mot de passe root, et la session s'établit sous root avec la console vmware. Pour la sécurité, n'oubliez pas que la liaison à distance est cryptée SSL!

Je ne détaillerai pas la suite, elle est assez évidente. Il vous faudra choisir les partitions du disque affectée à votre OS invité (sda6 et sda7 dans mon cas), et seules ces partitions seront accessibles en lecture-écriture à l'OS invité.

Il faudra aussi décocher la case qui dit “Make this machine private”. Si vous ne faites pas, vous serez obligé d'ouvrir une session root à chaque fois avec la console vmware pour voir l'OS invité. Et l'OS invité n'apparaîtra pas dans les consoles vmware ouvertes avec un login d'utilisateur normal.

Enfin, Pendant l'installation de l'OS invité (j'ai essayé une suse 10.2 KDE et une 10.1 KDE), il faudra choisir de placer l'amorce de boot sur le MBR, sinon, ça ne bootera pas (erreur 17 de grub). Mais ça ne touchera pas le vrai MBR du vrai disque! Sincèrement, je ne sais pas où ça va, mais ça marche…

Installation des VMware-tools

Sincèrement, je ne sais pas encore à quoi ça sert, mais ils insistent tellement sur la nécessité de l'installer que j'ai essayé. Et sur ma suse 10.1 “texte”, ce n'était vraiment pas facile. De plus, comme plusieurs services sont “graphiques”, je ne suis même pas sûr que ça ait un sens. Cela ne fait rien: au moins, vous saurez le faire…

Dans la console vmware, alors que l'OS invité est en fonctionnement, vous appelez à partir du menu: “installer vmware-tools”.

Avec la suse invitée 10.1 “KDE”, donc graphique, il arrive un nouveau cd virtuel qui s'est monté automatiquement dans /media et qui présente une version “rpm” et une version “source” (tar.gz) du VMware-tools à installer. Prenez le rpm, c'est plus facile. Avec la console sous root dans le répertoire en question /media/VMware-tools, vous faites:

# rpm -Uvh VMware-tools-1.0.2-39867.i386.rpm

et c'est installé (mais pas configuré: voir plus bas!).

Avec la suse 10.1 “texte”, vous avez bien demandé l'installation, mais il ne s'est rien passé et il n'y a rien dans /media. Voici comment le récupérer quand même.

Sur la suse “hôte”, le VMware-tools se trouve sous forme de fichier image “iso” dans le répertoire /usr/lib/vmware/isoimages. L'image qui nous intéresse ici s'appelle “linux.iso”.

Comment y accéder? il faut faire ce qui suit:

  • dans la console vmware, arrétez la suse invitée.
  • Avec le programme de paramétrage, créez un cd virtuel supplémentaire, et faites-le pointer sur l'image iso
  • redémarrez la suse invitée
  • pour monter le nouveau cd, il faut savoir comment la suse invitée le voit (adresse /dev). Pour cela, notez le numéro de bus du cd-rom dans les paramètres de la suse invitée (IDE 0:0 par exemple). Si l'adresse (comme /dev/hda) n'apparait pas, regarder avec yast → matériel → infos sur le matériel: le bon cd-rom avec la bonne adresse de bus (IDE 0:0) vous donnera la bonne adresse dev (/dev/hda par exemple).
  • Vous montez ensuite le cd en console sous root:
# mkdir /media/cdrom00
# mount -t iso9660 -o ro,users /dev/hda  /media/cdrom00
  • Et vous pouvez enfin installer le rpm, visible dans /media/cdrom00.
  • Ouf…

Maintenant, tant pour la suse “texte” que pour la suse “kde”, activez le service vmware-tools dans l'éditeur de niveau d'exécution (yast → système).

Et, toujours pour les 2 suse “texte” et “KDE”, il faut ensuite installer avec yast les rpm nécessaires à la compiltation de modules supplémenaires:

  • gcc
  • make
  • binutils
  • kernel-source
  • kernel-syms

Il faut ensuite lancer le programme de configuration (dans une console sous root):

# /usr/bin/vmware-config-tools.pl

Ce programme va, entre autres, créer par compilation 2 modules supplémentaires: vmhgfs et vmxnet.

Pour vmxnet, il est mentionné dans le dialogue de la console bash comment l'implanter: mais ça n'a pas marché pour moi: Après avoir compilé vmxnet avec satisfaction, il n'a pas réussi à le retrouver pour l'installer avec modprobe. J'ai abandonné pour l'instant.

Avec la suse “KDE”, pour avoir le programme de config (=fenêtre graphique), il faut faire:

# /usr/bin/vmware-toolbox

Il vient alors une fenêtre “VMware Tools Properties” avec plusieurs onglets:

On voit bien une des utiliités en 1ère page: synchroniser l'horloge de l'OS invitée avec l'OS hôte. Cela peut avoir de l'importance pour l'examen des fichiers log.

Il faut lancer la fenêtre “sous root” pour accéder à toutes les fonctionnalités des autres onglets.

Je n'ai pas encore creusé tout ce que ça faisait, mais j'ai tout de même une certitude concernant ce “VMware-tools”: je peux facilement m'en passer…

Je crois que la fin évidente de ce chapitre est: “à suivre”…

Exploitation

Démarrage, reboot et arrêt des OS invités

  • Vous pouvez démarrer l'OS invité avec la touche “démarrage” de la console vmware.
  • Vous pouvez arrêter votre OS invité avec la touche “arrêt” de la console vmware, ou avec “halt” ou “shutdown -h now” en console sous root de l'OS invité.
  • Vous pouvez rebooter l'OS invité avec la touche “reset” de la console vmware, ou avec “reboot” ou “shutdown -r now” en console sous root de l'OS invité.
  • La fermeture de la console vmware n'arrête pas les OS qui étaient actifs avant.

Pour switcher le clavier et la souris entre l'écran normal et l'écran de la console vmware

  • si vous cliquez dans l'écran de la console, la souris et les touches du clavier seront reçues par l'OS invité
  • si vous faites [Alt]-[Cle], vous récupérez souris et clavier pour l'OS “hôte”.

Pour avoir l'OS invitée en plein écran

  • Vous pouvez alterner le “plein écran” pour l'OS hôte ou pour l'OS invité avec [Alt]-[Cle]-[Entrée]
  • Et c'est d'ailleurs une bonne méthode pour accélérer l'OS invité que d'y accéder en plein écran.

Corrections pour avoir la bonne définition d'écran

Avec certaines distribution linux placées en OS invité, , il arrive que même en configurant leur serveur X selon les bonnes règles, on n'arrive pas à obtenir la bonne définition d'écran, ce qui est génant si on veut le plein écran dans la console VMware, parce que les caractères et les images de l'écran sont déformés.

Il y a une solution: apporter des corrections dans la machine virtuelle elle-même.

Dans l'OS hôte, naviguez dans les fichiers pour atteindre l'endroit où est stocké physiquement l'OS invité dans sa machine virtuelle. Par exemple, si vous avez mis vos machines virtuelles dans /osvirtuels et si l'OS invité s'appelle “suse102” (très original), alors vous vous placez dans /osvirtuels/suse102. Avec Windows comme OS hôte, cela donnerait de la même façon: c:\osvirtuels\suse102.

Mode opératoire:

- vous arrêtez l'OS invité en question

- vous éditez le fichier qui se termine par ”.vmx“, et vous ajouter dans ce fichier les lignes suivantes (je prend l'exemple d'un écran 1680×1050 “vraies couleurs” (32bits)):

svga.maxWith = "1680"
svga.maxHeight = "1050"
svga.vramSize = "7056000"

Pourquoi le “7056000”? Parce qu'on fixe un “maxColorDepth” égal à:

1 octet si la profondeur de couleur est de 256 couleurs
2 octets si la profondeur de couleur est de 16bits (Hight color)
4 octets si la profondeur de couleur est de 32bits (True color)

Avec cela, on a:

svga.vramSize = svga.maxWith x svga.maxHeight x maxColorDepth

Et on trouve bien:

svga.vramSize = 1680 x 1050 x 4 = 7056000

Si vous avez des problèmes de souris, vous pouvez essayer de mettre dans le même fichier:

vmmouse.present = "FALSE"

- vous redémarrez l'OS invité correspondant au modifs que vous venez de faire

- et vous installez, si ce n'est pas déjà fait, les VMware-tools (voilà au moins une de ses fonctions utile…).

Pour info, si Windows XP est placé en OS invité et que son OS hôte dispose de l'accélération 3D, alors on peut ajouter l'accélération 3D à Windows en ajoutant dans le même fichier:

mks.enabled3d = "TRUE"

Mais je n'ai pas essayé et ça ne marche pas pour un linux en OS invité :-(

Pour en connaitre plus sur ce genre d'astuces: voir le site de VMware: il y a une base de connaissances, des articles techniques et un forum avec pleins de choses dedans (en anglais).

Accès à distance des OS invités

Vous pouvez accéder à distance directement à votre OS invité par VNC, sans passer par l'OS hôte! C'est rapide et tout fonctionne parfaitement! Cela nécessite, bien sûr:

  • que l'OS invité soit un OS “graphique” supportant l'accès à distance VNC (l'opensuse 10.2 KDE va très bien),
  • ait une adresse IP indépendante de l'OS hôte (bridgée),
  • et que vous ayez configuré vnc dans xinetd (voir tuto VNC sur ce site).

En lançant le viewer VNC sur ma machine windows avec l'adresse IP de la suse invitée (par exemple 192.168.0.202:3), j'accède à la page de login (kdm). Après le login, j'ai le bureau KDE en plein écran (si j'ai configuré correctement la définition de l'écran dans le vnc de xinetd)!

FreeNX ainsi que NX de nomachine fonctionnent très bien aussi.

Autres solutions d'accès à distance valable pour l'OS invité non graphique (ma suse 10.1 texte pour le serveur web):

  • la console SSH marche très bien en local comme à distance.
  • les transferts “sftp” utilisant SSH2 marchent très bien aussi (client sftp=filezilla sous windows et gftp sur la suse; serveur sftp=openssh).
  • et, bien sûr, le serveur vsftp avec ses accès chrooté pour la gestion des sites web, qu'on peut d'ailleurs utiliser dans un tunnel SSH.
  • samba est possible aussi, mais déconseillé pour un serveur web en ligne sur internet: il faut dans ce cas maintenir une séparation nette avec le reste du réseau local.

Administration de votre suse 10.1 invitée "texte" pour le serveur web

Si vous avez comme moi installé une suse 10.1 “texte” pour en faire un serveur web, voici quels sont les outils qui vous permettront de configurer et d'administrer sans trop de douleur:

  • yast en mode texte fonctionne très bien:

  • Midnigth Commander (rpm= “mc”) est une sorte de “konqueror” pour la navigation dans l'arborescence. Et si vous ajoutez le package “gpm”, vous avez la souris (si, si!). En plus, il comporte un éditeur plus évident que “vim”, et il peut rentrer dans plein de fichiers type “archive”, y compris, par exemple, dans les rpm ainsi que dans les images iso non montées. C'est vraiment un outil “miracle” pour le travail en console linux.

Réinstallation de l'OS hôte

A la suite d'une opération malheureuse (ça vient de m'arriver…), vous devez réinstaller votre OS hôte (la suse 10.2 dans ce tuto), et vous vous préparez mentalement à réinstaller aussi tous les OS invités.

Et bien, si vous avez eu la sagesse (et la place sur le disque) de mettre vos machines virtuelles et les os invités sur une partition séparée, vous n'aurez pas à réinstaller vos OS invités!!!

Lorsque l'OS hôte sera réinstallé, montez la partition dédiée aux OS invités (dans ce tuto: /osvirtuels qui pointe sur la partition sda5) et installez VMware Server comme plus haut.

Lancez la console vmware, et demandez “ouvrir”: il vient une fenêtre. Naviguez (browse) dans l'arborescence dans /osvirtuels jusqu'à pointer sur le fichier *.vmx de l'OS invité cherché. Validez: ça y est, votre OS hôte a retrouvé votre OS invité!

Conclusion

C'est fait: vous avez plusieurs OS qui fonctionnent en même temps sur votre machine!!!

En tout cas, je peux dire que la solution répond bien à mon objectif initial!

Il restera, bien sûr, à vérifier que les OS invités invités sont bien “étanches” sur le plan sécurité par rapport au linux hôte et au reste du réseau local.

Amusez-vous bien!

install_vmware_server_opensuse.txt · Dernière modification: 2007/12/15 09:53 par tyrtamos

Outils de la page