Auto start VM en versión free de XenServer 6.x

Comparto una forma de crear un auto power on en el Xenserver free para aplicar HA.

¿Que vamos hacer?

Lo primero es establecer auto_poweron en valor true en el pool y nivel de las VM


Ajustar XenServer para inicio automático

1- Obtener el UUID del pool que quieres en el auto arranque
para obtener el UUID tipe lo siguiente:

xe pool-list

2- Copia el UUID

uuid ( RO)                : d170d718-e0de-92fc-b920-f4c59cc62e91
          name-label ( RW):
    name-description ( RW):
              master ( RO): 755d4ea3-373b-44b9-8ae3-3cd6f77a7f33
          default-SR ( RW): 51218f44-6ac6-4893-98fb-f924b08f7af9

3- Establecer el pool para el permitir el inicio automatico

xe pool-param-set uuid=UUID other-config:auto_poweron=true

Nota: remplaza el UUID con el UUID obtenido del pool


Configuración de las VM con arranque automatico

1- Reunir el UUID de las VM que quieren con el arranque automatico
xe vm-lista
esto genera lista de VM creadas y su UUID asociado

2- Copia el UUID de las VM que quieres con auto arranque, y escribe el siguiente comando.

xe vm-param-set uuid=UUID other-config:auto_poweron=true
Nota: remplaza el UUID con el UUID obtenido del pool

Para esta segunda parte (que permite que inicio automarico de las VM), bueno utilizaremos un pequeño script de una linea, lo que permite el inicio automatico:

for i in `xe vm-list is-control-domain=false –minimal | tr , ‘  ’`; do xe vm-param-set uuid=$i other-config:auto_poweron=true; done

Editar el archivo rc.local para iniciar todas las VM con "auto_poweron"

Añadir las siguientes lineas al final del rc.local

[ -e /proc/xen ] || exit 0

XAPI_START_TIMEOUT_SECONDS=240

# wait for xapi to complete initialisation for a max of XAPI_START_TIMEOUT_SECONDS
/opt/xensource/bin/xapi-wait-init-complete ${XAPI_START_TIMEOUT_SECONDS}

if [ $? -eq 0 ]; then

pool=$(xe pool-list params=uuid --minimal 2> /dev/null)

auto_poweron=$(xe pool-param-get uuid=${pool} param-name=other-config param-key=auto_poweron 2> /dev/null)
if [ $? -eq 0 ] && [ "${auto_poweron}" = "true" ]; then
logger "$0 auto_poweron is enabled on the pool-- this is an unsupported configuration."

# if xapi init completed then start vms (best effort, don't report errors)
xe vm-start other-config:auto_poweron=true power-state=halted --multiple >/dev/null 2>/dev/null || true
fi
fi

El segundo enfoce es utilizar vApp

1- crear un vApp
2- elejir VMS a vApp
3- Elejjir orden de inicio
4- obtener el UUID de inicio vApp

xe appliance-list name-label="nombre-vapp"

5- Editar el archivo rc.local para iniciar el aVpp:

echo "sleep 40" >> /etc/rc.local
echo "xe appliance-start uuid=uuid-vapp" >> /etc/rc.local

Publicar un comentario

0 Comentarios