mercoledì, Aprile 24, 2024

Start e Stop delle VM su un server ESXi in fase di boot/shutdown

Giovanni "Jinko" Uccio
Giovanni "Jinko" Ucciohttps://ie.linkedin.com/in/giovanniuccio
- Software Engineer - Debian Evangelist - Escalation Engineer - Debianizzati.org

Ho ripescato questo file da me elaborato un pò di tempo fa, non rappresenta la svolta dell’informatica ma è per coloro che spesso e con piacere mettono le mani ovunque solo per la semplice curisità nei confronti di tutto :)

In questo “articolo” tratteremo l’editing manuale delle impostazioni di AutoStart e AutoStop delle Virtual Machines presenti sul nostro server ESXi 4.1, procedimento che verrà eseguito lavorando tramite connessione SSH (che viene resa disponibile abilitando l’opzione “Enable tech Support” presente sul nostro Server ESXi tramite l’interfaccia di ammnistrazione ).

Andremo a lavorare sul file “vmAutoStart.xml” residente nel percorso

"/etc/vmware/hostd"

andiamo a visionare un attimo questo blocco che troveremo alla fine del file:

<SystemDefaults>
  <_type>vim.host.AutoStartManager.SystemDefaults</_type>
  <enabled>true</enabled>
  <startDelay>120</startDelay>
  <stopAction>PowerOff</stopAction>
  <stopDelay>120</stopDelay>
  <waitForHeartbeat>true</waitForHeartbeat>
</SystemDefaults>

la riga <enabled>true</enabled> ci mette al corrente che il servizio di autostart/autostop

è abilitato ed è quindi utilizzabile, possiamo così continuare.

<e id="6">
<_type>vim.host.AutoStartManager.AutoPowerInfo</_type>
<key>
<_type>vim.VirtualMachine</_type>
<moid>176</moid>
</key>
<startAction>PowerOn</startAction>
<startDelay>20</startDelay>
<startOrder>7</startOrder>
<stopAction>SystemDefault</stopAction>
<stopDelay>20</stopDelay>
<waitForHeartbeat>systemDefault</waitForHeartbeat>
</e>

esploriamo ora i campi che ci interessano per editare il comportamento di uan VM in temrmini di stop / start automatico in relazione all’avvio/spegnimento del server ESXi

<moid> : individua l’id della VM, quindi la identifica , esso è collegata al nome della VM

(*) per conoscere tutti i Vmid per orintarvi sull’associazione la Vm che si vuole modificare potete utilizzare
il comando “vim-cmd vmsvc/getallvms” ottenendo così tutte le informazioni che vi servono, esempio

Vmid Name File Guest OS Version Annotation
112 OpenSuse 11.3 64bit [Store_01] OpenSuse 11.3 64bit/OpenSuse 11.3 64bit.vmx other26xLinux64Guest  vmx-07
128 Ubuntu Server 10.4 [Store_01] Ubuntu Server 10.4/Ubuntu Server 10.4.vmx other26xLinux64Guest  vmx-07
144 Windows XP Pro SP2 [Store_01] Windows XP Pro SP3/Windows XP Pro SP3.vmx winXPProGuest  vmx-07
160 Windows Vista Business [Store_01] Windows Vista Business/Windows Vista Business.vmx winVistaGuest  vmx-07
176 Sun Solaris 10 [Store_01] Sun Solaris 10/Sun Solaris 10.vmx solaris10_64Guest  vmx-07
208 Debian 5.0 64bit [Store_01] Debian 5.0 64bit/Debian 5.0 64bit.vmx otherLinux64Guest  vmx-07
96
CentOS 64bit
[Store_01] CentOS 64bit/CentOS 64bit.vmx other26xLinux64Guest  vmx-07

Illustriamo il comando:

vim-cmd: è un comando che serve per la gestione delle Virtual Machines presenti su un Server Host, prevedere categorie di
comandi divisi in hostsvc/ | proxysvc/ | vimsvc/ | help | internalsvc/ | solo/ | vmsvc/, in questo caso abbiamo
utilizzato il comando “getallvms” della categoria vimsvc/, che restituisce in output la lista delle VM presenti con
alcuen informazioni utili.

<startAction>…</startAction>: indica il comportamento della singola VM al’avvio del sistema, possiamo avere tre valori –> PowerOn, PowerOff, None

<startDelay>…</startDelay>: il ritardo tra l’avvio completo del sistema e la VM

<startOrder>…</startOrder>: l’ordine nella quale deve essere avviata la VM

<stopDelay>…</stopDelay>: il ritardo tra lo stop completo del sistema e la VM

<waitForHeartbeat>…</waitForHeartbeat>: (no,yes,systemDefault), quando una VM è la prossima nell’ordine di avvio il sistema aspetta sia un periodi di tempo per effettuare il PowerOn della VM o un heartBeat da una VM già accesa.

Opzione “systemDefault”: ovunque vediate questo valore è facile caire che si riferisce a quello
che abbiamo impostato all’interno del blocco … , quindi i valori utilizzati saranno quelli presenti all’interno di esso.

# Fase Conclusiva

Si potrebbe effettuare il restart dell’intero server per rendere effettivi i cambiamenti, in verità basta lanciare il comando /sbin/services.sh restart.

(eventuali sessioni vSphere Client saranno sloggate, ma ciò non accadrà per la vostra connessione SSH)

 

Un saluto,

Giovanni Uccio

Articoli correlati

Non perdere il lancio online della Community GDPR Day: 26 marzo 2024

La sicurezza dei dati e delle informazioni non è più un'opzione, ma una necessità imprescindibile. Lo dimostrano i tanti attacchi informatici che, con frequenza...

Digital Transformation


 

Noleggia una Tesla per il tuo evento ICT!

Categorie