Uno de los defectos que le veo a los Pool de XenServer, es que dependen de que como mínimo uno de los hipervisores sea el Master, en el caso de que este se encuentre inaccesible el Pool deja de estar operativo, aunque las maquinas virtuales siguen funcionando perdemos las funcionalidades de HA, XenMotion, Multipathing e incluso pueden dejar de funcionar los Backups si estas usando XenOrchestra u otra utilidad.
Otro problema que encontramos, es la imposibilidad de conectar directamente al host con XenCenter o XenOrchestra, cuando lo intentamos nos aparecerá el siguiente mensaje
Server 'xxx' in in a pool. To connect to a pool, you must connect to the pool master. Do you want to connect to the pool master 'xxx.xxx.xxx.xxx'?
Nos podemos en contrar con varias situaciones, a las cuales hay posibles soluciones
Pool de 2 hosts, solo nos queda el slave
Esta situación es la más sencilla de solucionar, pues tan solo hay que pasar el host restante a maestro, para ello nos conectamos mediante SSH al host y como root ejecutar:
xe pool-emergency-transition-to-master
Esta operación tarda un poco, cuando termina el host es el nuevo master del Pool y por lo tanto ya podemos acceder mediante XenCenter o XenOrchestra
Pool de 2 hosts, solo nos queda el slave pero el HA nos bloquea la operación anterior
En esta situación solo vamos a tener que desactivar el ha antes de pasar el host a master:
xe host-emergency-ha-disable
xe-toolstack-restart
xe pool-emergency-transition-to-master
Pool con 2 o más hosts slave y el master esta ausente.
Aquí vamos a tener que ejecutar procesos distintos en los hosts, para el que queramos como master y los otros en slave
Nuevo host Master
xe host-emergency-ha-disable
xe-toolstack-restart
xe pool-emergency-transition-to-master
Ahora tenemos que encontrar el ID del host que queremos usar como Master
Identificamos que por ejemplo, queremos el host 1127168, por lo que copiamos el uuid 4caa4603-8cfb-4b87-93ce-300a5d5e62cb
En los hosts Slave hay que ejecutar el cambio de master, también por SSH.
xe pool-designate-new-master host-uuid=4caa4603-8cfb-4b87-93ce-300a5d5e62cb
Y activamos el ha
xe pool-ha-enable
Para verificar si un host es Slave o Master lo podemos ver en /etc/xensource/pool.conf
cat /etc/xensource/pool.conf
master
cat /etc/xensource/pool.conf
slave:xxx.xxx.xxx.xxx
En el master también podemos forzar que los otros hosts se conecten como Slave ejecutando
xe pool-recover-slaves
Deja una respuesta