Aggiungere un nodo ad un cluster
Un paio di settimane fa Andrea Gallazzi, amico con cui ho condiviso molte delle più belle esperienze da quando sono MVP, mi ha segnalato un problema riscontrato nel tentativo di ricollegare un nodo ad un cluster. Sull'istanza clusterizzata era già presente il SP2 e seguendo la procedura riportata in questa pagina, dal Pannello di Controllo (Add/Remove Programs) si doveva procedere all'installazione di SQL Server sul nodo appena aggiunto per poi completare la procedura con l'installazione del SP2 e di eventuali altre hotfix. Tuttavia ogni tentativo di installare il service pack, sia dal nodo attivo che da quello passivo, non andava a buon fine ed i messaggi presenti negli error log non erano di grande aiuto. Nel Summary.txt era presente un generico
Error Number : 11009
Error Description : No passive nodes were successfully patched
In HotFix.log le informazioni erano ancora più scarne e fuorvianti...
Dopo una ricerca nella kb (alcuni problemi simili possono essere originati da una non corretta risoluzione dei nomi, ma non era questo il caso), nei forum msdn e nei newsgroup di mezzo mondo, dopo una verifica degli user rights e permessi NTFS di cui disponeva l'account di servizio sul nuovo nodo, event viewer completamente pulito, MSDTC a posto, ecc ecc... Andrea ha deciso di aprire una chiamata al PSS.
In sostanza il problema deriva dal fatto che, a dispetto di quanto dice la procedura di rebuild indicata nel link di cui sopra, il setup del service pack (ma lo stesso sarebbe per qualunque hotfix) non può andare avanti perchè, dovendo eseguire l’exe sul nodo attivo si presentano 2 scenari:
1) Il nodo attivo è SP2. L’applicazione non prosegue perché vede la patch già presente in locale.
2) Il nodo attivo è RTM. L’applicazione inizia con il setup sul nodo remoto che, essendo SP2, fallisce e interrompe tutta la procedura.
A questo punto un support americano ha proposto un workarond che comporta il far credere al setup di trovarsi su un cluster mononodo. Per fare questo si deve accedere alle proprietà delle singole risorse in Cluster Administrator e lasciare come possible owner solo il nodo (o i nodi) su cui si deve applicare il service pack e rimuovere tutti gli altri. Ovviamente le risorse devono già trovarsi sul possible owner su cui devono essere allineate le fix così come è bene spostare su quel nodo anche il servizio MSDTC.
Fatto questo il setup è andato a buon fine e, dopo aver rimesso a posto, per ciascuna risorsa, i rispettivi possible owner, la questione poteva dirsi conclusa.
Se qualcuno, leggendo questo mio post, riesce ad uscire da un problema analogo... deve ringraziare Andrea Gallazzi da Busto Arsizio... 
Bye