Un cluster de basculement Windows Server qui refuse de naître avec « unable to create cluster » ? Voici une procédure claire et exhaustive pour identifier la cause, nettoyer les résidus de tentatives précédentes et réussir la création.
Échec de la création d’un cluster Windows
Vue d’ensemble de la question
Lors de l’exécution de l’assistant Create Cluster, le processus se termine brutalement avec le message :
unable to create cluster. Error occurred while creating the cluster and the nodes will be cleaned up
Objectif : comprendre la cause profonde et mener à bien la création du cluster de basculement Windows Server (WSFC).
Réponse & solution pas à pas
Valider la configuration avant toute chose
La validation est la meilleure assurance qualité avant la création. Lancez l’outil Validate a Configuration depuis le Gestionnaire du cluster de basculement ou via PowerShell :
# Exemple simple
Test-Cluster -Node NODE1,NODE2 -Verbose
# Exemple ciblé (utile en cas d'environnement virtualisé)
Test-Cluster -Node NODE1,NODE2 -Include "Inventory","Network","System Configuration","Cluster Configuration" -Verbose
Corrigez toutes les erreurs et autant d’avertissements que possible. Un avertissement ignoré aujourd’hui devient souvent un incident demain.
Ce que la validation doit répondre
- Compatibilité matérielle/logicielle de chaque nœud.
- Accès AD/DNS correct (résolutions directe et inverse, enregistrements A/PTR).
- Réseau (communication inter-nœuds, latence raisonnable, chemins redondants).
- Stockage (si cluster avec stockage partagé / S2D, cohérence et multipathing).
- Synchronisation horaire (NTP/AD), fondamentales pour Kerberos et la création d’objets AD.
Nettoyer les résidus des tentatives précédentes
Après un échec, des fragments d’objet cluster (services, clés de registre, identités) peuvent persister et bloquer une nouvelle tentative. Nettoyez chaque nœud :
# Sur chaque nœud, en PowerShell administrateur
Clear-ClusterNode -Force
Cette commande supprime les artefacts locaux (partial join, clés de configuration, etc.). Si un cluster a été créé partiellement, supprimez-le d’abord depuis un nœud encore opérationnel, sinon pérennisez le nettoyage sur tous les nœuds.
Utiliser un compte de domaine approprié et des droits AD corrects
La création du cluster nécessite un compte disposant du droit « Créer un objet ordinateur » dans l’OU où sera stocké le CNO (Cluster Name Object). Sans ce droit, l’assistant échoue.
- Compte : compte de domaine (pas un compte local).
- Droit minimal : Create Computer objects dans l’OU cible (ou créer le cluster avec un compte ayant plus de privilèges, de manière contrôlée).
- Option pro : pre-stager l’objet ordinateur du cluster (CNO) dans l’OU et déléguer les droits nécessaires, puis exécuter la création.
Nettoyage Active Directory (en cas de restes orphelins)
Si l’objet ordinateur du cluster (NomCluster
) a été créé puis laissé orphelin, supprimez-le proprement :
# Supprime le compte d'identité du nom de cluster (CNO) orphelin
Remove-ClusterNameAccount -Name "NomCluster"
# En alternativa via AD, depuis RSAT ou ADSI Edit (manuel)
# - Rechercher l'objet ordinateur "NomCluster"
# - Le supprimer ou réinitialiser, puis purger l'enregistrement DNS correspondant si nécessaire
Relancer la création du cluster
Depuis l’assistant graphique ou en PowerShell :
# Avec IP statique et sans référence au stockage au départ (optionnel)
New-Cluster -Name "NomCluster" -Node NODE1,NODE2 -StaticAddress 192.0.2.10 -NoStorage
# Vérifications de base
Get-ClusterNode
Get-ClusterGroup
Get-ClusterResource </code></pre>
<p>Chaque nœud doit passer à l’état <strong>Up</strong>. L’erreur de création disparaît alors et le moniteur de cluster est propre.</p>
<hr />
<h2>Checklist de diagnostic rapide</h2>
<table>
<thead>
<tr>
<th>Élément</th>
<th>Exigences</th>
<th>Commandes / Actions</th>
<th>Symptômes si non conforme</th>
</tr>
</thead>
<tbody>
<tr>
<td>Version Windows Server</td>
<td>Même édition et mêmes mises à jour sur tous les nœuds</td>
<td><code>winver</code>, <code>systeminfo</code>, niveaux de patch</td>
<td>Validation en échec, avertissements incompatibilités</td>
</tr>
<tr>
<td>Domaine & Kerberos</td>
<td>Appartenance au même domaine, time skew < 5 min</td>
<td><code>w32tm /query /status</code>, <code>nltest /dsgetdc:CONTOSO</code></td>
<td>Création CNO refusée, échecs d’authentification</td>
</tr>
<tr>
<td>DNS</td>
<td>Résolution A/PTR, enregistrement du <em>NomCluster</em> possible</td>
<td><code>Resolve-DnsName NomCluster</code></td>
<td>Nom non résolu, échec de mise en ligne de la ressource « Cluster Name »</td>
</tr>
<tr>
<td>Réseau inter-nœuds</td>
<td>Latence faible, pas de filtrage ICMP, ports WSFC ouverts</td>
<td><code>ping</code>, <code>Test-NetConnection</code></td>
<td>Perte de cœur (heartbeat), événements 1135/1136</td>
</tr>
<tr>
<td>Droits AD</td>
<td>« Create Computer objects » sur l’OU cible</td>
<td>Délégation sur l’OU ou utilisation d’un compte admin</td>
<td>Erreur à la création, CNO absent/partiel</td>
</tr>
<tr>
<td>Stockage</td>
<td>Visibilité identique, présentation cohérente, réservation OK</td>
<td><code>Get-PhysicalDisk</code>, <code>Test-Cluster</code></td>
<td>Validation storage en échec, groupes HS</td>
</tr>
</tbody>
</table>
<hr />
<h2>Pré-requis essentiels et bonnes pratiques</h2>
<ul>
<li><strong>Même version</strong> de Windows Server (idéalement même build / cumul mensuel) sur l’ensemble des nœuds.</li>
<li><strong>Horloges synchronisées</strong> (NTP/AD). Le décalage horaire affecte Kerberos et la création du CNO.</li>
<li><strong>Réseau/DNS</strong> configurés : pas de double enregistrement DNS, suffixes cohérents, passerelles correctes.</li>
<li><strong>Pare-feu</strong> : autoriser les ports WSFC (voir tableau ci-dessous).</li>
<li><strong>Quorum</strong> accessible (disque, partage, cloud), avec témoin adapté à la topologie.</li>
<li><strong>Comptes & délégation</strong> AD correctement modélisés.</li>
<li><strong>Mises à jour</strong> récentes appliquées (drivers NIC/HBA compris).</li>
</ul>
<h3>Ports et protocoles typiques du cluster de basculement</h3>
<table>
<thead>
<tr>
<th>Port/Protocole</th>
<th>Service</th>
<th>Direction</th>
<th>Remarques</th>
</tr>
</thead>
<tbody>
<tr>
<td>UDP 3343</td>
<td>Heartbeat WSFC</td>
<td>Inter-nœuds</td>
<td>Signal de vie entre nœuds; sensible à la perte/latence</td>
</tr>
<tr>
<td>TCP 135 + ports dynamiques RPC</td>
<td>RPC Endpoint Mapper</td>
<td>Inter-nœuds <-> DC</td>
<td>Les ports dynamiques sont généralement 49152-65535 sur versions récentes</td>
</tr>
<tr>
<td>TCP 445</td>
<td>SMB</td>
<td>Inter-nœuds</td>
<td>Nécessaire pour validation, stockage, CSV, S2D</td>
</tr>
<tr>
<td>ICMP</td>
<td>Diagnostic</td>
<td>Inter-nœuds</td>
<td>Pratique pour dépannage/reachability</td>
</tr>
<tr>
<td>TCP 5985/5986</td>
<td>WinRM (HTTP/HTTPS)</td>
<td>Admin/Validation</td>
<td>Requis pour certains flux d’automatisation</td>
</tr>
<tr>
<td>TCP 443</td>
<td>Cloud Witness (si utilisé)</td>
<td>Sortant</td>
<td>Accès au service de témoin cloud</td>
</tr>
</tbody>
</table>
<hr />
<h2>Logs & où chercher en cas d’échec</h2>
<ul>
<li><strong>Rapports HTML</strong> : <code>%SystemRoot%\Cluster\Reports\</code> (rapports de validation et d’actions).</li>
<li><strong>Journal d’événements</strong> : <em>Microsoft‑Windows‑FailoverClustering/Operational</em>.</li>
<li><strong>Cluster Log</strong> généré à la demande :
<pre><code class="language-powershell"># Collecte un journal lisible, horodaté en heure locale, des dernières 5 heures
Get-ClusterLog -UseLocalTime -TimeSpan 300 -Destination C:\Temp\ClusterLogs
Astuce : filtrez les evenements 1207/1196 (problèmes avec la ressource « Cluster Name »), 1126/1129 (connectivité AD), 1573 (erreurs de validation).
Déroulé type d’une correction réussie
- Validation via
Test-Cluster
et correction des écarts (DNS, NIC, drivers, pare-feu). - Nettoyage des nœuds avec
Clear-ClusterNode -Force
et purge éventuelle du CNO/DNS orphelin. - Vérification des droits AD (ou pre-staging du CNO) avec délégation Create Computer objects.
- Création
New-Cluster
: contrôle de l’état des nœuds et ressources, puis configuration du quorum, du témoin et du réseau.
Retour d’expérience
Après application des étapes 1 à 3 (validation, nettoyage, droits AD), la création du cluster s’est déroulée avec succès. La ressource « Cluster Name » est passée en ligne et tous les nœuds sont apparus Up.
Erreurs fréquentes et comment les résoudre
Symptôme / Message | Cause probable | Correctif recommandé |
---|---|---|
« unable to create cluster » sans détail | Absence de droits AD pour créer le CNO | Déléguer Create Computer objects à l’OU cible ou utiliser un compte admin; nettoyer objet orphelin |
Ressource Cluster Name ne passe pas en ligne | Conflit DNS / enregistrement manquant | Purger ancien enregistrement; valider enregistrements A/PTR; ipconfig /flushdns |
Validation « Network » en échec | Ports WSFC filtrés, latence ou VLAN isolant | Ouvrir UDP 3343, TCP 135/445/RPC dynamiques; corriger routage/VLAN |
Erreurs Kerberos/Time Skew | Horloges non synchronisées | Corriger NTP (w32tm ), s’assurer d’un décalage < 5 minutes |
Stockage non visible identiquement | Présentation incohérente LUN/HBA/MPIO | Harmoniser zoning, LUN masking, MPIO; revalider |
Procédure de nettoyage avancé (si plusieurs essais ont échoué)
- Sur chaque nœud :
Clear-ClusterNode -Force
. - Purgez l’objet AD « NomCluster » s’il existe encore (et l’enregistrement DNS A/PTR associé).
- Redémarrez les nœuds si des services restent en état ambigu.
- Relancez
Test-Cluster
et réglez toutes les erreurs. - Recréez le cluster via
New-Cluster
.
Exemple de script « end-to-end »
$nodes = @("NODE1","NODE2")
$clusterName = "CLSR-Prod01"
$clusterIP = "192.0.2.10"
# 1) Validation préalable
Test-Cluster -Node $nodes -Verbose
# 2) Nettoyage (si tentative précédente)
foreach($n in $nodes){ Invoke-Command -ComputerName $n -ScriptBlock { Clear-ClusterNode -Force } }
# 3) Création
New-Cluster -Name $clusterName -Node $nodes -StaticAddress $clusterIP -NoStorage
# 4) Vérifications immédiates
Get-ClusterNode
Get-ClusterGroup
Get-ClusterResource
# 5) Journal du cluster pour audit
Get-ClusterLog -UseLocalTime -TimeSpan 120 -Destination "C:\Temp\ClusterLogs"
Après la création : vérifications post-installation
- Nœuds :
Get-ClusterNode
doit lister tous les nœuds en Up. - Nom du cluster : ressource Cluster Name en ligne; Résolution DNS OK.
- Réseaux du cluster : au moins un réseau Enabled for cluster use, idéalement séparé pour le trafic de cluster.
- Quorum : configuré selon la topologie (Disk/Share/Cloud Witness).
- Correctifs : appliqués sur tous les nœuds, firmware/driver NIC/HBA alignés.
Prévenir la récidive : bonnes pratiques opérationnelles
- Automatisation des vérifications : script
Test-Cluster
pré-déploiement intégré dans vos pipelines. - Standardisation : mêmes images/patchs, mêmes règles de pare-feu, mêmes drivers.
- Observabilité : collecte de
Get-ClusterLog
après changements structurants. - AD/DNS : recertir périodiquement les délégations sur l’OU et l’hygiène DNS.
- Documentation : journaliser l’OU cible, l’IP du cluster, les témoins, les VLAN.
FAQ express
Dois-je obligatoirement utiliser un compte hautement privilégié pour créer le cluster ?
Non. Il suffit de déléguer Create Computer objects sur l’OU cible au compte qui crée le cluster, ou de pre-stager le CNO puis d’accorder les permissions adéquates.
Clear-ClusterNode -Force est-il destructif ?
Il nettoie la configuration de cluster locale du nœud. Exécutez-le uniquement lorsque la tentative de création a échoué ou que le nœud n’est membre d’aucun cluster fonctionnel. Il ne supprime pas un cluster valide depuis d’autres nœuds.
Et si je dois spécifier plusieurs néts de cluster ?
Créez d’abord le cluster sur le réseau principal, puis marquez/renommez les réseaux et définissez leurs usages (communication/tolérance/CSV) via l’UI ou PowerShell (Get-ClusterNetwork
, (Get-ClusterNetwork "Net-CSV").Role = 1
).
Faut-il intégrer le stockage dès la création ?
Pas nécessairement. Beaucoup d’échecs viennent du stockage. Il est prudent de créer le cluster avec -NoStorage
, de stabiliser réseau/AD, puis d’ajouter le stockage et les CSV après validation spécifique.
Modèle de délégation minimal dans l’OU
Si vous choisissez la délégation, appliquez-la au contenant (OU) qui recevra l’objet du cluster :
Objet | Droit | Portée | Commentaire |
---|---|---|---|
Ordinateurs | Create Computer objects | Cette OU seulement | Nécessaire à la création du CNO |
Ordinateurs | Read/Write all properties (ou Validated write to DNS host name) | Cette OU | Inscription DNS du NomCluster |
Contrôles techniques utiles
- Connexion aux DC :
Test-NetConnection DC1 -Port 135
et-Port 445
depuis chaque nœud. - RPC dynamique : vérifier que le pare-feu ne bloque pas 49152-65535 (ou la plage personnalisée si définie).
- DNS : éviter les entrées statiques contradictoires; nettoyer les enregistrements d’anciens tests.
- AD Réplication : si vous avez plusieurs sites, attendez la convergence AD avant de retenter.
Conclusion
La quasi-totalité des échecs « unable to create cluster » se résument à trois leviers : validation systématique (Test-Cluster
), nettoyage rigoureux (Clear-ClusterNode -Force
+ purge AD/DNS) et délégation AD adéquate. Une fois ces prérequis respectés, la création via l’assistant ou New-Cluster
devient reproductible, stable et conforme aux bonnes pratiques WSFC.
Rappel : Les prérequis classiques incluent la même version de Windows Server, l’appartenance au même domaine, des horloges synchronisées, un réseau/DNS sain, les ports du cluster ouverts, et un quorum (disque, partage ou cloud) joignable. En cas d’échec, consultez les rapports HTML dans %SystemRoot%\Cluster\Reports\
et le journal Microsoft‑Windows‑FailoverClustering/Operational; si des objets AD orphelins persistent, supprimez-les via ADSI Edit ou Remove-ClusterNameAccount
. L’application des mises à jour cumulatives Windows Server résout fréquemment des anomalies de validation/communication.