Durante la creazione di un Windows Failover Cluster può comparire l’errore “Error occurred while creating the cluster and the nodes will be cleaned up”. In questa guida trovi una procedura operativa, script e checklist per risolvere rapidamente la causa e completare la creazione del cluster.
Sintomi e messaggio di errore
Nel wizard di Failover Cluster Manager o via PowerShell (New-Cluster) la procedura si interrompe con il messaggio:
Error occurred while creating the cluster and the nodes will be cleaned up
Il processo esegue un rollback automatico: i nodi vengono rimossi dalla configurazione parziale e il cluster non viene creato. Questo errore è generico: indica che qualcosa tra validazione, connettività, permessi di dominio, DNS o stato dei nodi non è in ordine.
Perché accade: cosa c’è dietro quel messaggio
La creazione di un Windows Server Failover Clustering (WSFC) implica più passaggi coordinati:
- Validazione hardware/OS/rete/storage dei nodi (Cluster Validation).
- Creazione dell’oggetto computer del cluster in Active Directory (Cluster Name Object, CNO) e relativa registrazione DNS.
- Assegnazione dell’indirizzo IP del cluster e inizializzazione del servizio di clustering.
- Eventuale creazione di ruoli e Virtual Computer Object (VCO) per i servizi in alta disponibilità.
Se uno di questi punti fallisce (permessi insufficienti in AD, record DNS non aggiornati, porte bloccate, differenze di orario che rompono Kerberos, residui di una configurazione precedente sui nodi), il wizard interrompe la creazione e ripulisce quanto fatto, mostrando l’errore in oggetto.
Procedura di risoluzione consigliata (rapida)
- Esegui la convalida del cluster. Avvia il Cluster Validation Wizard da Failover Cluster Manager e analizza tutti i report. In PowerShell:
Test-Cluster -Node NODO1,NODO2 -Include "Inventory","Network","Storage","System Configuration"Correggi ogni Warning/Error (dischi, rete, AD, sicurezza) prima di proseguire. - Pulisci lo stato dei nodi. Su ciascun nodo, con PowerShell elevata:
Clear-ClusterNode -ForceRimuove configurazioni parziali lasciate dal tentativo precedente e riporta i nodi a uno stato “pulito”. - Verifica l’account di accesso. L’utente con cui stai creando il cluster deve essere un account di dominio con permessi adeguati (membro di Domain Admins o con delega specifica alla OU). Assicurati anche che la OU dove risiederà il CNO consenta la creazione dell’oggetto computer.
- Controlla DNS, firewall e orologio. Accertati che i record DNS siano corretti, le porte richieste non siano bloccate e che l’ora sia sincronizzata.
- Riesegui la creazione. Dopo i passaggi sopra, ripeti la creazione. Nel caso reale che ha ispirato questa guida, il cluster è stato creato con successo al secondo tentativo.
Prerequisiti: non saltarli
- Feature installate: su tutti i nodi:
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools - Rete: connettività L2/L3 tra i nodi, DNS funzionante, latenza adeguata.
- Storage (se usato): dischi condivisi visibili con identica firma a tutti i nodi (o CSV), senza partizioni “sporche”.
- Account di dominio: credenziali con i diritti indicati qui sotto.
Validazione: come leggerla e cosa sistemare
La validazione (Test-Cluster) è il semaforo verde prima della creazione. Ecco come interpretarla:
- Inventory: versioni OS, patching coerente, driver HBA/NIC allineati. Disallineamenti importanti → aggiornare.
- Network: verifica routing, DNS, MTU, doppio NIC teaming. Errori su “Same Subnet” o “Misconfigured network” vanno risolti.
- Storage: coerenza di visibilità dei LUN, supporto SCSI-3 PR, verifiche di latenza I/O.
- System Configuration: servizi essenziali, firewall, ruoli e funzionalità richieste.
Se il report contiene errori di Active Directory (impossibilità di creare il CNO) o di DNS (record non aggiornati), correggili prima di proseguire.
Pulizia completa con Clear-ClusterNode
Quando un tentativo fallisce, su ciascun nodo esegui:
Clear-ClusterNode -Force
Questo cmdlet rimuove servizi, chiavi di registro e metadata del clustering lasciati in stato intermedio. È sicuro se il cluster non è stato creato. In scenari misti (alcuni nodi dentro, altri fuori) verifica sempre lo stato complessivo con:
Get-Service -Name ClusSvc
Get-Cluster -ErrorAction SilentlyContinue
Permessi in Active Directory: cosa serve davvero
Per creare un cluster è necessario che l’utente o la OU alvo dispongano dei diritti per creare l’oggetto computer del cluster (CNO) e che il CNO, a sua volta, possa creare i VCO (computer virtuali) per i ruoli in HA.
| Oggetto | Diritto minimo | Dove | Note operative |
|---|---|---|---|
| Account che crea il cluster | Create/Delete Computer Objects | OU target del CNO | In alternativa, usa un account Domain Admin. |
| CNO (computer del cluster) | Create Computer Objects | OU dei VCO | Necessario per creare i nomi client dei ruoli (file server, ecc.). |
| DNS | Aggiornamento dinamico | Zona DNS del dominio | Verifica che i record A/AAAA possano essere creati o aggiornati. |
Se preferisci il pre-staging, puoi creare manualmente l’oggetto computer del cluster (CNO) in AD, disabilitarlo, quindi assegnare all’account che crea il cluster il controllo necessario su tale oggetto e sulla OU dei VCO. Dopo la creazione, il CNO verrà abilitato automaticamente e registrerà i record DNS.
DNS e sincronizzazione oraria
Gli errori più subdoli arrivano spesso da DNS e orario.
- DNS: controlla la risoluzione forward/reverse dei nodi e l’eventuale record del nome cluster (se preesistente, valuta l’eliminazione). Esempi rapidi:
Resolve-DnsName NODO1 Resolve-DnsName NODO2 Resolve-DnsName NOMECLUSTER - Orario (Kerberos): differenze superiori a pochi minuti tra nodi e controller di dominio causano fallimenti di autenticazione. Comandi utili:
w32tm /query /status w32tm /query /configuration w32tm /resync
Firewall e porte richieste
Assicurati che le seguenti porte/protocolli siano consentiti tra i nodi (e verso DC/DNS/file share witness):
| Servizio | Porte/Protocolli | Direzione | Uso | Verifica rapida |
|---|---|---|---|---|
| Cluster service/Heartbeat | TCP/UDP 3343 | Tra nodi | Comunicazione interna cluster | Test-NetConnection <nodo> -Port 3343 |
| RPC Endpoint Mapper | TCP 135 | Tra nodi e verso DC | WMI/DCOM, gestione remota | Test-NetConnection <dc> -Port 135 |
| RPC dinamiche | TCP 49152–65535 | Tra nodi e verso DC | Chiamate DCOM/WMI | Valuta regole firewall dedicate |
| SMB | TCP 445 | Verso file share/DC | File Share Witness, accessi | Test-NetConnection <server> -Port 445 |
| Kerberos | TCP/UDP 88 | Verso DC | Autenticazione | Controlla tempi e SPN |
| LDAP/LDAPS | TCP 389/636 | Verso DC | Query a AD | Test-NetConnection <dc> -Port 389 |
| DNS | UDP/TCP 53 | Verso DNS | Risoluzione nomi | Test-NetConnection <dns> -Port 53 |
| NTP | UDP 123 | Verso time source | Sincronizzazione oraria | w32tm /resync |
Se sei in cloud, verifica anche le regole dei network security group o firewall virtuali.
Rieseguire la creazione del cluster in modo pulito
Dopo validazione, pulizia e verifiche, crea il cluster con PowerShell (consigliato per trasparenza e ripetibilità):
$ClusterName = "NOMECLUSTER"
$ClusterIP = "10.10.10.50" # opzionale, se usi IP statico
$Nodes = "NODO1","NODO2"
(opzionale) Se usi una specifica rete per il cluster:
New-Cluster -Name $ClusterName -Node $Nodes -StaticAddress $ClusterIP -NoStorage -AdministrativeAccessPoint ActiveDirectoryAndDNS
New-Cluster -Name $ClusterName -Node $Nodes -StaticAddress $ClusterIP
Start-ClusterGroup -Name "Cluster Group"
Get-ClusterNetwork | Format-Table Name, Role, Address
Se aggiungi nodi successivamente:
Add-ClusterNode -Name NODO3
Per generare i log in caso di nuovo errore:
Get-ClusterLog -UseLocalTime -Destination C:\Temp\ClusterLogs
Script di pre-check automatico (puoi incollarlo così com’è)
Questo script esegue i controlli più comuni: DNS, tempo, porte chiave tra nodi e un Test-Cluster senza storage.
param(
[Parameter(Mandatory=$true)][string[]]$Nodes,
[Parameter(Mandatory=$true)][string]$ClusterName,
[string]$WitnessShare
)
Write-Host "== Pre-check per Failover Cluster =="
1) DNS
$targets = $Nodes + $ClusterName
foreach ($t in $targets) {
Write-Host "DNS: $t"
try { Resolve-DnsName -Name $t -ErrorAction Stop | Out-Null; Write-Host " OK - Risoluzione riuscita" }
catch { Write-Warning " FAIL - Impossibile risolvere $t" }
}
2) Tempo
Write-Host "Sincronizzazione oraria (w32tm)"
w32tm /query /status
3) Porte tra nodi
$ports = 3343,135,445
foreach ($src in $Nodes) {
foreach ($dst in $Nodes) {
if ($src -ne $dst) {
foreach ($p in $ports) {
Write-Host "Test porta $p da $src verso $dst"
Invoke-Command -ComputerName $src -ScriptBlock {
param($d,$port)
$r = Test-NetConnection -ComputerName $d -Port $port -WarningAction SilentlyContinue
if ($r.TcpTestSucceeded) { Write-Host " OK" } else { Write-Warning " FAIL" }
} -ArgumentList $dst,$p
}
}
}
}
4) Test-Cluster (senza storage, per rapidità)
try {
Test-Cluster -Node $Nodes -Include "Inventory","Network","System Configuration" -ErrorAction Stop
Write-Host "== VALIDAZIONE OK =="
} catch {
Write-Warning "== VALIDAZIONE CON ERRORI: verifica il report in C:\Windows\Cluster\Reports =="
}
5) Witness (opzionale)
if ($WitnessShare) {
Write-Host "Verifica accesso alla share witness: $WitnessShare"
Test-Path $WitnessShare | ForEach-Object { if ($_){ Write-Host " OK" } else { Write-Warning " FAIL" } }
}
Note pratiche su AD e DNS
- Oggetti duplicati: se la creazione è fallita dopo aver parzialmente creato il CNO, in AD potresti trovare l’oggetto disabilitato. Eliminalo (o correggi i permessi) prima di riprovare.
- Protezione da eliminazione accidentale: se abilitata sulla OU, può bloccare la creazione o la rimozione del CNO/VCO. Verifica le proprietà della OU.
- Record DNS residui: un record A/AAAA del nome cluster preesistente con IP errato può impedire l’aggiornamento. Rimuovilo o correggilo.
Storage e quorum: verifiche essenziali
Se usi dischi condivisi, esegui questi controlli prima della creazione:
- Visibilità: ogni LUN deve essere presentato a tutti i nodi con la stessa firma disco.
- Sanità: nessun disco “offline” o con errori nel Visualizzatore eventi.
- CSV: se pianifichi i Cluster Shared Volumes, verifica che i nodi supportino e abbiano i driver aggiornati.
Per il quorum, scegli il witness appropriato:
- File Share Witness: una share altamente disponibile e raggiungibile da tutti i nodi.
- Cloud Witness: pratico in ambienti con siti geografici diversi.
- Disk Witness: se disponi di storage condiviso dedicato.
Checklist rapida di risoluzione
- Failover Clustering installato su tutti i nodi.
- Validazione completata senza errori bloccanti.
Clear-ClusterNode -Forceeseguito su tutti i nodi dopo un tentativo fallito.- Account con diritti in AD sulla OU target; CNO con permessi per creare VCO.
- DNS pulito e aggiornamenti dinamici funzionanti.
- Firewall: 3343, 135, 49152–65535, 445, 88, 389/636, 53, 123 aperti secondo necessità.
- Tempo sincronizzato tra nodi e DC.
- Storage condiviso coerente (se usato).
Domande frequenti
Il wizard dice che non può creare il nome del cluster.
Quasi sempre è un problema di permessi in AD oppure di record DNS preesistente. Delega “Create Computer Objects” alla OU e verifica che non esistano oggetti/record col medesimo nome.
Il cluster si crea ma l’IP resta “Failed”.
Il record DNS non si aggiorna o l’IP è già in uso. Controlla DHCP/IP statico, eventuale ARP caching e la reachability della subnet.
La validazione segnala differenze di driver di rete.
Allinea i driver/firmware delle NIC e verifica le impostazioni (VLAN, jumbo frame, RSS/VMQ) in modo coerente su tutti i nodi.
Non ho storage condiviso.
Puoi creare un cluster senza storage e usare un File Share o Cloud Witness per il quorum; abilita i ruoli che non richiedono dischi condivisi.
Esempio end‑to‑end: dalla verifica alla creazione
- Su tutti i nodi: installa la feature e riavvia se richiesto.
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools - Esegui la validazione:
Test-Cluster -Node NODO1,NODO2 -Include "Inventory","Network","Storage","System Configuration" - Se fallisce, correggi i punti evidenziati e riprova. Se la creazione è già stata tentata, pulisci:
Clear-ClusterNode -Force - Verifica permessi in AD (OU corretta, nessun oggetto duplicato), DNS e orario.
- Crea il cluster:
New-Cluster -Name "NOMECLUSTER" -Node "NODO1","NODO2" -StaticAddress "10.10.10.50" - Imposta il witness (esempio: file share):
Set-ClusterQuorum -FileShareWitness "\\server\witness$" - Verifica lo stato:
Get-ClusterGroup | Format-Table Name, State, OwnerNode Get-ClusterNetwork | Format-Table Name, Role, Address
Conclusione
Il messaggio “Error occurred while creating the cluster and the nodes will be cleaned up” indica un fallimento in fase di inizializzazione dovuto quasi sempre a validazione non superata, residui di configurazioni sui nodi, permessi AD/DNS insufficienti o problemi di rete/tempo. Seguendo l’ordine validazione → pulizia → permessi di dominio → DNS/porte/tempo → nuova creazione la situazione si risolve nella stragrande maggioranza dei casi. Nel caso reale da cui nasce questo articolo, dopo Clear-ClusterNode, il controllo degli account di dominio e la sistemazione di DNS, il cluster è stato creato correttamente al secondo tentativo, con feedback finale: “Thank you, now it’s working”.
Riferimenti operativi veloci
- Validazione:
Test-Cluster - Pulizia:
Clear-ClusterNode -Force - Creazione:
New-Cluster - Log:
Get-ClusterLog -UseLocalTime -Destination C:\Temp - DNS:
Resolve-DnsName <host> - Tempo:
w32tm /query /status - Porte:
Test-NetConnection <host> -Port <n>
Suggerimento: conserva uno script di provisioning con tutti i parametri (nome cluster, IP, nodi, OU, witness). La ripetibilità è fondamentale: se devi rifare l’operazione avrai un’unica fonte di verità e ridurrai drasticamente gli errori.
