Cluster à basculement Hyper-V avec Windows Server 2016

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 :

  • Disposez d'un domaine Active Directory fonctionnel
  • 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é.

schema-cluster-hyperv

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.

ws-2016-creer-cluster-basculement-15

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.

ws-2016-creer-cluster-basculement-1

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.

ws-2016-creer-cluster-basculement-9

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.

ws-2016-creer-cluster-basculement-10

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".

ws-2016-creer-cluster-basculement-2

Lisez le texte et poursuivez.

ws-2016-creer-cluster-basculement-3

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.

ws-2016-creer-cluster-basculement-5

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.

ws-2016-creer-cluster-basculement-6

Si tout se passe bien, la création est très rapide et ne prendra que quelques secondes.

ws-2016-creer-cluster-basculement-7

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 :

ws-2016-creer-cluster-basculement-11

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.

ws-2016-creer-cluster-basculement-12

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.

ws-2016-creer-cluster-basculement-13

On a désormais un disque pour le quorum et un disque pour le stockage des VMs :

ws-2016-creer-cluster-basculement-14

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".

hyper-v-cluster-role-ordinateur-virtuel-2

Passez la première étape. Ensuite, sélectionnez le rôle "Ordinateur virtuel" et poursuivez.

hyper-v-cluster-role-ordinateur-virtuel-3

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.

hyper-v-cluster-role-ordinateur-virtuel-4

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.

hyper-v-cluster-role-ordinateur-virtuel-5

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 :

hyper-v-cluster-role-ordinateur-virtuel-1

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.

hyper-v-cluster-10

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.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian has 1744 posts and counting.See all posts by florian

5 pensées sur “Cluster à basculement Hyper-V avec Windows Server 2016

  • Bonjour
    Merci pour le tutoriel.
    Tu pense que l’on réaliser le tutoriel en LAB en mode virtualisé ?
    (sous 2016 ou W10)

    Répondre
    • Bonjour Sanio74,

      Oui je pense que tu peux le réaliser en LAB si les perfs de la machine sont suffisantes.

      Bon courage
      Florian

      Répondre
    • Et si tu n’as pas de NAS à portée de main, tu peux utiliser ce genre de distribution : https://www.openfiler.com/

      Je ne sais pas ce que ça vaut en prod, mais pour du LAB ça permet de monter un NAS et des LUN en quelques minutes, avec peu de ressources utilisées.

      Répondre
  • Bonjour,
    petite coquille en début d’article : « Lorsque le nœud défaillant est à nouveau HORS ligne ».
    Sinon article très intéressant, merci beaucoup pour ce partage.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.