23/11/2011
Windows cluster forcecleanup
Windows riesce sempre a sorprenderti, quando pensi di aver raggiunto una livello di esperienza professionale tale da poter dire con fare soddisfatto “ho visto sfighe che voi uomini non potete immaginare…”, ecco che in quel momento ti capita tra capo e collo un cluster Windows claudicante da riportare sulla retta via.
Personalmente non ho mai visto di buon occhio questa tecnologia, ho installato e configurato alcuni cluster active/passive su distribuzioni RedHat, ma su Windows mi ha sempre indispettito questo alone di mistero che si frappone tra utente e risorse del cluster, oppure il fatto che fosse necessario un dominio Active Directory per fare qualcosa che una banale RedHat fa con un file xml editabile con vi.
La situazione di partenza è la seguente:
- OS Windows Server 2003 Enterprise
- storage su SAN FC definito come risorsa di cluster
- server disconnesso dal dominio Active Directory con indirizzi e hostname differenti rispetto alla condizione di normale funzionamento del cluster
L’obbiettivo è riportare il server ad essere un sistema stand-alone con risorse indipendenti (in particolare lo storage) dal cluster Windows.
A tal proposito Microsoft viene in soccorso con il seguente articolo; se siete fortunati vi basterà lanciare il comando che segue ottenendo il risultato sperato:
C:\>cluster node /forcecleanup Attemping to clean up node 'clustest01' ... Clean up successfully completed.
Tornate dal vostro manager e bullatevi di fronte ai colleghi (che ovviamente ignoreranno ogni dettaglio riguardante il problema e vi guarderanno come il tipico nerd alieno :\ )
Se invece siete sfortunati come il sottoscritto e quando attraversate la strada anche i gatti neri “si toccano” invece otterrete:
C:\>cluster node /forcecleanup Attemping to clean up node 'clustest01' ... System error -2147352567 has occuerred (0x80020009). Exception occurred.
A questo punto non fatevi prendere dal panico e verificate quanto segue:
- log del servizio di clustering nel percorso C:\WINDOWS\system32\LogFiles\Cluster
- aprite il registro di sistema lanciando il comando regedit e verificate che il valore della chiave di registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Cluster Server\ClusterInstallationState sia settato a ‘2’
Nel caso non lo fosse modificatela in modo che abbia quel valore, riavviate e riprovate a lanciare il comando di forcecleanup
Nel caso in cui la modifica della chiave di registro ClusterInstallationState non abbia sortito gli effetti sperati non vi resta che passare alla soluzione radicale…
NO FERMI! Lasciate stare il cd di installazione! Reinstallare il sistema operativo per un problema ad un servizio è da noob :)
Procedete in questo modo:
- utilizzando regedit effettuate il backup delle chiavi di registro:
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusNet
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusSvc
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusDisk\Parameters
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusDisk\Enum - backup dei file/directory:
– C:\WINDOWS\Cluster\MSCS\
– C:\WINDOWS\Cluster\CLUSDB - utilizzando regedit cancellare le chiavi di registro indicate al punto 1 e i file/directory indicati al punto 2
- modificate la chiave di registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Cluster Server\ClusterInstallationState settando il valore a ‘1’
- riavviate il sistema operativo
- rilanciate il comando “cluster node /forcecleanup”, ora l’esecuzione dovrebbe essere andata a buon fine e le risorse di storage dovrebbero essere tornate accessibili come lun indipendenti.
- YEPPA!