Questa settimana ho tirato fuori la soluzione ad un problema che spesso affronto…e che mi fa sempre perdere parecchio tempo.
Si tratta dello Shutdown su Server VMWARE (ESX o ESXi), non mi addentrerò su quale UPS, in quanto è assolutamente indifferente, ciò che spiego sono le operazioni da eseguire per permettere lo Shutdown tanto dei Guest quanto del server VMWARE stesso.
Il tutto può essere fatto sia da una macchina virtuale all’interno dello stesso server VMWARE, sia da una macchina esterna, unica cosa fondamentale è la ricezione del segnare di Shutdown da parte della macchina che dovrà lanciare i comandi di Shutdown, questo può avvenire sia per collegamento diretto con l’UPS (seriale / USB /Network), sia per segnale ricevuto da macchina collegata all’UPS.
la cosa che appare strana, è che lo shutdown possa essere eseguito anche da una macchina all’interno del VMWARE stesso, in realtà è estremamente semplice, in quanto il comando di Shutdown avviene eseguendo uno script nello stesso server, ed una volta lanciato la procedura continua anche se la macchina che l’ha eseguita si spegne, quindi, di fatto il guest può eseguire il comando di shutdown che farà spegnere anche se stesso.
Ma vediamo come avviene tutto questo,
è necessario creare il file di script all’interno del Server virtuale (provato con VMWARE ESXi 4.1) è fondamentale crearlo all’interno di uno dei Datastore, in altri percorso della macchina verrebbe cancellato al riavvio stesso del server.
altro aspetto fondamentale è abilitare il server all’accesso remoto in SSH, con la versione 4.1 si fà direttamente dalla pagina di configurazione di Vmware, con le precedenti versioni esisteva una procedura.
Fatto questo create un file, (Shutdown.sh ad esempio) e inserite quanto riporto
=================
==============================
E’ poi necessario configurare il server stesso (solitamente da Bios) per far si che in caso di arrivo di tensione, lo stesso si accenda, in questo modo le macchine torneranno attive senza necessità di intervento umano.
“C:XXXXXXXXXXXXXXXXXXXXplink.exe” 192.168.0.XXX -l root -pw xxxxxxxxx /vmfs/volumes/4be44cf6-27200d83-9788-xxxxxxxxxxx/shutdown.sh
ecco due aspetti che piaceranno poco (anche a me) è necessario che la password di Root, o comunque la password di un’utenza che abbia diritti di SSH/accesso allo store/diritti di shutdown, sia esposta in chiaro nello script.
è anche vero che è possibile nascondere il comando di shutdown da occhi indiscreti proteggendolo sotto directory abilitate da utenze con diritti elevati.
se ben calibrato il tutto (è necessario fare le relative prove per essere certi che l’eventuale UPS abbia sufficiente autonomia per tenere su le macchine fino a loro shutdown, ma questo forse era inutile dirlo), il server eseguirà lo shutdown appena tutte le macchine virtuale si saranno spente.
Con quanto sopra vi evitate, complesse procedure di integrazione software UPS all’interno di Vmware stesso, ed il comando non richiede neanche grandi competenze tecniche, è tutto scritto sopra quindi è estremamente semplice
In caso di problemi chiedete pure sarò disponibile a eventuali chiarimenti
Buon Shutdown a tutti!