Cerca nel blog

venerdì 6 aprile 2012

Spegnere una VM attraverso la CLI

Lo spegnimento di una VM è un’attività abbastanza ordinaria che  spesso viene eseguita direttamente dalla GUI del vSphere Client. In  alcune condizioni è possibile che il comando di spegnimento lasci la VM  in uno stato “ambiguo” nel quale non è concessa nessuna azione legata  allo stato di power.

In questo articolo vengono analizzati 4 metodi per spegnere una VM con la linea di comando via ssh. Prima di procedere è necessario abilitare SSH sull’host ESXi attraverso la DCUI (Direct Console User Interface).
Uso del comando ESXCLI
  • Lanciare il comando “esxcli vm process list”  per ottenere la lista delle VM che sono in esecuzione sull’host, magari  aiutandosi con il comando grep per filtrare l’elenco indicando il nome  della VM
  • Individuata la VM da spegnere eseguire il comando “esxcli vm process kill --type=hard --world-id=” ID trovato dal comando precedente
L’opzione --type  (oppure –t) ha le seguenti opzioni: hard, soft, force
Per maggiori informazioni sul comando è possibile accedere alla pagina d’aiuto del comando.
VS5-esxcli-vm.jpg
Uso del comando vim-cmd
  • Ottenere  la lista delle VM accese sul server ESX lanciando il comando “vim-cmd  vmsvc/getallvm”, anche in questo caso è possibile introdurre un filtro  utilizzando grep
  • Dalla lista mostrata è necessario appuntarsi il Vmid della macchina che si desidera spegnere, lanciando il comando “vim-cmd vmsvc/power.off
È  possibile anche indagare sullo stato di power della macchina  utilizzando il comando “vim-cmd vmsvc/power.getstate” oppure fare lo  shutdown con il comando “vim-cmd vmsvc/power.shutdown”.
VS5-vim-cmd.jpg
Uso del comando kill
L’uso del comando kill è sconsigliato in quanto si corre il rischio di chiudere un processo non appartenete alla VM.
  • Tutto inizia con l’esecuzione del comando “ps –u |grep ”,  che rende la lista dei processi inerenti alla VM. La lista mostra l’ID  del processo ed il Parent ID. L’esecuzione di un ulteriore comando si  Process Status (ps) filtrato sul PID è fatto per maggiore sicurezza.
  • Accertati del PID di procede con il comando “kill
VS5-kill.jpg
Uso di esxtop
  • Come per il comando kill anche l’uso di esxtop per killare un processo è potenzialmente pericoloso. Lanciare “esxtop” e premere “f” per aggiungere il campo LWID (Leader World Id World Group Id) corrispondente alla lettera c. Individuata la VM da spegnere è necessario appuntarsi il codice LWID, premere la lettera k (kill) e immettere LWID.
VS5-esxtop.jpg
Per maggiori informazioni è possibile consultare la KB 1014165

Nessun commento: