Attention VMWare Server 2.0.1 est incompatible avec Windows server 2008+. Le problème est connu et a été corrigé dans ESX Server 4+ mais pas dans VMWare Server. Donc à oublier ! Vous pouvez passer à Microsoft HyperV R2 qui est gratuit et contient également un firewall type iptables (ce qui n'est pas le cas de la version gratuite d'ESX Server).

Modifier

Aperçu

Dans le même esprit que mon billet monter un serveur dédié Windows Server avec une licence déjà acquise par ailleurs via virtualisation VMWare, voici un second billet pour une licence Windows Server 2008 64 bits.


Modifier

Etat des lieux

Dans mon précédent billet j'explique mon choix du host et je n'y reviens pas ici : un linux debian 64 bits (version 5, nom de code "Lenny") avec un kernel dernière version officielle OVH recompilé (pas de netboot).
Je suppose qu'on part de cette environnement.


L'hyperviseur choisi est vmware server (2.0.1 x64) en raison des contraintes lié à la non possession physique du serveur et à la disponibilité des drivers matériels pour les hyperviseurs autonomes (sans OS host) type ESX.

J'ai bien eu des fonctionnements étrange (lenteurs extrême des guests) au démarrage de vmware server - lorsqu'il démarre les machines virtuelles - alors je la tentation de tester un windows server 2008 core avec Hyper-V en host est grande ... mais nécessite un vkvm compatible ce qui d'après les forums ovh n'est pas le cas aujourd'hui même si certains ont réussi par des moyens détournés.


Modifier

Guest 64 bits et CPU

Un hyperviseur (vmware), pour faire tourner un guest 64 bits, a besoin obligatoirement d'un processeur supportant les instructions hardware de virtualisation en plus d'être lui-même en 64 bits et donc tournant sur un host 64 bits.

Chez Intel et AMD les instructions hardware de virtualisation s'appellent VT ou HV (hardware virtualization) et attention il y en a plusieurs (comme il y a plusieurs SSE) !
Vmware server 2.0.1 supporte les instructions VT et MMU. MMU n'est supporté qu'à partir des AMD Phenom et des core i7 chez Intel. Sur Core 2 duo pas de MMU ... mais instructions VT quand même.
Attention chez AMD il faut un AMD64 révision D ou plus, ou un opterion/turion 64 révision E ou plus.

L'activation des instructions VT améliore aussi les perfomances pour les guests 32bits (sauf exceptions, cf site vmware).


Modifier

Checklist

  • vérifier que le processeur supporte les instructions VT : cat /proc/cpuinfo | grep vmx (pour processeurs INTEL) doit renvoyer une ligne.
  • vérifier que les instructions VT sont activées (dans le bios uniquement). C'est le plus difficile à déterminer. Si c'est désactivé alors l'install de l'os 64 bits plantera avec un message type "votre processeur est 32 bits" et dans l'onglet events de vmware il y aura un message du type "VT n'est pas activé dans le processeur, impossible d'activer la virtualisation 64bits".
  • vérifier que le kernel host est correctement paramétré : supprimer les autres hyperviseurs comme KVM dans le menuconfig du kernel parcequ'ils gardent l'exclusivité des instructions VT et vmware ne peux plus s'en servir (vmware vous le dira explicitement).

Si la checklist est respectée les guest 64 bits fonctionnent.

Tout savoir : cet article de la base de connaissance vmware


Modifier

A oublier

Dans vmware on a envie de cocher "Support VMI Paravirtualization" dans la config de ses machines virtuelles, mais la case est grisée.
Heureusement en fait, car VMI est une "vieille" technologie faite uniquement pour les hosts 32 bits (c'est pour ca que l'option est grisée ici) et qui permettait de virtualiser des guests 32 bits avec moins de perte de perfs.
A oublier donc.
Source: http://kb.vmware.com/selfservice/viewContent.do?externalId=1008170&sliceId=1


Modifier

Configuration du guest

Pour la configuration de l'IP failover sur 2008 par rapport à mon tuto précédent j'ai fait une erreur (oubli du metric). La voici réparée ci-dessous.

Petit rappel: la carte réseau installée par VMWare sur le guest permet d'accéder au réseau interne vmnet1 via une IP (fixe svp) (typiquement 192.168.1.x). La passerelle (gateway) est normalement configurée sur l'ip vmnet1 du host soit 192.168.1.1 et le DNS ... si vous en avez un sur votre host ce qui n'est pas mon cas il reste donc vide.

Pour la config IP Failover, sur le host on commence par suivre exactement la même procédure décrite dans le 1er article.
Sur le guest on ne crée pas de nouvelle carte réseau (type loopback). On ajoute simplement une seconde IP à la carte existante (l'ip failover) avec un masque à 255.255.255.255 et une seconde passerelle: la même que celle du host (route -n sur le host pour voir les gateway), et les mêmes DNS que sur le host.

Pour que ca marche bien, il faut spécifier le "metric" de la passerelle. Priorité à internet : metric = 1 pour la seconde passerelle et metric = 2 pour l'autre.

Et voila ca ping dans les 2 sens...

Points importants