ANAVEM
Référence
Languageen
Comment créer un cluster Hyper-V dans un domaine Active Directory avec Windows Server 2025

Comment créer un cluster Hyper-V dans un domaine Active Directory avec Windows Server 2025

Créez un cluster de basculement Hyper-V prêt pour la production en utilisant Windows Server 2025 avec stockage partagé, intégration Active Directory et capacités de basculement automatique des VM.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
3/16/2026 25 min 1
hardhyper-v 9 étapes 25 min

Pourquoi construire un cluster Hyper-V avec Windows Server 2025 ?

La virtualisation d'entreprise exige une haute disponibilité, et Windows Server 2025 offre des améliorations significatives des capacités de clustering Hyper-V. La dernière version inclut un support amélioré des Cluster Shared Volumes (CSV), une évolutivité accrue jusqu'à 64 nœuds, et une intégration transparente avec Active Directory pour une gestion simplifiée.

Un cluster Hyper-V correctement configuré élimine les points de défaillance uniques en déplaçant automatiquement les machines virtuelles entre les hôtes physiques lorsque des problèmes matériels surviennent. Cela garantit que vos charges de travail critiques restent en ligne même pendant la maintenance planifiée ou les pannes inattendues.

Qu'est-ce qui rend le clustering de Windows Server 2025 différent ?

Windows Server 2025 introduit plusieurs améliorations de clustering par rapport aux versions précédentes. Le nouveau rôle User Management Manager offre une meilleure intégration avec Active Directory, tandis que la migration en direct basée sur SMB améliorée permet des transferts de VM plus rapides entre les nœuds. La plateforme utilise désormais par défaut des points d'accès basés sur DNS pour les clusters de groupe de travail et inclut un meilleur support pour les scénarios de cloud hybride.

L'architecture de clustering dans Server 2025 offre également une sécurité renforcée grâce à une authentification Kerberos améliorée et une meilleure intégration avec Windows Defender. Ces améliorations facilitent le déploiement d'une infrastructure de virtualisation sécurisée et évolutive qui répond aux exigences de conformité des entreprises.

Qu'allez-vous accomplir ?

En suivant ce tutoriel, vous construirez un cluster Hyper-V prêt pour la production capable de basculer automatiquement les machines virtuelles entre les serveurs physiques. Vous configurerez le stockage partagé en utilisant les Cluster Shared Volumes, mettrez en œuvre une segmentation réseau appropriée pour le trafic du cluster, et établirez des procédures de surveillance pour maintenir la santé du cluster. Le résultat est une plateforme de virtualisation robuste capable de supporter des charges de travail critiques avec un temps d'arrêt minimal.

Guide de mise en oeuvre

Procédure complète

01

Préparer l'environnement de domaine Active Directory

Avant de créer le cluster, vous devez préparer votre environnement Active Directory. Cela implique de créer une unité organisationnelle dédiée et de pré-stager l'objet de nom de cluster (CNO) pour éviter les problèmes de permission lors de la création du cluster.

Tout d'abord, créez une OU pour vos objets de cluster. Ouvrez Utilisateurs et ordinateurs Active Directory et créez une nouvelle OU appelée "Hyper-V Clusters".

Ensuite, pré-stagez le CNO en tant qu'objet ordinateur dans cette OU :

New-ADComputer -Name "HV-CLUSTER01" -Path "OU=Hyper-V Clusters,DC=yourdomain,DC=com" -Enabled $false -Description "Hyper-V Cluster Name Object"

Accordez à vos nœuds de cluster la permission d'agir au nom du CNO :

$ClusterNodes = @("HV-NODE01", "HV-NODE02")
foreach ($Node in $ClusterNodes) {
    $NodeAccount = Get-ADComputer $Node
    $CNO = Get-ADComputer "HV-CLUSTER01"
    Set-ADComputer -Identity $CNO -PrincipalsAllowedToDelegateToAccount $NodeAccount
}
Avertissement : Ignorer le pré-staging du CNO est la cause la plus courante des échecs de création de cluster. Créez toujours le CNO avant d'exécuter New-Cluster.

Vérification : Exécutez Get-ADComputer "HV-CLUSTER01" pour confirmer que le CNO existe dans votre domaine.

02

Installer les fonctionnalités Hyper-V et Clustering de basculement

Installez les fonctionnalités Windows requises sur tous les nœuds du cluster. Cette étape doit être complétée sur chaque serveur qui participera au cluster.

Exécutez cette commande sur chaque nœud pour installer Hyper-V et le clustering de basculement :

Install-WindowsFeature -Name Hyper-V, Failover-Clustering -IncludeManagementTools -Restart

Après le redémarrage, configurez le service de cluster et les paramètres Hyper-V :

Set-Service -Name ClusSvc -StartupType Automatic
Enable-VMMigration
Set-VMMigrationNetwork "192.168.2.0" -Priority 1
Set-VMHost -VirtualMachineMigrationPerformanceOption SMB
Set-VMHost -VirtualMachinePath "C:\ClusterStorage\Volume1\VMs"
Set-VMHost -VirtualHardDiskPath "C:\ClusterStorage\Volume1\VHDs"
Set-VMHost -EnableEnhancedSessionMode $true

Ces commandes configurent la migration en direct pour utiliser SMB pour de meilleures performances et définissent les chemins par défaut pour les machines virtuelles et les disques durs virtuels sur le volume partagé du cluster.

Astuce pro : Utilisez un réseau dédié pour la migration en direct (192.168.2.0 dans cet exemple) pour éviter d'impacter le trafic de production lors des déplacements de VM.

Vérification : Exécutez Get-WindowsFeature -Name Hyper-V | Where-Object InstallState -eq "Installed" pour confirmer l'installation.

03

Configurer l'infrastructure réseau

Une configuration réseau appropriée est essentielle pour la stabilité du cluster. Vous avez besoin de réseaux séparés pour le heartbeat du cluster, la gestion et le trafic de migration en direct.

Configurez les adaptateurs réseau sur chaque nœud avec des adresses IP statiques :

# Réseau de gestion (Nœud 1)
New-NetIPAddress -InterfaceAlias "Management" -IPAddress "192.168.1.10" -PrefixLength 24 -DefaultGateway "192.168.1.1"
Set-DnsClientServerAddress -InterfaceAlias "Management" -ServerAddresses "192.168.1.5"

# Réseau de migration en direct (Nœud 1)
New-NetIPAddress -InterfaceAlias "LiveMigration" -IPAddress "192.168.2.10" -PrefixLength 24

Pour le Nœud 2, utilisez .11 et .11 respectivement. Répétez pour les nœuds supplémentaires, en incrémentant le dernier octet.

Configurez les priorités des adaptateurs réseau pour assurer un routage correct du trafic :

Set-NetIPInterface -InterfaceAlias "Management" -InterfaceMetric 10
Set-NetIPInterface -InterfaceAlias "LiveMigration" -InterfaceMetric 20

Désactivez NetBIOS sur le réseau de migration en direct pour réduire le trafic de diffusion :

$adapter = Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object {$_.Description -like "*LiveMigration*"}
$adapter.SetTcpipNetbios(2)  # 2 = Désactiver NetBIOS
Avertissement : N'utilisez jamais DHCP pour les réseaux de cluster. Les adresses IP statiques sont obligatoires pour la stabilité du cluster.

Vérification : Exécutez Test-NetConnection -ComputerName "HV-NODE02" -Port 3343 pour tester la communication du cluster entre les nœuds.

04

Valider la configuration du cluster

Avant de créer le cluster, exécutez l'assistant de validation du cluster pour identifier les problèmes potentiels. Cette étape aide à prévenir les échecs de création de cluster et garantit que votre configuration matérielle répond aux exigences de Microsoft.

Exécutez le test de validation à partir de l'un des nœuds du cluster :

Test-Cluster -Node "HV-NODE01","HV-NODE02" -Include "Inventory","Network","System Configuration"

Si vous n'avez pas encore configuré le stockage partagé, ignorez les tests de stockage pour éviter les échecs erronés :

Test-Cluster -Node "HV-NODE01","HV-NODE02" -Ignore "Storage"

Examinez attentivement le rapport de validation. Corrigez toutes les erreurs avant de continuer. Les avertissements courants que vous pouvez généralement ignorer incluent :

  • Stockage partagé manquant (si non encore configuré)
  • Avertissements sur l'association des adaptateurs réseau (si vous utilisez du matériel différent)
  • Différences de version du BIOS (si la fonctionnalité est équivalente)

Pour des résultats de validation détaillés, consultez le fichier de rapport :

$Report = Get-ChildItem "$env:TEMP\*Validation*.htm" | Sort-Object LastWriteTime -Descending | Select-Object -First 1
Invoke-Item $Report.FullName
Conseil pro : Enregistrez les rapports de validation pour la documentation et le dépannage. Ils contiennent des informations détaillées sur le matériel et la configuration.

Vérification : Assurez-vous que le rapport de validation affiche le statut "Passed" ou "Passed with warnings". Tout résultat "Failed" doit être résolu avant la création du cluster.

05

Créer le cluster de basculement

Une fois la validation terminée, créez le cluster de basculement. Cette étape établit l'infrastructure du cluster et fait fonctionner vos nœuds ensemble comme un système hautement disponible unique.

Créez le cluster sans stockage initialement (nous ajouterons le stockage à l'étape suivante) :

New-Cluster -Name "HV-CLUSTER01" -Node @("HV-NODE01","HV-NODE02") -StaticAddress "192.168.1.100" -NoStorage

Configurez les réseaux du cluster avec les rôles appropriés :

# Définir le rôle du réseau de gestion
Get-ClusterNetwork | Where-Object {$_.Address -like "192.168.1.*"} | Set-ClusterNetwork -Name "Management" -Role ClusterAndClient

# Définir le rôle du réseau de migration en direct
Get-ClusterNetwork | Where-Object {$_.Address -like "192.168.2.*"} | Set-ClusterNetwork -Name "LiveMigration" -Role ClusterOnly

Configurez les propriétés du cluster pour un fonctionnement optimal de Hyper-V :

# Définir les paramètres de battement de cœur du cluster
(Get-Cluster).SameSubnetDelay = 1000
(Get-Cluster).SameSubnetThreshold = 10
(Get-Cluster).CrossSubnetDelay = 1000
(Get-Cluster).CrossSubnetThreshold = 10

# Activer les volumes partagés du cluster
Enable-ClusterS2D -Confirm:$false
Avertissement : L'adresse IP du cluster (192.168.1.100) doit être dans le même sous-réseau que votre réseau de gestion et ne pas entrer en conflit avec des IP existantes.

Vérification : Exécutez Get-Cluster et Get-ClusterNode pour confirmer que le cluster est en ligne et que tous les nœuds sont des membres actifs.

06

Configurer le stockage partagé et les volumes partagés de cluster

Le stockage partagé est essentiel pour la haute disponibilité des VM. Configurez votre stockage iSCSI, SAN ou SMB pour qu'il soit accessible depuis tous les nœuds du cluster, puis ajoutez-le au cluster.

Si vous utilisez un stockage iSCSI, configurez l'initiateur sur chaque nœud :

# Configurez l'initiateur iSCSI (exécutez sur chaque nœud)
Set-Service -Name MSiSCSI -StartupType Automatic
Start-Service MSiSCSI
New-IscsiTargetPortal -TargetPortalAddress "192.168.3.100"
Connect-IscsiTarget -NodeAddress "iqn.2024-01.com.company:storage.target1"

Ajoutez les disques partagés disponibles au cluster :

# Découvrez et ajoutez le stockage partagé
$SharedDisks = Get-ClusterAvailableDisk
$SharedDisks | Add-ClusterDisk

# Convertissez en volumes partagés de cluster
$ClusterDisks = Get-ClusterResource | Where-Object ResourceType -eq "Physical Disk"
$ClusterDisks | Add-ClusterSharedVolume

Formatez les volumes CSV s'il s'agit de nouveaux disques :

# Formatez les volumes CSV (uniquement pour les nouveaux disques)
Get-ClusterSharedVolume | ForEach-Object {
    $CSVPath = $_.SharedVolumeInfo.FriendlyVolumeName
    if ((Get-Volume -Path $CSVPath).FileSystem -eq "Unknown") {
        Format-Volume -Path $CSVPath -FileSystem NTFS -AllocationUnitSize 65536 -NewFileSystemLabel "CSV$($_.Id)"
    }
}

Créez la structure de répertoires pour les VM :

New-Item -Path "C:\ClusterStorage\Volume1\VMs" -ItemType Directory -Force
New-Item -Path "C:\ClusterStorage\Volume1\VHDs" -ItemType Directory -Force
Astuce pro : Utilisez une taille d'unité d'allocation de 64 Ko pour NTFS sur les volumes CSV afin d'optimiser les performances pour les fichiers VM volumineux.

Vérification : Exécutez Get-ClusterSharedVolume pour confirmer que les volumes CSV sont en ligne et accessibles depuis tous les nœuds.

07

Configurer le quorum du cluster

La configuration du quorum détermine comment le cluster maintient le consensus lorsque des nœuds échouent. Pour un cluster à deux nœuds, vous avez besoin d'un témoin pour éviter les scénarios de split-brain.

Pour les clusters avec stockage partagé, configurez un disque témoin :

# Créer un petit disque pour le quorum (minimum 1 Go)
$QuorumDisk = Get-ClusterAvailableDisk | Where-Object {$_.Size -lt 5GB} | Select-Object -First 1
if ($QuorumDisk) {
    $QuorumDisk | Add-ClusterDisk
    Set-ClusterQuorum -DiskWitness $QuorumDisk.Name
}

Alternativement, configurez un témoin de partage de fichiers si vous avez un serveur de fichiers séparé :

# Configurer le témoin de partage de fichiers
Set-ClusterQuorum -FileShareWitness "\\fileserver.domain.com\ClusterWitness\HV-CLUSTER01"

Pour les déploiements cloud, vous pouvez utiliser un témoin cloud (compte de stockage Azure) :

# Configurer le témoin cloud (nécessite un compte de stockage Azure)
Set-ClusterQuorum -CloudWitness -AccountName "yourstorageaccount" -AccessKey "your-access-key"

Vérifiez la configuration du quorum et testez les scénarios de basculement :

# Vérifier l'état du quorum
Get-ClusterQuorum

# Tester le quorum en simulant une défaillance de nœud
Stop-ClusterNode -Name "HV-NODE02" -Force
Get-ClusterNode  # Devrait montrer NODE01 comme Up, NODE02 comme Down
Start-ClusterNode -Name "HV-NODE02"
Avertissement : Ne jamais exécuter un cluster à deux nœuds sans témoin. Cela entraînera la mise hors ligne du cluster lorsqu'un nœud échoue.

Vérification : Exécutez Get-ClusterQuorum pour confirmer que votre témoin est configuré et en ligne.

08

Créer et tester des machines virtuelles hautement disponibles

Créez maintenant des machines virtuelles qui peuvent automatiquement basculer entre les nœuds du cluster. C'est le principal avantage de votre configuration de cluster Hyper-V.

Créez une nouvelle VM sur le volume partagé du cluster :

# Créer une nouvelle VM
$VMName = "TestVM01"
New-VM -Name $VMName -MemoryStartupBytes 2GB -Path "C:\ClusterStorage\Volume1\VMs" -NewVHDPath "C:\ClusterStorage\Volume1\VHDs\$VMName.vhdx" -NewVHDSizeBytes 40GB

# Configurer les paramètres de la VM
Set-VM -Name $VMName -ProcessorCount 2 -DynamicMemory -MemoryMinimumBytes 1GB -MemoryMaximumBytes 4GB
Add-VMNetworkAdapter -VMName $VMName -SwitchName "External"

# Rendre la VM hautement disponible
Add-ClusterVirtualMachineRole -VMName $VMName

Testez la migration en direct entre les nœuds :

# Démarrer la VM
Start-VM -Name $VMName

# Vérifier le propriétaire actuel
Get-ClusterGroup -Name $VMName | Select-Object Name, OwnerNode

# Effectuer la migration en direct
Move-ClusterVirtualMachineRole -Name $VMName -Node "HV-NODE02"

# Vérifier que la migration est terminée
Get-ClusterGroup -Name $VMName | Select-Object Name, OwnerNode

Testez les scénarios de basculement en simulant des pannes de nœud :

# Tester le basculement automatique
$CurrentOwner = (Get-ClusterGroup -Name $VMName).OwnerNode
Stop-ClusterNode -Name $CurrentOwner -Force

# Attendre le basculement (devrait être automatique)
Start-Sleep -Seconds 30
Get-ClusterGroup -Name $VMName | Select-Object Name, OwnerNode, State

# Redémarrer le nœud en panne
Start-ClusterNode -Name $CurrentOwner

Configurer la surveillance de la VM pour un redémarrage automatique en cas de panne :

# Activer la surveillance de la VM
Add-ClusterVMMonitoredItem -VirtualMachine $VMName -Service "Spooler"
Get-ClusterVMMonitoredItem -VirtualMachine $VMName
Astuce pro : Stockez toujours les fichiers VM sur des volumes CSV, jamais sur le stockage local. Cela garantit que les VMs peuvent fonctionner sur n'importe quel nœud du cluster.

Vérification : Exécutez Get-ClusterGroup | Where-Object GroupType -eq "VirtualMachine" pour voir toutes les VMs en cluster et leur statut actuel.

09

Configurer la surveillance et la maintenance du cluster

Mettre en place des procédures de surveillance et de maintenance pour garantir que votre cluster reste sain et fonctionne de manière optimale au fil du temps.

Configurer la journalisation du cluster pour le dépannage :

# Activer la journalisation du cluster
Get-ClusterLog -Destination "C:\ClusterLogs" -TimeSpan 60

# Configurer la collecte automatique des journaux
Set-ClusterParameter -Name ClusterLogLevel -Value 3
Set-ClusterParameter -Name ClusterLogSize -Value 1024

Mettre en place la surveillance des performances :

# Créer un collecteur de données de compteur de performance
$DataCollectorSet = "Hyper-V Cluster Performance"
logman create counter $DataCollectorSet -f bincirc -max 500 -c "\Hyper-V Hypervisor\*" "\Cluster CSV File System\*" "\Process(vmms)\*" -si 00:01:00

Configurer la mise à jour consciente du cluster pour le patching automatisé :

# Installer la fonctionnalité de mise à jour consciente du cluster
Install-WindowsFeature -Name RSAT-Clustering-CmdInterface, RSAT-Clustering-PowerShell

# Configurer le mode de mise à jour automatique CAU
Add-CauClusterRole -ClusterName "HV-CLUSTER01" -MaxFailedNodes 0 -RequireAllNodesOnline

# Définir le calendrier de mise à jour (premier mardi de chaque mois à 3h du matin)
Set-CauClusterRole -ClusterName "HV-CLUSTER01" -StartDate "2026-04-01 03:00:00" -DaysOfWeek Tuesday -WeeksOfMonth First

Créer des scripts de maintenance pour des vérifications régulières de l'état :

# Script de vérification de l'état du cluster
function Test-ClusterHealth {
    $Results = @{}
    $Results.ClusterStatus = (Get-Cluster).State
    $Results.NodeStatus = Get-ClusterNode | Select-Object Name, State
    $Results.ResourceStatus = Get-ClusterResource | Where-Object State -ne "Online" | Select-Object Name, State, OwnerNode
    $Results.CSVStatus = Get-ClusterSharedVolume | Select-Object Name, State
    $Results.QuorumStatus = Get-ClusterQuorum
    return $Results
}

# Exécuter la vérification de l'état
$Health = Test-ClusterHealth
$Health | ConvertTo-Json -Depth 3
Avertissement : Testez toujours les mises à jour du cluster dans un environnement non productif d'abord. CAU peut causer des temps d'arrêt prolongés s'il n'est pas correctement configuré.

Vérification : Exécutez Get-ClusterResource | Where-Object State -ne "Online" pour identifier les ressources de cluster échouées nécessitant une attention.

Questions Fréquentes

Quelles sont les exigences matérielles minimales pour un cluster Hyper-V de Windows Server 2025 ?+
Vous avez besoin d'au moins deux serveurs physiques avec des spécifications matérielles correspondantes : minimum 8 Go de RAM par nœud, deux adaptateurs réseau (un pour le cluster heartbeat/gestion, un pour la migration en direct des VM), et des CPU prenant en charge la virtualisation matérielle avec SLAT (Second Level Address Translation). Chaque serveur nécessite Windows Server 2025 Standard ou Datacenter edition et un accès au stockage partagé via iSCSI, SAN ou SMB 3.0.
Comment dépanner les échecs de validation de cluster dans Windows Server 2025 ?+
Commencez par exécuter Test-Cluster avec des catégories de tests spécifiques pour isoler les problèmes. Les échecs courants incluent des problèmes de configuration réseau (vérifiez les attributions d'IP statiques et la résolution DNS), des problèmes de connectivité de stockage (vérifiez que tous les nœuds peuvent accéder aux disques partagés) et des problèmes de permissions Active Directory (assurez-vous que le CNO est préconfiguré avec les permissions appropriées). Consultez le rapport de validation HTML détaillé généré dans %TEMP% pour les codes d'erreur spécifiques et les correctifs recommandés.
Quelle est la différence entre les réseaux de migration en direct et les réseaux de battement de cœur de cluster ?+
Les réseaux de pulsation de cluster transportent des communications critiques de cluster et du trafic de surveillance de l'état entre les nœuds, nécessitant une faible latence et une haute fiabilité. Les réseaux de migration en direct gèrent les transferts de mémoire et d'état des VM lors de déplacements planifiés entre les nœuds, nécessitant une bande passante élevée mais pouvant tolérer une latence plus élevée. La meilleure pratique consiste à utiliser des réseaux physiques séparés : pulsation sur le réseau de gestion (192.168.1.0/24) et migration en direct sur un réseau dédié à haute vitesse (192.168.2.0/24 ou 10GbE).
Pourquoi ai-je besoin d'un témoin de quorum dans un cluster Hyper-V à deux nœuds ?+
Un témoin de quorum empêche les scénarios de cerveau divisé où les deux nœuds pensent qu'ils doivent exécuter le cluster lorsque la communication réseau échoue entre eux. Sans témoin, un cluster à deux nœuds s'arrêtera lorsqu'un nœud échoue, même si le nœud restant est sain. Le témoin fournit le vote décisif pour déterminer quel(s) nœud(s) doit(vent) continuer à exécuter les services du cluster. Vous pouvez utiliser un témoin de disque (stockage partagé), un témoin de partage de fichiers (serveur séparé) ou un témoin cloud (stockage Azure).
Comment les volumes partagés de cluster (CSV) améliorent-ils les performances de Hyper-V ?+
CSV permet à plusieurs nœuds de cluster d'accéder simultanément au même volume de stockage partagé, éliminant ainsi le besoin de transférer la propriété du disque lors des opérations de VM. Cela permet une migration en direct plus rapide, des opérations de sauvegarde et des tâches de gestion de VM. CSV offre également un accès direct aux E/S depuis n'importe quel nœud vers le stockage, réduisant la surcharge réseau et améliorant les performances. Dans Windows Server 2025, CSV inclut une mise en cache améliorée et une meilleure intégration avec Storage Spaces Direct pour une évolutivité accrue.
Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...