16/12/2024

Hyper-V

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 :

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

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

35 commentaires 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
  • Bonjour,

    merci pou ce tuto très intéressant.

    J’avais quelques questions, en général lorsqu’on parle de cluster de basculement, on pense au service de fichiers, DHCP. Est-ce que dans ce modèle, peut-on installer deux contrôleurs de domaine sur les deux hôtes physiques. Je cherche avoir une solution où deux DC sont hébergés deux hôtes distincts. Bien entendu le stockage est sur un NAS visible par les deux noeuds Hyper-V.
    Dans cette architecture, est-ce obligatoire à ce que les deux hôtes Hyper-V soit dans un domaine AD. Est-ce que ces serveurs peuvent fonctionner de façon autonome ( sans l’AD). Le cas contraire obligerait à ce que le domaine AD dans lequel seront hébergés les deux hôtes Hyper-V soit installé sur un serveur physique.

    Je vous remercie par avance pour votre aide.

    Patrick

    Répondre
    • Bonjour,

      Ce qui est certain c’est qu’il est impossible d’avoir un Rôle AD sur une fonction Cluster basculement HYPER V.

      Pour pouvoir faire un cluster hyper V HA on doit avoir l’AD installer sur un serveur et deux serveurs hôte Hyper V.

      Total donc 3 serveurs Virtuel. Si tu utilises deux serveurs physique avec un Hyper V 1 et un Hyper v2 il faudra un troisième serveur avec l’AD pour faire un cluter de basculement.

      Répondre
  • Merci, super Tuto, très beau travail. Question, sur une infra type 2 Hyperviseurs et une baie San. J’ai créé mon 1er Lun pour mes VM (4To), quelle taille doit avoir le Lun Quorum?? J’ai du mal çà comprendre cette partie.
    Merci à toi

    Répondre
    • J’ai ma réponse, elle était déjà dans le tuto, avec 2 noeuds, 10Go c’est très bien.

      Répondre
  • Bonjour,

    je voulais monter une infrastructure VDI en haute disponibilité. Je pensais prendre 2 machines avec sur chacune les rôles Hyper V, Broker, Web Access, Licensing.

    Pour les Brokers en HA il faut un serveur SQL en cluster également

    Est-ce que je peux monter en plus de tous ces rôles un cluster SQL pour les Brokers sur mes 2 machines en utilisant le cluster à basculement à la fois pour SQL et pour Hyper V?

    Est-ce que l’architecture cible vous semble viable?

    Merci pour vos conseils

    Répondre
    • Bonjour,

      je n’ai pas eu de réponse, mais entre temps j’ai travaillé sur cette architecture, et cela fonctionne très bien pour information.

      Répondre
  • Bonjour,
    Si je comprends bien, si j’ai deux serveurs physiques et une baie de disques, je nomme mes deux serveurs physiques HyperV1 et HyperV2, il me faudrait un troisième serveur physique pour l’AD si je veux pouvoir faire un basculement dynamique ?
    Si l’AD est dans une VM, ça ne fonctionnera pas ? (en même temps, AD en virtuel pour 2 serveurs physiques, ça craint en cas de plantage sévère de la VM AD).

    Répondre
    • Bonjour,

      Ton AD peut très bien être une VM qui tourne sur ton cluster, le mieux serait d’avoir une VM et un serveur physique, ou sinon deux VMs pour assurer la redondance 🙂

      Florian

      Répondre
  • bonjour;
    est ce que ne NAS qnap TS-1273U-RP est conçu pour l’hébergement des fichiers des machine virtuelles mis en Cluster à basculement Hyper-V avec Windows Server 2016
    merci

    Répondre
    • Bonjour amlik,

      Oui tu peux l’utiliser pour stocker tes machines virtuelles en créant un LUN que tu vas utiliser comme cible iSCSI au niveau de ton cluster. Si possible, redonder le NAS 🙂

      Florian

      Répondre
    • bonjour amlik, ma réponse est un peu tardive :
      perso j’ai actuellement 2 serveurs de virtualisation avec une 10en de VM.
      j’ai mis sur chaque serveur un contrôleur de domaine virtuel, 1 principale sur le serveur 1, et l’autre en relais sur le serveur 2, si l’un ou l’autre s’arrête, tout continue de fonctionne parfaitement.

      cela marche très bien depuis + de 6 ans 🙂

      j’espère d’avoir aidé.

      Répondre
  • bonjour, merci beaucoup pour ce tutoriel qui m’aide beaucoup.

    j’aurais une question svp,
    je possède actuellement 3 serveur Hyper V que je souhaite passé en cluster à basculement.
    je vais acheter 2 nas synology actif/passif (pas le budget pour de l’actif/actif)
    synology me conseil de relier mes 2 nas en 10Gb directement de l’un a l’autre pour avoir de bonne performance.

    j’aurais aimer avoir votre aide pour un shema de câblage NAS/switch/serveur svp?
    mes serveurs possède 4 cartes réseaux par défaut.

    j’imaginais :

    serv 1 – 2 & 3
    carte 1 & 2 en agrega pour le management
    carte 3 & 4 en agrega sur le lan pour communiquer avec les NAS

    NAS1
    carte 1 et 2 en agrega sur le lan pour communiquer avec les serveurs
    carte 3 (10gb) sur le nas 2
    NAS2
    carte 1 et 2 en agrega sur le lan pour communiquer avec les serveurs
    carte 3 (10gb) sur le nas 1

    Répondre
    • Bonjour Laurent,

      Quatre interfaces 1 Gbit/s, cela peut sembler léger à première vue, car il faut pouvoir gérer les flux management, les flux pour les machines virtuelles, ainsi que les flux pour la migration dynamique entre les nœuds du cluster. Tout dépend aussi combien il y a de VM.

      Pour le management des serveurs, une seule carte peut suffire. Ce qui permet d’en garder 2 pour les flux VM et utiliser la troisième pour la migration dynamique, ce qui ne sera pas du luxe. Vous pouvez aussi regarder de la fonctionnalité Switch Embedded Teaming pour optimiser compte-tenu du nombre d’interfaces.

      Il s’agit de quel modèle de NAS ?

      Cordialement,
      Florian

      Répondre
  • Bonjour Permalink, merci de ton aide.

    Si je comprend bien l ideale serais 3×2 donc 6 interfaces?
    Les nas seraient des synology RS1219+

    Je debit dans se domaine, je suppose que je met 3 Réseaux différents (vlan)?

    Pour entre plus precis, je n ai que 10 vm, pour un total de moins 10 utilisateurs Simultanés.
    Il y a 2 contrôleurs de domaine distinct +1 relais pour le 1er
    3 serveurs de compta en rds
    Un serveur voip
    1 serveur wds (c est lui qui utilise le plus de bande passante, car il deplois tous les jpurs entre 5 et 10 machines.
    Voila en gros

    Merci de votre aide

    Répondre
  • Bonjour,
    Merci pour cet article.
    J’aurais une question par rapport à la gestion des disques.
    J’ai deux serveurs Hyper-V reliés à une baie SAN en SAS. Les deux serveurs sont autorisés et ils récupèrent tous les LUN créés. Ma question est la suivante :
    Faut-il initialiser les disques sur les deux serveurs dans le module « File and Storage Services » puis « Disks » ou attendre la fin de création du cluster pour les intégrer ?
    Merci.

    Répondre
  • bjr à tous je suis un jeune étudiante débutant en informatique et j’ai un thème sur le cluster de basculement j’ai vu votre tuto il est très intéressant mais j’arrive pas à cerner de façons générale comment m’y prendre pour vraiment me lancer à l’implémentation.
    je voudrais savoir ce que devrais savoir et avoir comme base pour le lancer svp?
    quel type d’architecture dois-je mettre en place?
    y-a-t-il un autre type de cluster de basculement autre que celui en hyper-v? si oui lequel?
    merci!

    Répondre
  • Bonjour Florian,

    Nous avons déjà mis en oeuvre un cluster hyper-V avec 4 hotes. 3 sont localisés au siège et reliés sur une baie SAN ISCSI.
    Nous souhaitons aujourd’hui rajouter un 4 serveur Hôte sur notre site distant (relié en MAN 1 gb/s) et qui est aussi raccordé à une baie SAN ISCSI. Je précise que les 2 baies sont synchronisées.
    Comment faire pour intégrer ce serveur dans le cluster mais le faire pointer sur sa propre baie locale et pas celle des hotes du siège ?
    J’espère avoir été assez clair ?

    D’avance merci

    Répondre
  • Bonjour,

    Merci pour ce super tuto, dans mon cas je souhaite réaliser un cluster HA pour une SQL Server.
    Mes deux serveurs ne serait pas physiquement au même endroit.
    Les deux seront connecté par VPN fibre fibre, c’est viable comme infrastructure ?

    Merci encore !

    Répondre
  • Bonjour
    J’ai 2 serveur 2016 qui ne sont pas dans le domaine
    1 serveur supporte Hyper V avec un AD et DNS (AD01)
    1 serveur 2016 qui lui replique uniquement l’AD01 et s’appelle AD02 (celui ci n’est pas virtualiser)
    j’ viens de recupérer un serveur physique exactement le meme qui supporte Hyper V (AD01)
    Je voudrais donc crée un cluster, et mettre mon server de recuperation avec Hyper V et mettre l’AD02 dessus
    A savoir que les 2 serveurs sont identique, meme OS,

    Ma question faut il absolument que les windows 2016 supportant Hyper V soit dans le domaine?
    Merci

    Répondre
    • Bonjour,
      Ce n’est pas obligatoire que les deux soient dans le domaine mais il me semble qu’il y a des limitations dans ce cas. Par exemple, les migrations dynamiques (Live Migration) ne fonctionnent pas il me semble.
      Bonne journée
      Florian

      Répondre
  • Bonjour,
    Est ce que le cluster de basculement doit etre installé sur les 2 serveurs ?
    Ou cela suffit sur un seul?
    Merci

    Répondre
  • Salut Florian,

    très bon tuto ! 😉

    J’ai une question à te poser car je ne trouve pas de réponse (sur le net ou blog…). La config que tu as mis en place est : 2 hôtes + 1 stockage iscsi (NAS) => Cluster à basculement entre les deux hôtes et 1 stockage…

    Maintenant, si tu avais : 2 hôtes + 2 stockages iscsi (NAS) : les stockages n’ont pas de fonctionnalités natives de syncho (Qnap) => comment faire un cluster à basculement avec les deux stockages ? J’espère avoir été clair… Une sorte de HA de stockage…

    Merci pour ton retour.
    Inter-Rupteur

    Répondre
  • Bonjour
    Super votre tutau, j’utilise un NAS Synology pour crée les disques Iscsi, mais lorsque je demarre le cluster de basculement, il ne voit n’y le disque temoin, n’y le disque data. Pourtant mes disques Iscsi sont monté sur le serveur Windows.
    Dans le test des cluster , j’ai une erreur sur les disques si je comprend bien il faut avoir des disques GPT
    Merci d’avance
    lolo

    Répondre
    • Bonjour,

      Dans la gestion des disques de Windows, vos cibles iSCSI sont bien visibles ? Elles sont dans quel état ?

      Florian

      Répondre
  • Bonjour, question toute simple, j’ai mis une VM existante de mon hyper-v dans le cluster, sans souci. Par contre quel est la manip. pour la remettre dans l’hyper-v uniquement ? (car j’ai des erreurs dans veeam). Je n’ai pas trouvé. Il ne faut quand même pas la supprimer du cluster pour la remonter manuellement dans l’hyper-v ? Merci.
    David

    Répondre
    • Bonjour David,
      Il faut supprimer le rôle associé à cet ordinateur virtuel dans la config du cluster (le rôle, pas la VM). Elle est toujours présente dans Hyper-V.
      Bonne journée
      Florian

      Répondre
  • Bonjour, Merci pour le tuto
    suite au phase de test de basculement vers un nouveau réseau en VLAN, est ce que c’est possible d’ajouter une nouvelle ip d’un sous réseau pour l’administration du cluster pour des tests, puis enlevé l’ancienne Adresse IP du cluster.

    PS: sur les deux Hyper-V en cluster il y a deux cartes réseau 1 tagué pour un VLAN.

    j’espère que ma question est claire -_-

    Répondre

Laisser un commentaire

Votre adresse e-mail 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.