Muovere i servizi di Windows Cluster via command line

di Pubblicato: 5 agosto 2009 Aggiornato: 9 aprile 2011 0 commenti

Nell’amministrazione di un cluster sotto ambiente Windows Server Enterprise, può capitare che a seguito dell’installazione di una patch sia necessario riavviare la macchina. Il movimento dei gruppi (leggi come servizi erogati) da un nodo all’altro significa comunque un disservizio anche se molto limitato nel tempo (solitamente qualche secondo).
Ad esempio, spostare un gruppo che contiene il servizio di posta Microsoft Exchange, comporterà per parecchi client l’avviso sul desktop di perdita e ripristino della connessione. Decisamente seccante se non volete ricevere chiamate d’assistenza totalmetne inutili.

In questo caso si può “spostare” nel tempo il momento in cui potremo cambiare nodo, ad esempio dopo l’orario di lavoro, anche se noi non siamo fisicamente presenti. Per fare questo ci viene in aiuto la command-line, che potremo schedulare comodamente con lo scheduler di windows.

Sotto la directory C:\Windows\System32 è presente il file cluster.exe che di fatto permette di effettuare le operazioni sul cluster non solo tramite la GUI ma anche via command-line.

Potrete trovare documentazione aggiuntiva presso la Technet Microsoft a questa pagina. Oppure un sunto dell’help alla fine di questo articolo.

Procediamo a vedere come si muove un gruppo di un cluster. Poniamo che il cluster si chiami MYCLUSTER, e i nodi fisici si chiamino NODE1 e NODE2. Per il gruppo solitamente troviamo MSDTC e ClusterGroup.

Il comando che daremo sarà:
C:\WINDOWS\system32>cluster.exe /cluster:MYCLUSTER group “MSDTC” /moveto:NODE02

Quindi ricapitolando, basterà che modifichiate MYCLUSTER, NODE02 e MSDTC con le nomenclature che avete scelto. Notare che il gruppo va racchiuso tra virgolette, questo perchè i nodi talvolta sono insiemi di parole, tipo “Cluster Group”.

Sicuramente la successiva domanda sarà, già ma un cluster difficilmente è composto da un solo gruppo, visto che è buona norma usare appunto un gruppo per il cluster, uno per l’MSDTC e uno per il servizio erogato.
In questo caso è possibile “raggruppare” i gruppi, come descritto in questa pagina del technet, con questo comando:
cluster MYCLUSTER group “disk group 1″ /prop AntiAffinityClassNames=”SEP1”
cluster MYCLUSTER group “disk group 2″ /prop AntiAffinityClassNames=”SEP1”

Possiamo anche fare più associazioni, anche incrociate, modificando il valore “SEP1”

Un estratto dell’help di cluster.exe

C:\WINDOWS\system32>cluster.exe -?
The syntax of this command is:

CLUSTER /LIST[:domain-name]

CLUSTER /CHANGEPASS[WORD] /?
CLUSTER /CHANGEPASS[WORD] /HELP
CLUSTER /CLUSTER:clustername1[,clustername2[,…]]
/CHANGEPASS[WORD][:newpassword[,oldpassword]]

=
[/FORCE] [/QUIET] [/SKIPDC] [/TEST] [/VERB[OSE]] [/UNATTEND[ED]] [/?] [/HELP]

CLUSTER [/CLUSTER:]cluster-name

=
/CREATE [/NODE:node-name] [/VERB[OSE]] [/UNATTEND[ED]] [/MIN[IMUM]]
/USER:domain\username | username@domain [/PASS[WORD]:password]
/IPADDR[ESS]:xxx.xxx.xxx.xxx[,xxx.xxx.xxx.xxx,network-connection-name]
/ADD[NODES][:node-name[,node-name …]] [/VERB[OSE]] [/UNATTEND[ED]]
[/MIN[IMUM]] [/PASSWORD:service-account-password]

CLUSTER [[/CLUSTER:]cluster-name]

=
/CREATE [/NODE:node-name] /WIZ[ARD] [/MIN[IMUM]]
[/USER:domain\username | username@domain] [/PASS[WORD]:password]
[/IPADDR[ESS]:xxx.xxx.xxx.xxx]
/ADD[NODES][:node-name[,node-name …]] /WIZ[ARD] [/MIN[IMUM]]
[/PASSWORD:service-account-password]
/PROP[ERTIES] []
/PRIV[PROPERTIES] []
/PROP[ERTIES][:propname[,propname …] /USEDEFAULT]
/PRIV[PROPERTIES][:propname[,propname …] /USEDEFAULT]
/REN[AME]:cluster-name
/QUORUM[RESOURCE][:resource-name] [/PATH:path] [/MAXLOGSIZE:max-size-kbytes]
/SETFAIL[UREACTIONS][:node-name[,node-name …]]
/LISTNETPRI[ORITY]
/SETNETPRI[ORITY]:net[,net …]
/REG[ADMIN]EXT:admin-extension-dll[,admin-extension-dll …]
/UNREG[ADMIN]EXT:admin-extension-dll[,admin-extension-dll …]
/VER[SION]
NODE [node-name] node-command
GROUP [group-name] group-command
RES[OURCE] [resource-name] resource-command
{RESOURCETYPE|RESTYPE} [resourcetype-name] resourcetype-command
NET[WORK] [network-name] network-command
NETINT[ERFACE] [interface-name] interface-command

=
name=value[,value …][:] [name=value[,value …][:] …]

=
BINARY|DWORD|STR[ING]|EXPANDSTR[ING]|MULTISTR[ING]|SECURITY|ULARGE

CLUSTER /?
CLUSTER /HELP

Note: With the /CREATE, /ADDNODES, and /CHANGEPASSWORD options, you
will be prompted for passwords not provided on the command line
unless you also specify the /UNATTENDED option.

Ti è stato utile questo articolo?
Considera una piccola donazione: Bitcoin 35CGcJ2NzV9oUHmJwGzBp8QVRoWcaDdCiz oppure Paypal

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi