8.4. El servicio pacemaker_remote

El servicio pacemaker_remote permite a los nodos, que no se ejecutan en corosync, integrarse al clúster y hacer que el clúster administre sus recursos como si fueran nodos de clúster reales. Esto significa que los clústeres Pacemaker ahora pueden manejar entornos virtuales (KVM/LXC) y recursos que viven dentro de dichos entornos, sin que los entornos ejecuten pacemaker o corosync.
Los siguientes términos se utilizan para describir el servicio pacemaker_remote.
  • cluster node - Un nodo que se ejecuta en servicios de alta disponibilidad (pacemaker y corosync).
  • remote node — Un nodo que ejecuta pacemaker_remote para integrarse de forma remota dentro del clúster sin requerir membresía de clúster corosync.
  • container — Un recurso Pacemaker que contiene recursos adicionales. Por ejemplo, un recurso de máquina virtual KVM que contiene un recurso webserver.
  • container remote node — Un nodo de huésped virtual remoto que ejecuta el servicio pacemaker_remote. Describe el uso de un caso de nodo específico en el que un recurso de huésped virtual administrado por el clúster es iniciado por el clúster e integrado en el clúster como un nodo remoto.
  • pacemaker_remote — Un demonio de servicio capaz de realizar administración remota de aplicaciones dentro de los nodos de huéspedes (KVM y LXC) tanto en clúster Pacemaker como en entornos de clúster y entornos autónomos (non-cluster). Este servicio es una versión mejorada del recurso local del Demonio de administración de recursos locales (LRMD) de Pacemaker, que es capaz de manejar y monitorizar los recursos en un huésped de forma remota: LSB, OCF, upstart, y systemd. Permite que pcs funcione de forma nativa en nodos remotos.
  • LXC — Un contenedor Linux definido por el controlador de contenedor Linux libvirt-lxc.
Un clúster Pacemaker que ejecute el servicio pacemaker_remote tiene las siguientes características:
  • Los nodos remotos virtuales ejecutan el servicio pacemaker_remote (con muy poca configuración requerida en la máquina virtual).
  • La pila de clúster (pacemaker y corosync), que se ejecuta en nodos de clúster, lanza las máquinas virtuales e inmediatamente se conecta al servicio pacemaker_remote, lo cual permite que las máquinas virtuales se integren en el clúster.
La diferencia entre nodos remotos de máquina virtual y los nodos de clúster, radica en que los nodos remotos no se ejecutan en la pila de clúster. Es decir que los nodos remotos no se realizan en cuórum. También significa que los nodos remotos no están vinculados a los límites de escalabilidad asociados a la pila de clúster. Aparte de la limitación de cuórum, los nodos remotos se comportan igual que los nodos de clúster en relación con la administración de recursos. El clúster es totalmente capaz de administrar y monitorizar recursos en cada nodo remoto. Usted puede crear restricciones para nodos remotos, pausarlos o realizar alguna otra acción en nodos de clúster. Los nodos remotos aparecen en la salida de estatus de clúster al igual que los nodos de clúster.

8.4.1. Opciones de recursos de nodo remoto de contenedor

Cuando configure una máquina virtual o recurso LXC para que actúe como un nodo remoto, cree un recurso VirtualDomain, el cual administra la máquina virtual. Para obtener descripciones de las opciones, establezca un recurso VirtualDomain, mediante el siguiente comando:
# pcs resource describe VirtualDomain
Además de las opciones del recurso VirtualDomain, puede configurar opciones de metadatos para habilitar el recurso como nodo remoto y definir los parámetros de conexión. Habilite el recurso como un nodo remoto y defina los parámetros de conexión. La Tabla 8.3, “Las opciones de metadatos para configurar recursos KVM/LXC como nodos remotos” describe estas opciones de metadatos.

Tabla 8.3. Las opciones de metadatos para configurar recursos KVM/LXC como nodos remotos

CampoPredeterminadoDescripción
remote-node
<none>
El nombre del nodo remoto que define este recurso. Esta acción habilita el recurso como un nodo remoto y define el nombre único utilizado para identificar el nodo remoto. Si no se establecen otros parámetros, este valor también se toma como nombre de host para conectarse al puerto 3121. ADVERTENCIA: este valor no puede sobrepasar un recurso o ID de nodo.
remote-port
3121
Configura un puerto personalizado para usar la conexión de huésped a pacemaker_remote
remote-addr
Valor remote-node usado como nombre de host
La dirección IP o nombre de host para conectarse si el nombre de nodo remoto no es el nombre de host del huésped
remote-connect-timeout
60s
Cantidad de tiempo antes de que la conexión de huésped pendiente expire
El siguiente comando crea un recurso VirtualDomain llamado vm-guest1, el cual es un nodo remoto capaz de ejecutar recursos mediante el metaatributo remote-node.
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1