Per fare in modo che all’avvio XEN Server vengano avviate anche alcune o tutte le macchine virtuali presenti al suo interno possiamo creare un piccolo script che lanci l’accensione delle vm al termine del boot dell’host

Per iniziare visualizziamo gli UUID delle VM che intendiamo avviare digitando da terminale

xe vm-list

creaimo poi lo script che verra lanciato al boot

nano /etc/rc.d/init.d/vm-auto-power-on.sh

all’interno inseriamo il comando per l’avvio delle VM che ci interessano

#!/bin/bash
xe vm-start uuid=INSERIAMO_QUI_UUID

se intendiamo avviare più machine interponiamo tra le righe il comando wait per fare in modo che lo script lanci l’avvio della VM successiva non appena risulta avviata la precedente.

xe vm-start uuid=INSERIAMO_QUI_PRIMO_UUID
wait
xe vm-start uuid=INSERIAMO_QUI_SECONDO_UUID

Ora assegnamo i privilegi di esecuzione al file che abbiamo creato

chmod +x /etc/rc.d/init.d/vm-auto-power-on.sh

stessa operazione deve essere fatta per il file rc.local presente in /etc/rc.d/rc.local quindi digitiamo:

chmod +x /etc/rc.d/rc.local

all’interno di rc.local aggiungiamo, alla fine del file, le righe riportate di seguito

sleep 180
/etc/rc.d/init.d/vm-auto-power-on.sh

e salviamo le modifiche fatte.

OK !!!  ora provate a fermare le VM e riavviate il server, vedrete che dopo il riavvio con un ritardo di circa 3 minuti, che consente a l’intera infrastruttura di avviarsi, verranno avviate anche la VM che avete inserite nello script.