Migrer un cluster Hyper‑V Windows Server 2012 R2 vers 2019/2022 : plans, scripts et runbook sans interruption

Objectif : migrer un cluster Hyper‑V Windows Server 2012 R2 à deux nœuds vers Windows Server 2019 (ou 2022) avec une indisponibilité minimale, tout en restant strictement dans la matrice de support Microsoft.

Sommaire

Contexte et objectif

L’environnement actuel repose sur un cluster Hyper‑V à deux nœuds exécutant Windows Server 2012 R2. Deux machines virtuelles (VM) critiques y sont hébergées, avec une version de configuration 5.0 (niveau 2012 R2). La fin de support de 2012 R2 impose une migration rapide vers une plateforme supportée — idéalement Windows Server 2019, voire directement 2022 — sans interruption notable du service. Cet article propose des scénarios de migration éprouvés, des check‑lists opérationnelles, des scripts PowerShell et un runbook de bout en bout pour réussir la transition.

Contraintes techniques identifiées

Avant de définir le plan de migration, il faut fixer les contraintes immuables du produit et leurs impacts.

DomaineContraintes clésConséquences
Chemins de mise à niveauMise à niveau directe 2012 R2 → 2022 non prise en charge.
Chemin supporté : 2012 R2 → 2016 → 2019/2022, ou réinstallation « clean install » sur nouveaux nœuds.
Prévoir une étape intermédiaire ou déployer un nouveau cluster.
Compatibilité clusterRolling upgrade possible seulement 2012 R2 ↔ 2016. Pas de cluster mixte 2012 R2/2019 supporté.Les scénarios « 2012 R2 ↔ 2019 dans le même cluster » sont à exclure. Créer un nouveau cluster ou transiter par 2016.
Versions de VMLa version 5.0 (2012 R2) doit être montée en 9.0 (2019) ou 10.0 (2022) après migration.Mise à niveau à froid ou à chaud après bascule complète des hôtes. Opération unidirectionnelle.
Continuité de serviceDowntime minimal requis.Prioriser les mouvements à chaud (Live Migration / Storage Migration / Shared Nothing LM).
SauvegardeBackups complets des VM et du quorum/witness obligatoires.Permet un retour arrière rapide en cas d’échec.

Rappels utiles sur les versions de configuration VM

Système hôteVersion de configuration VM la plus élevéeRemarques
Windows Server 2012 R25.0État actuel ; VMs encore rétro‑compatibles.
Windows Server 20168.0 (selon build)Seule cible « rolling upgrade » depuis 2012 R2.
Windows Server 20199.0Objectif recommandé pour stabiliser ; migration VM ensuite.
Windows Server 202210.0Cible finale possible après 2019, ou via nouveau cluster.

Scénarios proposés et analyse

Plan 1 – Arrêt complet puis mise à niveau sur place

  1. Arrêt des deux hôtes et extinction des VM.
  2. Upgrade « in‑place » des hôtes vers Windows Server 2019.
  3. Redémarrage du cluster et relance des VM.
  4. Mise à niveau des versions de VM et tests de Live Migration.

Avantages : simplicité, pas de nouveaux serveurs.
Inconvénients : interruption complète ; retour arrière complexe si l’upgrade échoue ; non aligné si l’objectif final est 2022 sans étape 2016.

Plan 2 – Mise à niveau sur place « en ligne »

  1. Live Migration des VM du nœud A vers le nœud B.
  2. Upgrade de l’OS du nœud A puis redémarrage.
  3. Migration inverse des VM et upgrade du nœud B.
  4. Mise à niveau des versions de VM et tests de charge.

Avantages : indisponibilité quasi nulle.
Limite majeure : pas de cluster mixte 2012 R2/2019 supporté. Ce plan n’est supporté que si l’on passe d’abord par 2016 (rolling upgrade 2012 R2 → 2016), puis 2016 → 2019/2022.

Plan 3 – Déployer deux nouveaux nœuds 2019 et retirer les anciens

  1. Installer deux hôtes neufs Windows Server 2019 (ou 2022 si le stockage et les pilotes sont validés).
  2. Créer un nouveau cluster 2019 et migrer les VM à chaud (Live Migration « shared nothing » ou Storage Migration via SMB 3.0).
  3. Mettre à niveau les versions de VM (5.0 → 9.0/10.0) après validation de la bascule.
  4. Tester la Live Migration C ↔ D et la haute disponibilité.
  5. Désaffecter A et B (réinstallation possible en 2022 pour les réintégrer ensuite).

Avantages : zéro interruption visible, aucun mélange non supporté, tests possibles avant bascule, chemin simplifié vers 2022 ensuite (rolling upgrade 2019 → 2022).
Inconvénient : besoin temporaire ou pérenne de matériel supplémentaire.

Arbre de décision rapide

ContrainteChoix recommandéRaison
Deux serveurs supplémentaires disponiblesPlan 3Sans coupure, support strict, tests avant production.
Aucun nouveau matérielPlan 2 revisité (2012 R2 → 2016, puis 2016 → 2019/2022)Seul rolling upgrade supporté depuis 2012 R2 : 2016.
Fenêtre de coupure acceptéePlan 1Simple, mais risque élevé et retour arrière coûteux.

Points d’attention communs

  1. Sauvegardes complètes : instantanés et sauvegardes applicatives cohérentes (VSS) des VM, sauvegarde de la configuration de cluster et du witness/quorum.
  2. Validation Cluster : exécuter Test-Cluster avant mise en production et après chaque étape significative.
  3. Compatibilité réseau/stockage : VLAN, MTU, QoS, pilotes NIC, firmware SAN/HBA identiques et validés.
  4. Mises à jour microcode : BIOS/UEFI, microcodes CPU, firmware HBA/NIC, piles pilotes Hyper‑V et multipathing (MPIO).
  5. Plan de reprise : scénario de rollback documenté, fenêtre de maintenance approuvée et rôles attribués (opérateur, validateur, responsable rollback).
  6. Intégrations VM : services d’intégration, agents de sauvegarde, pilotes para‑virtualisés mis à jour côté invités.
  7. Sécurité et authentification LM : préférer Kerberos avec délégation contrainte « Microsoft Virtual System Migration Service » pour les migrations à chaud entre hôtes/cluster.

Architecture cible recommandée (exemple)

  • Deux nouveaux hôtes Hyper‑V Windows Server 2019 (ou 2022) avec CPU identique/compatible aux hôtes actuels pour garantir la mobilité à chaud.
  • Stockage compatible : CSV sur SAN, ou partages SMB 3.0 (SMB Direct si RDMA), ou stockage local (NVMe) si la migration s’effectue en « shared nothing ».
  • Réseaux dédiés : management, Live Migration, stockage (iSCSI/SMB), et production VM. Mettre des métriques de réseau cohérentes dans le cluster.
  • Témoin de quorum : privilégier Cloud Witness (à partir de 2016) ou File Share Witness si l’accès Internet est restreint.

Runbook détaillé — Plan 3 (nouveau cluster 2019/2022)

Étape 0 — Pré‑requis et contrôles

  • Confirmer la compatibilité des applications invitées (SQL Server, AD DS, serveurs de fichiers, etc.) avec l’OS hôte ciblé.
  • Vérifier le niveau de CPU et les jeux d’instructions ; activer « Processor Compatibility for Migration » au besoin sur certaines VM critiques le temps de la bascule.
  • Backups complets + validation de restauration (test sur un bac à sable).
  • Préparer DNS et Active Directory (comptes d’ordinateurs des nouveaux hôtes, permissions sur l’OU, délégation Kerberos).
  • Allouer les adresses IP de cluster et des réseaux d’infrastructure.

Étape 1 — Installation et configuration des nouveaux nœuds

  1. Installer Windows Server 2019 (ou 2022) + rôles : Hyper‑V et Failover Clustering.
  2. Appliquer les mises à jour (Windows Update) et le firmware approuvé.
  3. Configurer Hyper‑V : Live Migration activée et optimisée, Kerberos, maximum de migrations simultanées.
# Exécuter en élévation sur chaque nouveau nœud (ex. HostC, HostD)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Install-WindowsFeature Failover-Clustering, RSAT-Clustering-PowerShell -IncludeManagementTools

# Live Migration : activer et paramétrer
Set-VMHost -VirtualMachineMigrationEnabled $true `
           -VirtualMachineMigrationAuthenticationType Kerberos `
           -VirtualMachineMigrationPerformanceOption Compression `
           -VirtualMachineMigrationMaximum 4

# Vérifier versions de VM supportées par l’hôte
Get-VMHostSupportedVersion | Sort-Object Version

Astuce : Si vous utilisez SMB 3.0 pour la Storage Migration, testez la bande passante entre hôtes (au moins 10 GbE recommandé, 25/40 GbE si volumétrie importante).

Étape 2 — Création du nouveau cluster et witness

# Depuis un nœud 2019/2022
Test-Cluster -Node HostC,HostD -Include "Inventory","Network","System Configuration","Storage"

# Création du cluster (exemple avec IP statique 10.0.0.100)

New-Cluster -Name CLU19 -Node HostC,HostD -StaticAddress 10.0.0.100

# Configurer le témoin (ex. File Share Witness)

Set-ClusterQuorum -FileShareWitness \FS01\Witness-CLU19 

Vérifiez ensuite les métriques des réseaux de cluster (priorité des chemins LM, CSV, etc.).

Étape 3 — Stratégie de migration à chaud des VM

Deux approches sont possibles selon votre stockage :

  • Shared Nothing Live Migration : on déplace la VM et ses disques directement d’un hôte du vieux cluster vers un nœud du nouveau cluster, via le réseau (pas de stockage partagé nécessaire).
  • Storage Migration vers SMB : on déplace d’abord le stockage de la VM vers un partage SMB 3.0 accessible par les deux clusters, puis on migre le calcul (LM) vers un nœud cible, et on « ré-attache » la VM dans le cluster 2019/2022.

Shared Nothing Live Migration — exemple pas à pas

  1. Activer Kerberos et la délégation contrainte « Microsoft Virtual System Migration Service » pour chaque hôte source/destination dans AD.
  2. Sur l’hôte source 2012 R2, vérifier l’état de la VM (aucun checkpoint orphelin, intégrations OK).
  3. Lancer la migration avec inclusion du stockage :
# Sur l'hôte source (2012 R2) ou depuis une console avec droits
Move-VM -Name "VM-CRITIQUE-01" `
        -DestinationHost "HostC" `
        -IncludeStorage `
        -DestinationStoragePath "D:\VMs\VM-CRITIQUE-01"

Storage Migration via SMB 3.0 — exemple

  1. Créer un partage SMB 3.0 (avec droits NTFS/partage pour les comptes d’ordinateurs des hôtes source et cible).
  2. Déplacer le stockage à chaud :
Move-VMStorage -VMName "VM-CRITIQUE-02" `
               -DestinationStoragePath "\\FS-VMSTORE\VMs\VM-CRITIQUE-02"
  1. Bascule du calcul (Live Migration) vers HostC/HostD :
Move-VM -Name "VM-CRITIQUE-02" -DestinationHost "HostD"

Conseils pratiques :

  • Limiter le nombre de migrations simultanées en production (1–2 par hôte) pour préserver la latence des services.
  • Activer la compression (par défaut sur 2019/2022) si vous n’avez pas SMB Direct (RDMA).
  • Prévoir des créneaux de migration hors pics de charge I/O.

Étape 4 — Enregistrement des VM dans le nouveau cluster

Une fois les VM arrivées sur les nœuds 2019/2022, les ajouter comme rôles hautement disponibles :

# Depuis un nœud du nouveau cluster
Add-ClusterVirtualMachineRole -VirtualMachine "VM-CRITIQUE-01"
Add-ClusterVirtualMachineRole -VirtualMachine "VM-CRITIQUE-02"

# Vérifier la HA et la LM interne au cluster

Get-ClusterGroup | Where-Object {$_.GroupType -eq "VirtualMachine"} | ft Name,OwnerNode,State 

Étape 5 — Mise à niveau des versions de VM

À ne faire qu’une fois tous les nœuds 2019/2022 en production et validés.

# Visualiser version actuelle
Get-VM | Select-Object Name, Version, State

# Mettre à niveau (à froid ou à chaud selon contraintes de la VM)

Update-VMVersion -VMName "VM-CRITIQUE-01"
Update-VMVersion -VMName "VM-CRITIQUE-02" 

Conséquence : une VM passée en 9.0/10.0 ne pourra plus être démarrée sur un hôte 2012 R2/2016. D’où l’importance d’achever la bascule complète avant cette étape.

Étape 6 — Tests de validation

  • Test de Live Migration C ↔ D en charge.
  • Test d’arrêt brutal d’un nœud (simulation) : les VM redémarrent-elles sur l’autre nœud ?
  • Test de sauvegarde et de restauration (VSS consistant) sur une VM non critique.
  • Exécution de Test-Cluster et correction des avertissements bloquants.

Étape 7 — Décommissionnement des anciens nœuds

  1. Vérifier qu’aucun rôle/CSV/VM ne reste sur A/B.
  2. Retirer A/B du cluster 2012 R2, nettoyer la config (Clear-ClusterNode -Force), retirer du domaine si réinstallation prévue.
  3. Option : réinstaller A/B directement en 2022 et les adjoindre au cluster 2019 (puis rolling upgrade 2019 → 2022).

Runbook — Plan 2 revisité (2012 R2 → 2016 → 2019/2022)

Ce plan est pertinent quand aucun nouveau matériel n’est disponible et que l’on doit rester en production pendant l’opération.

  1. 2012 R2 → 2016 (rolling upgrade supporté)
    • Drainer le nœud A : Suspend-ClusterNode -Name HostA -Drain.
    • Option sûre : évincer puis mettre à niveau in‑place, réintégrer HostA (2016) au cluster.
    • Répéter pour HostB. Le cluster reste en « mixed mode » jusqu’à migration complète.
    • Élever le niveau fonctionnel de cluster : Update-ClusterFunctionalLevel.
  2. 2016 → 2019 (ou 2022)
    • Répéter les mêmes étapes de rolling upgrade vers 2019 (puis 2022 si souhaité).
    • Après remplacement de tous les nœuds, exécuter à nouveau Update-ClusterFunctionalLevel.
  3. Mettre à niveau les versions de VM vers 9.0/10.0 seulement à la fin.

Limites : les in‑place upgrades successifs augmentent la durée de chantier et le risque cumulatif. Des tests de non‑régression sont indispensables entre chaque saut de version.

Jeux de scripts et commandes utiles

TâcheCommandeRemarques
Inventaire rapide des VMGet-VM | Select Name, State, Version, CPUUsage, MemoryAssignedÀ exécuter avant/après migration.
Activer Live MigrationSet-VMHost -VirtualMachineMigrationEnabled $true -VirtualMachineMigrationAuthenticationType KerberosConfigurer aussi la délégation contrainte dans AD.
Limiter le débit LM (option)Set-VMHost -VirtualMachineMigrationMaximum 2Évite la saturation réseau en production.
Déplacer le stockage à chaudMove-VMStorage -VMName <VM> -DestinationStoragePath <chemin>Vers CSV, SMB 3.0 ou stockage local.
Shared Nothing Live MigrationMove-VM -Name <VM> -DestinationHost <Hôte> -IncludeStorage -DestinationStoragePath <chemin>Copie VM + disques via réseau.
Ajouter VM au clusterAdd-ClusterVirtualMachineRole -VirtualMachine <VM>Rend la VM HA sur le nouveau cluster.
Mettre à niveau version VMUpdate-VMVersion -VMName <VM>Opération irréversible.
Drainer un nœudSuspend-ClusterNode -Name <Nœud> -DrainDéplace les rôles automatiquement avant maintenance.
Validation clusterTest-ClusterÀ lancer avant mise en production.

Checklist prête à l’emploi

Avant migration

  • ✔ Backups VM + configuration cluster + witness testés.
  • ✔ Compatibilité matérielle (HCL), BIOS/firmware/pilotes alignés.
  • ✔ Délégation Kerberos configurée pour la Live Migration.
  • ✔ Bande passante et VLAN LM validés (latence < 2 ms souhaitée intra‑DC).
  • ✔ Espace disque suffisant sur la cible (≥ 1,2× taille VM si snapshots).
  • ✔ Fenêtre de maintenance et plan de communication approuvés.

Pendant migration

  • ⏵ Suivi en temps réel (CPU, I/O, latence réseau).
  • ⏵ Limiter à 1–2 migrations simultanées / hôte.
  • ⏵ Verrouiller les changements (freeze CMDB, pas de patchs côté invités).

Après migration

  • Add-ClusterVirtualMachineRole exécuté pour chaque VM.
  • ✔ Tests de failover, LM, sauvegarde et restauration.
  • ✔ Mise à niveau des versions de VM (9.0/10.0) par vagues ; vérification des outils AV/backup.
  • ✔ Documentation de clôture et mise à jour des diagrammes/CMDB.

Gestion des risques et plans de repli

RisqueSymptômesContre‑mesuresRollback
Perte de performance pendant LMLatence appli élevéeLimiter migrations simultanées, activer Compression, planifier hors heuresInterrompre LM en cours, replanifier
Incompatibilité pilote HBA/NICErreurs I/O, events clusterValider versions en pré‑prod, mise à jour firmware/pilotesRevenir au pilote précédent (snapshot hôte, package OEM)
Échec d’enregistrement VM dans le clusterAdd-ClusterVirtualMachineRole échoueVérifier droits CNO, CSV/SMB, cheminsDésenregistrer/registrer la VM sur l’hôte source et re‑migrer
VM corrompue après migrationBoot loop, BSOD invitéVérifier checkpoints, cohérence VSSRestaurer depuis sauvegarde validée

Bonnes pratiques réseau et stockage

  • Réseau : séparer Live Migration, stockage et trafic VM ; appliquer QoS si nécessaire. Mettre les métriques de réseau de cluster (CSV/LM) pour prioriser les liens dédiés.
  • SMB 3.0 : activer SMB Direct (RDMA) si disponible (RoCE v2/iWARP). À défaut, rester sur la compression.
  • CSV et SAN : ne pas présenter un même LUN simultanément à deux clusters en mode écriture ; préférer la voie « shared nothing » ou une migration vers SMB intermédiaire.
  • MPIO : configurer la politique (Round Robin, etc.) selon le constructeur du SAN.

FAQ — Ce que l’on vous demandera sûrement

Peut‑on mélanger 2012 R2 et 2019 dans un même cluster ?
Non. La coexistence supportée concerne 2012 R2 ↔ 2016 uniquement pendant un rolling upgrade, puis 2016 ↔ 2019, puis 2019 ↔ 2022. D’où l’intérêt du Plan 3 ou du Plan 2 revisité.

Quand mettre à niveau la version de configuration des VM ?
Une fois tous les nœuds cibles en production et les tests validés. L’upgrade est unidirectionnel.

Les intégrations Hyper‑V côté invité ?
Sur 2016+ elles sont distribuées via Windows Update. Vérifiez leur état avant/après migration.

Quorum : disque, partage ou cloud ?
À partir de 2016, Cloud Witness est simple et robuste (si sortie Internet) ; sinon File Share Witness sur un serveur résilient.

Recommandations finales

  • Privilégier le Plan 3 si vous disposez d’au moins deux nouveaux serveurs : c’est l’approche la plus sûre, totalement supportée, et sans coupure de service visible.
  • Sans nouveau matériel, opter pour le Plan 2 revisité (2012 R2 → 2016 via rolling upgrade, puis 2016 → 2019/2022).
  • Dans tous les cas, mettre à niveau les VM (5.0 → 9.0/10.0) après la mise à niveau de tous les nœuds.
  • Valider la compatibilité applicative des charges invitées avant changement de version de VM et avant tout saut d’OS hôte.
  • Préparer un rollback documenté, avec une fenêtre dédiée et des sauvegardes testées, et assigner des rôles clairs (opérateur/validateur/rollback).
  • Si l’environnement est critique, prévoir un accompagnement éditeur (support avancé) pour sécuriser chaque jalon.

Modèle de plan de communication (extrait)

  • J‑7 : annonce de maintenance, périmètre, risques, consignes gel de changements.
  • J‑1 : rappel, test de restauration, vérification des accès d’administration.
  • J : monitoring renforcé, migration par vagues, points de décision go/no‑go documentés.
  • J+1 : rapport de fin d’intervention, résultats des tests, actions post‑migration (mise à niveau des VM, nettoyage).

Résumé opérationnel (en une page)

But : sortir de 2012 R2 et passer en 2019/2022 sans coupure.
Méthode : Plan 3 (nouveau cluster) si possible ; sinon Plan 2 revisité via 2016.
Clés de succès : backups testés, délégation Kerberos LM, bande passante suffisante, tests de failover, upgrade VM en fin de parcours.
Livrables : runbook pas à pas, scripts PowerShell, procès‑verbal de tests, plan de rollback.


Avec cette démarche, la migration est sécurisée, conforme au support éditeur, et presque transparente pour les utilisateurs finaux, tout en ouvrant la voie à une montée ultérieure vers Windows Server 2022.

Sommaire