Salut à tous. j’ai récemment travaillé sur le déploiement d’un cluster HYPER-V.
Cet article présente les retours d’expérience et problèmes rencontrées lors du déploiement. Bonne lecture.
Retour d’expérience 1 : architecture logicielle :
La première étape avant même de commencer est de déterminer quels sont les logiciels / serveurs physiques que l’on va pouvoir virtualiser. Certains éditeurs / solutions ne supportent pas la virtualisation ou que partiellement. Oracle par exemple ne supporte pas que l’on virtualise ses serveurs de bases de données avec Vmware ESX ou Hyper-V (seule la solution maison Oracle VM est supportée).
L’article ci dessous liste les applications Microsoft qui peuvent être hébergée sur des serveurs virtualisés :
http://support.microsoft.com/kb/957006/en-us
Attention, si vos logiciels s’appuient sur les fonctions des cartes 3D, passer votre chemin ou attendre le SP1 de Windows 2008 R2 (fin d’année 2010) qui apportera le support de l’accélération 3D.
Pour rappel, la virtualisation des contrôleurs de domaine est supportée. Cependant je vous préconise de conserver un contrôleur de domaine (jouant le rôle d’Emulateur PDC, de serveur de catalogue et de serveur DNS) en tant que serveur physique. HYPER-V a besoin du DNS pour fonctionner correctement. Comme les cluster HYPER-V sont membres du domaine, il faut qu’au moins un DC soit acessible si le cluster redémarre (arrêt électrique).
Retour d’expérience 2 : architecture matérielle
Il faut ensuite définir et valider son architecture matérielle.
Pour bénéficier des fonctions avancées d’Hyper-V, Live Migration (équivalent de VMOTION), haute disponibilité (équivalent de Vmware HA), il faut installer HYPER-V en cluster. HYPER-V se positionne alors en concurrent de Vmware vSphere Advanced.
Cette configuration suppose donc que les machines virtuelles soient hébergées sur un SAN.
Il sera donc nécessaire de valider la compatibilité de votre SAN et de vos serveurs. Pour cela, consuler le Windows Server Catalogue :
http://www.windowsservercatalog.com/svvp.aspx
http://www.windowsservercatalog.com/item.aspx?idItem=fcdc0b4f-2c69-d320-d71b-8d137daea084&bCatID=1282
Lors de la mise en place du cluster, l’assistant de validation se lance.
Pour que le cluster soit supporté et fonctionnel, il faut que cet asssistant n’affiche aucun avertissement ou erreur.
Remarque :
– Pour valider la configuration du cluster, mettre tous les disques (LUN de la baie) OFFLINE. Cela permettra à l’assistant de faire les tests de validation de bascule des disques.
Au niveau de la configuration matérielle, je vous préconise de :
– D’équiper les serveurs Hyper-V avec le maximum de mémoire : Hyper-V ne gère pas les mécanimes de déduplication mémoire (contrairement à Vmware ESX). Si l’on dispose de 16 Go de mémoire, on pourra au mieux lancer 14 VM de 1 Go (en laissant 2 Go pour le système). La fontionnalité de déduplication mémoire sera incluse dans le SP1 de Windows Server 2008 R2.
– D’équiper vos serveurs avec au moins 8 cartes réseaux si vous faites de l’ISCSI.
2 cartes réseaux pour le stockage (MPIO).
2 cartes réseaux pour le Lan (en Teaming).
1 carte réseau pour le HeartBeat.
2 carte réseau pour le CSV (Team).
1 carte réseau pour Live Migration.
– Mettre à jour les BIOS / Firmware de vos serveurs : Windows 2008 R2 est un produit récent. Les serveurs achetés avant la sortie de l’OS ne sont donc pas forcément compatibles. J’ai eu des problèmes de production du fait de serveurs dont la version du BIOS ne supportait pas Windows Server 2008 R2 (carte réseau très longue pour se connecter, erreur avec le Teaming…).
Pour rappel, Microsoft ne supporte pas officiellement le Teaming. J’ai rencontré de nombreux problèmes avec les cartes BROADCOM (même avec le BASP en version 3.0). Avec les cartes Intel, pas de soucis par contre. Pour plus d’informations, voir :
– http://support.microsoft.com/kb/968703/en-us
– http://www.mvug.co.uk/blogs/mvugblog/archive/2009/01/25/ broadcom-nic-teaming-and-hyper-v.aspx
– http://h20000.www2.hp.com/bc/docs/support/ SupportManual/c01663264/c01663264.pdf
– http://poleexpertise.canalblog.com/archives/2009/ 03/11/12927930.html
– http://www.slideshare.net/baudras/techdays-hyper-v-in-depth-v2
– http://www.canalblog.com/tag/posts/Hyper-V/page/8/
– http://www.slideshare.net/baudras/techdays-hyper-v-in-depth-v2
– http://www.microsoft.com/windowsserver2008/en/us/hyperv-faq.aspx
– http://www.mvug.co.uk/blogs/mvugblog/archive/2009/01/25/ broadcom-nic-teaming-and-hyper-v.aspx
– http://www.broadcom.com/support/ethernet_nic/netxtremeii.php
Retour d’expérience 3 : Préparer les noeuds :
Contrairement à Vmware ESX, Microsoft n’intègre pas de pilotes certifiés et spécifiques à Hyper-V.
Si le pilote est certifié Windows Server 2008, ce dernier est supporté par Hyper-V.
Hors pour configurer un noeud, il faut :
– Installer tous les pilotes constructeurs
– Installer tous les logiciels pour gérer le stockage.
– Installer l’antivirus
– Installer solution de sauvegarde.
– …
En production, j’ai rencontré des problèmes avec les outils de stockage NETAPP (Windows Host Update Utility, DSM NETAPP et SNAP DRIVE). Lorsque j’installais tous les composants NETAPP et que j’installais ensuite le rôle Hyper-V, l’installation du rôle Hyper-V échouait. L’installation se relançait trois fois puis un message comme quoi l’installation du rôle HYPER-V avait échoué s’affichait. J’ai finalement utilisé les pilotes de stockage / MPIO natif Microsoft et le problème a disparu. Pour plus d’informations, voir :
http://technet.microsoft.com/fr-fr/library/ee619752(WS.10).aspx
Je préconise donc d’installer en dernier le rôle d’HYPER-V. Cela permet de valider que tout fonctionne bien. Ce qui est étrange, c’est que j’ai appliqué à la lettre les BEST PRACTICE d’installation NETAPP.
Pour la configuration des noeuds, je préconise aussi la lecture des documents suivants :
– http://media.netapp.com/documents/tr-3733.pdf
– http://blogs.netapp.com/msenviro/2010/01/hyper-v-cluster- networking-best-practices-part-two.html
– http://technet.microsoft.com/en-us/library/cc725775.aspx
– http://blogs.netapp.com/msenviro/hyper-v/
– https://support.dell.com/support/edocs/software/ HyperV/en/sov/sova00.pdf
– https://support.dell.com/support/edocs/software/ HyperV/en/ssg/ssga00.pdf
– http://poleexpertise.canalblog.com/archives/2009/ 03/11/12927930.html
– http://h20000.www2.hp.com/bc/docs/support/ SupportManual/c01663264/c01663264.pdf
– http://www.aidanfinn.com/?p=10612
Au niveau de la configuration Windows Server 2008 R2, je préconise de :
– Désactiver UAC, pare feu, IPV6. Cela diminue le niveau de sécurité. Pour les plus expérimentées, dans le cas contraire, il faudra valider que toutes les exceptions nécessaires ont été configurés dans le pare feu.
– Désactiver le RSS et TCP CHIMMNEY en cas de problème réseau. Normalement cela n’est plus nécessaire avec Windows Server 2008 R2. Pour plus d’informations, http://support.microsoft.com/kb/951037/en-us
Retour d’expérience 4 : déploiement du cluster :
Pour déployer le cluster HYPER-V, j’ai appliqué les articles Microsoft suivants :
– http://support.microsoft.com/kb/943984
– http://technet.microsoft.com/fr-fr/library/ee619752(WS.10).aspx
– http://www.microsoft.com/downloads/details.aspx? FamilyId=CD828712-8D1E-45D1-A290-7EDADF1E4E9C&displaylang=en
– http://www.microsoft.com/downloads/details.aspx? FamilyId=89d80c15-0082-4fef-a4fc-fefa463bed08&displaylang=en
– http://social.technet.microsoft.com/wiki/contents/articles/ hyper-v-survival-guide.aspx (pleins de retours d’expérience).
Au niveau du nombre de cluster, éviter les nombres impairs. En effet pour que le cluster reste en ligne, il faut la majorité +1.
Hors avec un cluster trois noeuds la majorité est à 2. Si l’on ajoute un partage témoin ou un disque témoin, la majorité passe à trois. On ne supporte alors que la défaillance d’un noeud ou du disque / partage témoin. C’est donc pire comme configuration. La console cluster affiche justement une alerte comme quoi le mode conseillée pour le quorum est Node majority avec 3 noeuds.
Pour un cluster avec un nombre pair de noeud, le mode conseillée est disque and node majority. Le disque doit faire ua minimum 512 Mo (1 Go conseillé).
Retour d’expérience 5 : Déplacement des machines virtuelles d’un serveur HYPER-V autonome vers un cluster.
Le moins que l’on puisse dire c’est que c’est pas simple. Il faut passer par la fonction d’exportation et d’importation. Vivement un équivalent du “Fichier” | Ouvrir (fichier VMX) de Vmware.
Pire l’exportation vers un emplacement réseau échoue si la machine est en groupe de travail.
Si la machine cible est dans un domaine, il faut appliquer les préconisations de l’article suivant :
– http://support.microsoft.com/kb/2008849
Le plus simple, installer SYSTEM CENTER VIRTUAL MACHINE MANAGER (en version d’évalusation si nécessaire).
Pour plus d’informations :
– http://blogs.technet.com/virtualization/archive/2009/05/29/hyper-v-r2 -import-export-part-6-so-what-happened-to-configuration-only-export.aspx
– http://blogs.msdn.com/virtual_pc_guy/archive/2008/08/26/hyper-v-export- import-part-1.aspx
– http://msmvps.com/blogs/bradley/archive/2008/11/20/hyper-v-tips-and-tricks.aspx
– http://netapptips.com/2010/03/10/microsoft-cluster- failover-validation-network-configuration-troubleshooting/
Retour d’expérience 6 : configuration réseau pour l’ISCSI :
HYPER-V et l’ISCSI c’est pas simple. Le teaming n’est pas supporté. Il faut donc passer par le MPIO pour la tolérance de panne.
De plus le cluster Failover Service ne supporte pas que deux cartes réseaux soient dans le même sous réseau. On a un avertissement dans le cas contraire. Il faut donc configurer deux sous réseaux IP pour le réseau de stockage.
Retour d’expérience 7 : créer au moins deux LUN :
Avec les volumes CSV, on peut héberger les VM de différents serveurs Hyper-V sur le même LUN.
Auparavant on devait créer un LUN par VM (sinon en cas de bascule toutes les VM du LUN devaient basculer…).
Il ne faut pas cependant tomber dans le piège du LUN unique et créer un point unique de défaillance.
Une suppression de LUN accidentelle est si vite arrivée (j’ai eu le cas chez plusieurs de mes clients).
Faire au moins deux LUN dans deux volumes / raid group différents (si possible) voir sur deux LUN sur deux baies et répartissaient vos VM sur les 2 LUN (on répartit les rôles, on met pas tous ses DC sur le même LUN par exemple…).
Retour d’expérience 8 : exclusions antivirus :
Penser à configurer des exclusions au niveau de votre antivirus si vous ne voulez pas tout crasher et/ou avoir des mauvaises performances.
Penser à exclure les répertoires correspondants au volume CSV.
Pour plus d’informations :
– http://support.microsoft.com/kb/961804/en-us
– http://nicolask.wordpress.com/2010/05/21/anti-virus-real-time- scanning-exclusion-for-hyper-v/
– http://www.ditii.com/2010/03/29/improve-hyper-v-performance-with-configuring-antivirus-exclusions/
Retour d’expérience 9 : Patchs à déployer :
Windows Server 2008 vient de sortir. Il y a donc quelques bugs. Voici quelques patchs à déployer :
– http://support.microsoft.com/kb/975354/en-us
– http://support.microsoft.com/kb/975530/en-us
– http://support.microsoft.com/kb/974909/en-us
– http://support.microsoft.com/kb/974598/en-us
Vivement le SP1 pour les corrections de bugs et les nouvelles fonctionnalités (dédpublication mémoire et accélération 3D).
A+
Guillaume MATHIEU
PROSERVIA
La connaissance s’accroît quand on la partage.
Bonjour,
Vous avez marqué que le teaming n’était pas supporté et qu’il fallait utilisé MPIO, mais avec les cartes Intel nous pouvons en faire sans problèmes?
Pourquoi avait vous mis 2 carte réseau pour le CSV (Team) et 1 carte réseau pour Live Migration, à quoi servent les 2 cartes réseau CSV n’ont elles pas le même rôle que le lien pour le heartbeat ou le lien live migration?
Merci pour votre retour d’expérience.
Article très interessant qui contient pleins d’éléments dont j’ai fait usage dans mon projet.
Je passerai bientôt ma soutenance à l’IPI sur la virtualisation sous Hyper-V + SCVMM. Par contre, ne le prend pas mal, mais j’éspère juste que tu ne seras pas dans le jury 🙂
Encore merci.
Ce serait dommage de se priver du MPIO qui est une techno qui fonctionne très bien. Pour ma part les problèmes rencontrés sont plutot au niveau du teaming dédié aux communication des VM (le v-switch est liée à une carte virtuelle issue du teaming). Lorsque l’on passe d’une patte à l’autre du teaming, si la VM est au repos, la communication est perdu avec la VM car la mac adresse de la VM est restée sur le port inactif du switch…. Et celà que ce soit avec un teaming intel ou broadcom, avec le NCU, le basp ou autre : même problème.
Bonjour,
Je travaille dans le service réseau d’un hébergeur et j’ai été confronté à un problème qui me surprend s’agissant du teaming sur les broadcom.
Visiblement le soft de teaming ne permet pas de faite du fail-over.Dans notre cas nous sommes connecté sur 2 switch distincts et de fait, l’utilisation de la même mac-adresse provoque des situations de flooding unicast ( paquets unicast envoyés sur tous les ports d’un vlan donné), et de duplication de paquets.Le smart LB, à moins qu’il ai été mal paramétré nous pose aussi problème car le soft de teaming ne semble pas générer une mac adress différente pour le second port.
Ma question est la suivante comment sur du broadcom peut on gérer de l’actif -passif pur ou , à défaut du Load-Balancing, avec leur port de teaming connecté sur des switch différents (no stackés).
Merci.
ledofr.
Il est completement errone de dire qu’Oracle ne supporte pas VMware. En effet, tant que l’on peut prouver que le probleme ne vient pas de la virtualisation, Oracle prendra en charge l’incident. De plus dans les faits, je ne connais pas de clients qui se sont vus refuser un support d’Oracle sous pretexte que la DB tourne sous VMware… En outre non seulement VMware supporte une DB Oracle pour vCenter mais dispose egalement d’une team Oracle qui se chargera de la majorite des problemes et meme de la liaison avec Oracle si besoin est. CF http://www.vmware.com/support/policies/oracle-support.html
Encore un mythe …
Desole pour les accents, j’ai un clavier UK.
Nicolas
VCDX 55