Iniciando Pool e VMs automáticamente no XenServer 6.x

Dando continuidade nos posts sobre o XenServer, hoje mostrarei como iniciar automáticamente um pool de virtual machines ou então uma determinada vm.

Iniciando um pool automáticamente no XenServer
Para iniciar um pool de virtual machines no XenServer utilize os seguintes comandos abaixo:

xe pool-list
você verá uma saída mais ou menos como esta abaixo:

uuid ( RO) : 0af8cf6c-14ac-4cf6-f9ad-40e1b94a922e
name-label ( RW): Pool03
name-description ( RW):
master ( RO): 81fb4df9-35c5-41d9-a19e-791a370226a8
default-SR ( RW): 91532bdb-2b69-cdd6-971a-2966d4f67b57

O pool que iremos iniciar é o Pool03 ele possui o ID 0af8cf6c-14ac-4cf6-f9ad-40e1b94a922e
Agora que temos o ID do pool devemos rodar o comando para que o XenServer comece a carregar este pool automáticamente:

xe pool-param-set uuid=0af8cf6c-14ac-4cf6-f9ad-40e1b94a922e other-config:auto_poweron=true
OBS: Substitua o conteúdo de uuid pelo seu uuid

Iniciando uma virtual machine automáticamente no XenServer 6.x
Para iniciar uma determinada virtual machine é muito parecido com as instruções acima. Siga o exemplo abaixo:

xe vm-list

você verá uma saída como o exemplo abaixo:

uuid ( RO) : ce2acd67-ed63-9aa1-c229-3aad08fb1f8c
name-label ( RW): Firewall.01
power-state ( RO): running

uuid ( RO) : a589b500-93ac-48ec-869f-70980cc58f5d
name-label ( RW): Control domain on host: xenserver-cgagaumj
power-state ( RO): running

Iremos iniciar a virtual machine Firewall.01. Sendo assim o comando ficará como no exemplo abaixo:

xe vm-param-set uuid=a589b500-93ac-48ec-869f-70980cc58f5d other-config:auto_poweron=true

OBS: Lembrando de alterar o UUID pelo seu UUID

Uma outra outra opção é conectar na máquina via XenCenter ou mesmo local e adicionar uma linha no script /etc/rc.local com os comandos de inicialização das VMs como no exemplo abaixo:

sleep 20
xe vm-start uuid=

 

Referências:
http://support.citrix.com/article/ctx133910

Adicionando scripts na inicialização do Debian 7

A partir do Debian Squeeze houve uma pequena mudança no sistema de inicialização de scripts de boot. Agora é necessário colocar uma pequena descrição do que se trata o script. Abaixo está um pequeno exemplo de um script de inicialização e também o comando para adicionar este script na inicialização
#! /bin/sh
### BEGIN INIT INFO
# Provides: init.bluefirewall.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start init.bluefirewall.sh at boot time
# Description: Enable service provided by init.bluefirewall.sh.
### END INIT INFO

# Some things that run always
touch /var/lock/init.bluefirewall

# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting Blue Systems Firewall......"
/usr/local/blue.firewall/blue.firewall start
;;
stop)
echo "Stopping Blue Systems Firewall......"
/usr/local/blue.firewall/blue.firewall stop
;;
*)
echo "Usage: /etc/init.d/init.bluefirewall {start|stop}"
exit 1
;;
esac

exit 0

É necessária adicionar no cabeçalho do script as instruções ### BEGIN INIT INFO assim como no exemplo acima. Depois de adicionado basta executar o comando:

update-rc.d init.bluefirewall defaults

Onde init.bluefirewall é o nome do seu script que está em /etc/init.d