Table de Matieres
I. Présentation
Dans ce tutoriel, nous allons apprendre à mettre en place un cluster à basculement Hyper-V, avec deux nœuds Windows qui tournent sous Windows Server 2016. L’objectif étant d’assurer la haute disponibilité des machines virtuelles, ces dernières étant stockées sur un espace de stockage partagé, situé sur un NAS, qui jouera le rôle de target iSCSI. Qui dit cluster, dit également la possibilité de faire de la répartition de charge.
Les deux serveurs Windows jouent le rôle d’initiateur iSCSI puisqu’ils se connectent par le protocole du même nom aux LUNs (unité logique) hébergés sur le NAS.
La haute disponibilité des machines virtuelles est assurée par le fait, que si un hôte Hyper-V tombe en panne, les machines virtuelles qu’il exécute basculeront directement sur le second Hyper-V, sans interruption de service. Lorsque le nœud défaillant est à nouveau en ligne, on a alors le choix de rebasculer les VM dessus automatiquement ou manuellement (en fonction de la configuration appliquée).
Dans ce tutoriel, on utilisera de l’iSCSI comme je le disais précédemment, mais ce n’est pas la seule solution possible, je pense notamment au protocole SMBv3 qui évolue de manière intéressante et se montre performant. Par ailleurs, on peut aussi imaginer des liaisons Fiber Channel ou SAS sur des baies de stockage (SAN) directement. Le choix de la solution dépendra de vos besoins (nombre de VM, nombre d’utilisateurs, type de VM, volumétrie, etc.) et bien sûr de votre budget.
Note : Je vous recommande la mise en place d’une baie SAN qui présente l’avantage d’avoir une alimentation redondée, double contrôleurs de disques (ce qui permettra d’utiliser le Multipathing sur Windows (MPIO) et d’assurer une meilleure redondance au niveau du stockage qui sera un élément critique).
II. Prérequis
Avant de commencer ce tutoriel, veuillez vous assurer d’avoir préparer les points suivants et de respecter les prérequis associés :
- Domaine Active Directory : Tous les nœuds du cluster doivent se trouver au sein du même domaine Active Directory, en tant que serveur membre ou éventuellement, contrôleur de domaine, mais vaut mieux laisser ce rôle à un autre serveur.
- Installer le rôle Hyper-V sur les noeuds du Cluster avec une configuration de base
- Configurer à l’identique vos switchs virtuels sur vos nœuds Hyper-V pour assurer la connectivité réseau lors du passage d’un nœud vers un autre
III. Schéma de l’infrastructure de test
Pour que ce soit clair tout au long du tutoriel, voici un schéma de l’infrastructure mise en place dans ce tutoriel, avec les différents noms et adresses IP que j’ai utilisé.
Il est conseillé d’avoir deux réseaux distincts, un réseau dédié aux communications sur le réseau local entre les clients et les machines virtuelles, et un second réseau dédié à la communication entre les noeuds du cluster et le stockage (flux dédié au cluster).
IV. Installer la fonctionnalité « Cluster à basculement »
Commençons par installer la fonctionnalité « Cluster à basculement » sur les deux serveurs Hyper-V, cette étape étant indispensable. D’ailleurs, cette fonctionnalité n’est pas exclusive à la mise en place d’un cluster Hyper-V, ça pourrait tout à fait être un cluster pour un autre rôle tel que serveur de fichiers ou DHCP.
On effectuera l’installe en PowerShell, c’est plus efficace :
Install-WindowsFeature -Name "Failover-Clustering" -IncludeManagementTools
On installe la fonctionnalité et la console de gestion associée.
Lorsque vous aurez exécutez la commande sur chacun de vos nœuds, vous pourrez voir que la fonctionnalité « Clustering de basculement » est installée.
Get-WindowsFeature -Name *cluster*
La commande ci-dessus est facultative.
L’installation est terminée, nous allons pouvoir passer à la création de notre cluster.
V. Créer le cluster de serveurs Windows
Ouvrez le « Gestionnaire du cluster de basculement » et effectuez un clic droit sur ce même nom à gauche dans le menu puis « Validez la configuration« . Ceci constitue une étape préparatoire où l’on va indiquer les noeuds que l’on souhaite inclure dans le cluster, puis l’assistant va analyser la configuration pour savoir si elle est viable et pour relever d’éventuelles anomalies dans la configuration.
Un rapport est disponible à la fin de l’analyse, ce qui permet de corriger la configuration préparée si besoin. Par exemple, si les deux serveur n’ont pas un processeur de même marque, admettons AMD et Intel, alors ceci sera relevé comme une anomalie. Pour cause, avec deux serveurs disposant d’un processeur de marque différente, il sera impossible d’effectuer le basculement à chaud de machines virtuelles.
Suite à la validation des serveurs du cluster, l’assistant vous propose de démarrer directement la création d’un cluster pour ces deux hôtes. On pourrait tout à faire comme cela, cependant, dans ce tutoriel, on va utiliser la méthode classique mais qui revient au même.
Dans la console de cluster, effectuez un clic droit sur « Gestionnaire du cluster de basculement » et « Créer le cluster« .
Lisez le texte et poursuivez.
Donnez un nom à votre cluster, et surtout une adresse IP disponible représentant le cluster lui-même. Si votre réseau dédié au cluster n’apparaît pas ici, pas de panique ! Il sera ensuite disponible dans la console de gestion du cluster et vous pourrez le paramétrer.
Un écran de confirmation permet de vérifier une dernière fois les paramètres, vous remarquerez que l’option « Ajouter la totalité du stockage disponible au cluster » est cochée. Ceci implique que nos banques iSCSI montées sur les serveurs seront directement montées dans le cluster, avec une qui sera définie pour le quorum.
Si tout se passe bien, la création est très rapide et ne prendra que quelques secondes.
Dès lors que le cluster est formé, vous pouvez voir l’état de vos noeuds dans la section du même nom au sein de la console de gestion du cluster :
Pour ajouter du stockage au cluster, il suffit de se rendre dans la section stockage, puis disques. Ensuite vos disques de cluster seront listés.
Pour un disque indiqué comme disponible, effectuez un clic droit dessus puis « Ajouter aux volumes partagés de cluster » pour le définir comme espace de stockage mutualisé aux noeuds du serveur, et ainsi vous mettrez vos VMs dessus. Ce partage étant accessible par vos différents noeuds.
Note : Pour le quorum, avec seulement deux noeuds, 10 Go ce sera très largement suffisant.
On a désormais un disque pour le quorum et un disque pour le stockage des VMs :
Passons à la suite qui consiste à attribuer un rôle à notre cluster pour qu’il assurer la haute dispo’ des machines virtuelles.
VI. Configurer la haute disponibilité pour les machines virtuelles
Notre cluster est créé mais pour le moment il n’a pas d’utilité car il n’a pas de rôle configuré. C’est ce que nous allons faire en lui ajoutant le rôle « Ordinateur virtuel » qui permet de faire de la haute disponibilité avec des machines virtuelles.
Dans le gestionnaire du cluster à basculement, effectuez un clic droit sur « Rôles » et cliquez sur « Configurer un rôle« .
Passez la première étape. Ensuite, sélectionnez le rôle « Ordinateur virtuel » et poursuivez.
Il faut désormais choisir les VM qui doivent être incluses dans le cluster et sur lesquelles vous souhaitez de la haute disponibilité. Par exemple « WDS-01 » dans mon cas. Si vous ne prenez pas toutes les VM, ce n’est pas gênant et vous pourrez y revenir plus tard pour en ajouter des nouvelles au cluster.
Note : Pour ajouter une VM existante en haute disponibilité sur le cluster, il faudra effectuer de nouveau ce que l’on vient de faire là, à savoir configurer un nouveau rôle. Ceci peut-être fait à partir de n’importe quel noeud du cluster, même à partir d’un noeud qui ne contient pas la machine virtuelle directement.
Il ne reste plus qu’à valider les prochaines étapes en prenant comptes des éventuels avertissements dans le résumé. Si la VM que vous souhaitez définir en haute disponibilité n’est pas sur un espace de stockage partagé, l’assistant va relevé l’anomalie. Il faudra envisager de déplacer la VM sur un espace de stockage partagé accessible par exemple par iSCSI, ceci pourra se faire directement depuis le gestionnaire de cluster.
Note : Une fois qu’une machine virtuelle est intégrée dans un cluster, il n’est plus possible de la déplacer à partir du gestionnaire Hyper-V, il faut passer par le gestionnaire de cluster. Ce n’est pas gênant, mais il faut le savoir.
La machine virtuelle « WDS-01 » est désormais dans le cluster, aux côtés des autres VM que j’avais déjà ajoutées à ce cluster :
Si vous avez besoin de déplacer une VM stockée en local sur un Hyper-V vers un espace de stockage partagé, à partir de la console de gestion du cluster, effectuez un clic droit sur la VM à déplacer. Puis, sous « Déplacer » cliquez sur « Stockage de l’ordinateur virtuel » et suivez l’assistant.
Ce tutoriel est terminé, n’hésitez pas à laisser un commentaire pour partager vos remarques et idées d’améliorations, ou tout simplement pour me remercie 🙂
Bon courage dans la mise en place de votre cluster et, prenez votre temps d’analyser votre configuration avant de le créer.
Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca