VMware Global Community
stumpydoo
Contributor
Contributor

Crash di HA durante lo spegnimento di un nodo

Ciao  a tutti, ho un comportamento anomalo dell' HA su un cluster 4 nodi (esx 4.1) con un vcenter (win 2008 x64)  virtuale ospitato da uno dei nodi.

Su ciascun ESX, esiste un solo Vswitch con 3 nic fisiche. Non sono state implementate VLAN, quindi la "service console", la "vkernel", e le varie VM si trovano tutte sulla stessa subnet. Su ciascuna VM (suse linux) sono stati installati VMware Tools.

I 4 nodi e il vcenter utilizzano i rispettivi file hosts, quindi non il dns nè i nomi FQDN, con la sola differenza che nel file hosts del vcenter i nomi sono stati impostati in MAIUSCOLO.

Ho verificato pero' che i files FT_HOSTS dell' ha su ciascun esx riportano correttamente indirizzi IP ed hostname in minuscolo degli ESX.

Ciascun ESX riesce a pingare correttamnete il gateway. Ho poi impostato su ciascun nodo la modalità  GUEST SHUTDOWN per le VM per eseguire uno spegnimento pulito dei sistemi in caso di prolungata mancanza di corrette dalla rete. In realta' lo spegnimento viene eseguito da 2 UPS tramite il software powerchute. Quando tuttavia provo ad eseguire un test di spegnimento di un nodo (di uno dei nodi che non ha in carico il VCenter) partito il "poweroff" si registra un crash totale dei nodi e dell' HA. Gli ESX vanno riaccesi a mano. Non riesco a risalire alla causa. E' possibile che sia l' STP degli switch Cisco non impostato a portfast a disconnettere contemporaneamente i nodi anche se la modalità GUEST SHUTDOWN impostata dovrebbe impededire il failover delle VM su uno degli altri nodi?

Grazie.

Reply
0 Kudos
36 Replies
Fab75
Enthusiast
Enthusiast

Ciao,

un po' di chiarimenti:

- l'HA fa il failover delle VM, non degli host; se un host è spento, lo dovrai riaccendere a mano

- l'HA di suo non spegne gli host, in nessun caso, al massimo spegne le VM (se gli host vanno in isolamento)

- l'opzione "Guest Shutdown" serve come risposta all'isolamento di un host, per consentire (e non impedire!) agli altri host di riaccendere le VM

- l'opzione "Guest Shutdown" non c'entra nulla con l'UPS, fa parte dell'HA

Alcune domande:

- Hai per caso impostato parametri avanzati per l'HA?

- chi è il default gateway?

- come esegui il test di spegnimento? Spegni manualmente un nodo?

L'STP su CISCO non settato su portfast ti darà dei problemi, ma per le VM (quando le migri o riaccendi su un altro nodo); per quanto riguarda gli host ESX e la loro rete di management non vedo come possa essere un problema in questo caso.

In ogni caso dovresti fornire qualche dettaglio in più perchè così non è ben chiaro quale possa essere il problema.

Reply
0 Kudos
stumpydoo
Contributor
Contributor

Ciao Fabio, il test di spegnimento viene simulato disconnettendo l'UPS dalla rete elettrica. Dopo 180 secondi di alimentazione a batteria (tempo indicativo per il test) l'UPS tramite scheda di rete invia il comando di spegnimento agli ESX, dove risiede l'agent installato del powerchute che avvia lo spegnimento di ciascun nodo (POWEROFF). Siccome il risultato desiderato è che ciascun nodo ESX e relative VM si spengano correttamente, è stata attivata la modalità GUEST SHUTDOWN su ogni ESX e i tools su ogni VM. Questa configurazione l'ho letta sul sito APC per quanto riguarda la configurazione degli ESX.

In questo caso l' HA non dovrebbe riaccendere le VM e tentare un failover perchè tutti i nodi del cluster, in una situazione reale, riceverebbero il comando di spegnimento dall'UPS. Quello che avevo pensato io invece, era che potesse accadere proprio questo, cioè che magari l'opzione GUEST SHUTDOWN fosse sovrascritta dall' HA che tentando di riavviare le VM su un altro nodo potesse innescare il problema del STP e bloccare le porte dello switch coinvolte.

Tieni presente che le VM, la Vkernel, e la service console si trovano tutte sulla stessa sottorete, stesso Vswitch e utilizzano le medesime NIC fisiche e quindi stesse porte sull switch CISCO.

L'alternativa  a cui avevo pensato pure, è che ci sia un problema su qualche apparato di rete o che magari non tutti supportino la velocità di 1000 Full. Che ne pensi potrebbe essere?

Per quanto riguarda le domande, non è stata implementata nessuna opzione avanzata. Tutte le opzioni sono quelle di default proposte dal wizard di configurazione.

Il DRS non è abilitato. Ho provato ad effettuare vari test di migrazione manuale delle VM tra i nodi e non ho avuto problemi di nessun genere.

Il gateway è un apparato switch/gateway per la subnet, sempre CISCO.

Purtroppo gli UPS sono arrivati dopo che il sistema è entrato in produzione, percio' i test vanno schedulati in giorni stabiliti per non impattare troppo sul servizio.

I prossimi verranno riprovati la prox settimana, se hai dei log che mi puoi consigliare di verificare ti ringrazio in anticipo.

A

Reply
0 Kudos
AndreTheGiant
Immortal
Immortal

Ma usi l'agente di PowerChute dentro gli host?

Io personalmente preferisco gestire tutto da script (anche perché l'opzione che dici viene puntualmente disattivata ogni volta che attivi o reinstallali l'HA).

In questo modo puoi anche definire l'ordine di spegnimento delle VM e successivamente degli host.

Andrew | http://about.me/amauro | http://vinfrastructure.it/ | @Andrea_Mauro
Fab75
Enthusiast
Enthusiast

Ok ora è  più chiaro: mi pare di capire che hai configurato l'UPS per  spegnere gli host facendo leva sull'opzione di ogni host ESX per  spegnere le VM in ordine prestabilito.

Come dice Andrea il problema di questa funzione è che  viene disattivata quando configuri l'HA di VMware, per cui quello che  probabilmente ti è successo è che l'host è stato spento e così pure le  VM, ma in maniera "brutale", per cui l'HA ha scatenato il failover sugli  altri host fisici.

Per ovviare devi avere un qualche altro sistema che  spenga le VM in maniera "pulita": o un agente dedicato APC (dentro le VM), oppure  tramite script.

stumpydoo
Contributor
Contributor

Ciao  Andrea/Fabio,

Intanto grazie.

In effetti nella guida APC non c'è nessun riferimento allo spegnimento dell'ESX con l'HA abilitato. E per rispondere ad Andrea, si ho installato l'agent di powerchute su ogni host ESX. Allora se la modalità GUEST SHUTDOWN viene disabilitata, siccome l'UPS puo' eseguire anche uno script sul server invece del più generale poweroff, se provassi a fargli eseguire uno script del genere:

# Get the VM list
VMLIST=`/usr/bin/vmware-cmd -l`
for VM in $VMLIST
do
/usr/bin/vmware-cmd "$VM" stop trysoft
sleep 2
done

Riuscirei a spegnere le VM? Come faccio pero' ad assicurarmi che l'HA non tenti di riavviarle?

Grazie.

A

Reply
0 Kudos
ldelloca
Virtuoso
Virtuoso

HA riaccende VM andate in crash, non quelle spente volutamente, altrimenti terrebbe sempre acceso tutto Smiley Wink

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos
AndreTheGiant
Immortal
Immortal

Sì, lo script potrebbe funzionare... occhio però che in vSphere 5 non sarebbe portabile.

Come ha scritto Luca, l'HA non riaccente le macchine che sono state spente volutamente.

Andrew | http://about.me/amauro | http://vinfrastructure.it/ | @Andrea_Mauro
Reply
0 Kudos
lombardialess
Enthusiast
Enthusiast

Ciao a tutti,

quindi in caso di HA non usate l'agent di powerchute sulla vMA ma solo script?

Gli script da dove li fate partire? come batch dall'UPS?

avete una bozza di script che utilizzate con Esxi 4.1 e Esxi 5.0?

Domande magari stupide ma con HA non avevo pensato al problema dello Guest Shutdown! Smiley Wink

Grazie

Ale

Reply
0 Kudos
stumpydoo
Contributor
Contributor

ok, grazie. 🙂

Nel mio caso una volta installato powerchute 3.0 sul server ESX mi collego alla pagina di configurazione tramite browser:

https://<ip_esx>:6547 e configuro gli eventi che l'UPS puo' scatenare.

Lo spegnimento diretto del nodo con HA è stato parecchio problematico, adesso l'idea sarebbe di impostare, tramite apposito campo sull'interfaccia web, il path per l'esecuzione di un comando/script creato su ogni ESX.

Io ho un ESX 4.1 per ora ho provato questo manualmente e sembra funzionare bene:

for vm in $(vmware-cmd –l); do

vmware-cmd $vm stop trysoft

done

Eventualmente si puo' aggiungere anche

sleep 600

poweroff

Per spegnere anche l'ESX. In questo modo dovrebbe essere tutto più semplice.

Io ho un Vcenter 4.1 virtuale, posso trattarlo come le altre VM? devo installarci i VMware tools?

Grazie.

Reply
0 Kudos
AndreTheGiant
Immortal
Immortal

Con ESX full usavo apcupsd che andava bene anche con il protocollo PowerChute. Ma oramai ho ripiegato su script esterni.

Per vMA ci sono vari esempi sul sito di William Lam.

Andrew | http://about.me/amauro | http://vinfrastructure.it/ | @Andrea_Mauro
Reply
0 Kudos
ldelloca
Virtuoso
Virtuoso

Anche perchè in ottica vSphere 5.0 e successivi, lo scripting locale andrà per forza di cose abbandonato, quindi meglio dedicarsi allo scripting esterno.

Per gli script, il sito di William Lam è ottimo, i suoi script sono presenti anche direttamente su questa community:

http://communities.vmware.com/docs/DOC-9852

in particolare c'è questo:

http://communities.vmware.com/docs/DOC-11902

Per la domanda sui VMware tools, faccio finta di non aver letto... i tools vanno installati sempre sulle virtual machines! Smiley Happy

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos
iCash
Contributor
Contributor

Prova a passare a vNetwork Distributed Switch ...dovresti risolvere

ciao

iCash

Cert.JPG

Reply
0 Kudos
lombardialess
Enthusiast
Enthusiast

I distributed switch sono parte della Enterprise edition, se ha un Essential o una Standard non può utilizzarli.

Reply
0 Kudos
drakpzone
Enthusiast
Enthusiast

Ciao iCash,

è un piacere avere tra di noi un nuovo VCDX, che si va ad aggiungere ai nostri Fabio e Andrea... A proposito, riesci a darci i tuoi dati, cosi' ti possiamo riconoscere, perche' nella VCDX directory non troviamo altri nomi di italiani. Sai, visto che si tratta di una prestigiosa quanto difficilissima certificazione da raggiungere, fra i nostri compiti c'e' anche quello di tutelare quelli che se la sono sudata e guadagnata rispetto a qualche cialtrone che va in giro a millantare conoscenze che non ha e certificazioni che non ha ottenuto...

Sicuramente tu non sei uno di questi, quindi... fatti conoscere! 🙂

PJ

VMUG IT Leader

Reply
0 Kudos
frapposelli
Enthusiast
Enthusiast

Solo una cosa: LOL

Non solo la tua risposta non ha un senso logico alla domanda dell'OP, ma il fatto che metti una lista di certificazioni che non hai ottenuto ti rende ancora più patetico.

Reply
0 Kudos
lombardialess
Enthusiast
Enthusiast

Non avevo fatto caso alle millantate certificazioni...e in effetti la risposta mi sembrava un pò off topic....

Meno male che abbiamo il servizio di sicurezza al VMUGIT!!!!!

Smiley Wink

Reply
0 Kudos
iCash
Contributor
Contributor

Ho semplicemente dato il mio consiglio

...che voi  crediate o no alle mie certificazioni ha poca importanza

con affetto

iCash

Cert.JPG

Reply
0 Kudos
drakpzone
Enthusiast
Enthusiast

Non e' questione di credere o non credere. Tu il VCDX non ce l'hai. Ergo, sei un fake.

Reply
0 Kudos
ldelloca
Virtuoso
Virtuoso

Oltre il fatto che il millantare qualifiche e indurre un cliente in errore con consigli errati potrebbero essere considerati comportamenti lesivi del codice di condotta del CISSP, in caso quella certificazione invece fosse vera...

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos