Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Configuración de Red Hat High Availability Add-On con Pacemaker
Documento de referencia de adición de alta disponibilidad para Red Hat Enterprise Linux 6
Edición 1
Resumen
Introducción
- Guía de instalación de Red Hat Enterprise Linux — Proporciona información sobre instalación de Red Hat Enterprise Linux 6.
- Guía de implementación de Red Hat Enterprise Linux — Proporciona información sobre la implementación, configuración y administración de Red Hat Enterprise Linux 6.
- Visión general de adición de alta disponibilidad — Proporciona una descripción general de la adición de alta disponibilidad de Red Hat.
- Administración de clúster — Proporciona información sobre instalación, configuración y administración de adiciones de Alta disponibilidad.
- Administración del Gestor de volúmenes lógicos — Proporciona una descripción del Gestor de Volúmenes Lógicos (LVM) e incluye información sobre la ejecución de LVM en un entorno de clúster.
- Sistema de archivos global 2: Configuración y administración — Proporciona información sobre instalación, configuración, y mantenimiento de Red Hat GFS2 (Red Hat Global File System 2), el cual se incluye en la adición de almacenamiento resistente.
- DM Multipath — Proporciona información sobre la función del dispositivo mapeador multirrutas de Red Hat Enterprise Linux 6.
- Administración del equilibrador de cargas — Proporciona información sobre configuración de sistemas de alto rendimiento y servicio con la adición de equilibrador de cargas, un conjunto de componentes de software integrados que proporcionan Servidores Virtuales de Linux (LVS) para equilibrio de carga IP a travé de un conjunto de servidores reales.
- Notas de lanzamiento — Proporciona información sobre el lanzamiento actual de productos de Red Hat.
1. Comentarios
Configuring_High_Availability_With_Pacemaker(EN)-6 (2014-8-7T16:26)
Capítulo 1. Configuración de adición de alta disponibilidad y visión general de referencia administrativa de Red Hat
pcs
para Red Hat Enterprise Linux Release 6.6 y posterior.
Nota
1.1. Instalación de las herramientas de configuración Pacemaker
yum install
para instalar los paquetes de software Red Hat High Availability Add-On, junto con los agentes disponibles: agentes de vallas del canal de alta disponibilidad.
# yum install pcs fence-agents
n
lvm2-cluster
y gfs2-utils
hacen parte del canal ResilientStorage. Instálelos con el siguiente comando cuando los necesite:
# yum install lvm2-cluster gfs2-utils
Aviso
1.2. Cómo configurar el cortafuegos de iptables para permitir componentes de clúster
- Para TCP: Puertos 2224, 3121, 21064
- Para UDP: Puertos, 5405
1.3. Archivos de configuración de Cluster y Pacemaker
cluster.conf
y cib.xml
. No los modifique directamente; en su lugar, use la interfaz pcs
o pcsd
.
cluster.conf
proporciona los parámetros utilizados por corosync
, el gestor de clúster en el que se crea Pacemaker.
cib.xml
es un archivo XML que representa, tanto la configuración del clúster como el estado actual de todos los recursos del clúster. Este archivo es utilizado por la Base de información de clúster (CIB) de Pacemaker. El contenido de la CIB se mantiene automáticamente en sincronía a través de todo el clúster.
Capítulo 2. Interfaz de línea de comandos pcs
pcs
proporciona la capacidad de controlar y configurar corosync
y pacemaker
.
pcs
es el siguiente.
pcs [-f file] [-h] [commands]...
2.1. Los comandos pcs
pcs
son los siguientes:
cluster
Configura opciones de clúster y nodos. Para obtener más información sobre el comandopcs cluster
, consulte el Capítulo 3, Creación de clúster y administración .resource
Crea y administra los recursos de clúster. Para obtener más información sobre el comandopcs cluster
, consulte el Capítulo 5, Configuración de recursos de clúster , el Capítulo 7, Administración de recursos de clúster y el Capítulo 8, Tipos de recursos avanzados.stonith
Configura los dispositivos de vallas para usar con Pacemaker. Para obtener información sobre el comandopcs stonith
, consulte el Capítulo 4, Cercado: Configuración de STONITH.constraint
Administra las restricciones de recursos. Para obtener información sobre el comandopcs constraint
, consulte el Capítulo 6, Restricciones de validación.property
Configura las propiedades de Pacemaker. Para obtener información sobre la configuración de propiedades con el comandopcs property
, consulte el Capítulo 10, Propiedades de clúster Pacemaker.status
Visualiza el clúster y el estatus de recursos actuales. Para obtener información sobre el comandopcs status
, consulte la Sección 2.5, “Vista de estatus”.config
Despliega la configuración de clúster completa en la forma legible para el usuario. Para obtener información sobre el comandopcs config
, consulte la Sección 2.6, “Despliegue de toda la configuración del clúster”.
2.2. Uso de la pantalla de ayuda pcs
-h
de pcs
para visualizar los parámetros de un comando pcs
y la descripción de esos parámetros. Por ejemplo, el siguiente comando muestra los parámetros del comando pcs resource
. Únicamente se muestra una porción de la salida.
# pcs resource -h
Usage: pcs resource [commands]...
Manage pacemaker resources
Commands:
show [resource id] [--all]
Show all currently configured resources or if a resource is specified
show the options for the configured resource. If --all is specified
resource options will be displayed
start <resource id>
Start resource specified by resource_id
...
2.3. Visualización de una configuración de clúster cruda
pcs cluster cib
.
pcs cluster cib nombre de archivo
como se describe en la Sección 2.4, “Guardado de un cambio de configuración en un archivo”.
2.4. Guardado de un cambio de configuración en un archivo
pcs
, use la opción -f
para guardar un cambio de configuración a un archivo sin afectar la CIB activa.
pcs cluster cib filename
testfile
.
pcs cluster cib testfile
testfile1
, pero no lo agrega a la configuración de clúster que está en ejecución.
# pcs -f testfile1 resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
testfile
en la CIB con el siguiente comando:
pcs cluster cib-push filename
2.5. Vista de estatus
pcs status commands
resources
, groups
, cluster
, nodes
, o pcsd
.
2.6. Despliegue de toda la configuración del clúster
pcs config
2.7. Despliegue de la versión actual de pcs
pcs
que está en ejecución.
pcs --version
Capítulo 3. Creación de clúster y administración
3.1. Creación de clúster
- Autentique los nodos que constituirán el clúster.
- Configure y sincronice los nodos de clúster
- Inicie los servicios de clúster en los nodos de clúster.
3.1.1. Autenticación de nodos de clúster
pcs
para el demonio pcs
en los nodos del clúster.
- El nombre de usuario para el administrador
pcs
debe serhacluster
en cada nodo. Se recomienda que la contraseña para usuariohacluster
sea la misma en cada nodo. - Si no especifica un nombre de usuario o contraseña, el sistema le indicará los parámetros para cada nodo cuando ejecute el comando.
- Si no especifica ningún nodo, este comando autenticará
pcs
en los nodos que se especifican con un comandopcs cluster setup
, si lo ha ejecutado anteriormente.
pcs cluster auth [node] [...] [-u username] [-p password]
~/.pcs/tokens
(o /var/lib/pcsd/tokens
).
3.1.2. Configuración e inicio de nodos de clúster
- Si especifica la opción
--start
, el comando también iniciará los servicios de clúster en los nodos especificados. Si es necesario, también puede iniciar los servicios de clúster con un comandopcs cluster start
por separado. - Si especifica la opción
--local
, el comando realizará cambios en el nodo local únicamente.
pcs cluster setup [--start] [--local] --name cluster_ name node1 [node2] [...]
- Si especifica la opción
--all
, el comando inicia los servicios de clúster en todos los nodos. - Si no especifica ningún nodo, los servicios de clúster se inician en el nodo local únicamente.
pcs cluster start [--all] [node] [...]
3.2. Administración de nodos de clúster
3.2.1. Detención de servicios de clúster
pcs cluster start
, la opción --all
detiene los servicios de clúster en todos los nodos y si usted no especifica ningún nodo, los servicios de clúster se detienen en el nodo local únicamente.
pcs cluster stop [--all] [node] [...]
kill -9
pcs cluster kill
3.2.2. Habilitar o inhabilitar los servicios de clúster
- Si especifica la opción
--all
, el comando inicia los servicios de clúster en todos los nodos. - Si no especifica ningún nodo, los servicios de clúster se habilitan en el nodo local únicamente.
pcs cluster enable [--all] [node] [...]
- Si especifica la opción
--all
, el comando inhabilita los servicios de clúster en todos los nodos. - Si no especifica ningún nodo, los servicios de clúster se inhabilitan en el nodo local únicamente.
pcs cluster disable [--all] [node] [...]
3.2.3. Adición y remoción de nodos de clúster
cluster.conf
para todos los nodos del clúster, incluido el nuevo nodos que está agregando.
pcs cluster node add node
cluster.conf
, en todos los nodos del clúster. Para obtener información sobre cómo retirar toda la información del clúster desde los nodos del clúster, y así destruir el clúster de forma permanente, consulte la Sección 3.4, “Retiro de la configuración de clúster”.
pcs cluster node remove node
3.2.4. Modo en espera
--all
, este comando pone todos los nodos en espera.
pcs cluster standby node | --all
--all
, este comando retira todo los nodos del modo en espera.
pcs cluster unstandby node | --all
pcs cluster standby
, este comando agrega limitaciones a los recursos para evitar que se ejecuten en un nodo no indicado. Al ejecutar el comando pcs cluster unstandby
, este comando elimina las limitaciones. No necesariamente, devuelve los recursos al nodo indicado; en el cual se pueden ejecutar los recursos, depende de cómo los ha configurado inicialmente. Para obtener información sobre limitaciones de recursos, consulte el Capítulo 6, Restricciones de validación.
3.3. Configuración de permisos de usuario
pcs acl
para establecer el permiso para que usuarios locales tengan acceso de solo lectura o solo escritura para la configuración de clúster mediante las listas de control de acceso (ACL).
- Ejecute el comando
pcs acl role create...
para crear un rol que defina los permisos para dicho rol. - Asigne el rol que creó a un usuario con el comando
pcs acl user create
.
rouser
.
- Este procedimiento requiere que el usuario
rouser
exista en el sistema local y que el usuariorouser
sea un miembro del grupohacluster
.#
adduser rouser
#usermod -a -G hacluster rouser
- Habilite las ACL de Pacemaker con la propiedad de clúster
enable-acl
#
pcs property set enable-acl=true --force
- Cree un rol llamado
read-only
con permisos de solo lectura para la CIB#
pcs acl role create read-only description="Read access to cluster" read xpath /cib
- Cree el usuario
rouser
en el sistema pcs ACL y asígnele el rol deread-only
.#
pcs acl user create rouser read-only
- Visualice la ACL actual
#
pcs acl
User: rouser Roles: read-only Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read)
wuser
.
- Este procedimiento requiere que el usuario
wuser
exista en el sistema local y que el usuariowuser
sea miembro del grupohacluster
.#
adduser wuser
#usermod -a -G hacluster wuser
- Habilite las ACL de Pacemaker con la propiedad de clúster
enable-acl
#
pcs property set enable-acl=true --force
- Cree un rol llamado
write-access
con permisos de solo escritura para cib.#
pcs acl role create write-access description="Full access" write xpath /cib
- Cree el usuario
wuser
en el sistema pcs ACL y asígnele el rolwrite-access
.#
pcs acl user create wuser write-access
- Visualice la ACL actual
#
pcs acl
User: rouser Roles: read-only User: wuser Roles: write-access Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read) Role: write-access Description: Full Access Permission: write xpath /cib (write-access-write)
pcs acl
.
3.4. Retiro de la configuración de clúster
Aviso
pcs cluster stop
antes de destruir el clúster.
pcs cluster destroy
3.5. Vizualización del estatus del proceso
pcs statusi
pcs cluster status
pcs status resources
Capítulo 4. Cercado: Configuración de STONITH
4.1. Agentes STONITH (Cercado) disponibles
pcs stonith list [filter]
4.2. Propiedades generales de dispositivos de cercado
Nota
target-role
como lo haría para un recurso normal.
Nota
Nota
Tabla 4.1. Propiedades generales de dispositivos de cercado
Campo | Tipo | Predeterminado | Descripción |
---|---|---|---|
stonith-timeout | hora | 60 s | El tiempo de espera para que la acción STONITH termine por un dispositivo stonith. Sobrescribe la propiedad de clúster stonith-timeout |
priority | entero | 0 | La prioridad del recurso STONITH. Los dispositivos se prueban en orden descendente. |
pcmk_host_map | cadena | Un mapa de nombres de hosts para números de puertos que no soportan nombres de hosts. Por ejemplo: node1:1;node2:2,3 le dice al clúster que use el puerto 1 para node1 y los puertos 2 y 3 para node2 | |
pcmk_host_list | cadena | Una lista de máquinas controladas por este dispositivo (Opcional a menos que pcmk_host_check=static-list ). | |
pcmk_host_check | cadena | dynamic-list | Cómo determinar cuáles máquinas son controladas por el dispositivo. Valores permitidos: dynamic-list (solicita el dispositivo), static-list (revisa el atributo pcmk_host_list ), ninguno (supone que cada dispositivo puede cercar cada máquina) |
4.3. Despliegue de las opciones de cercado específicas para dispositivos
pcs stonith describe stonith_agent
# pcs stonith describe fence_apc
Stonith options for: fence_apc
ipaddr (required): IP Address or Hostname
login (required): Login Name
passwd: Login password or passphrase
passwd_script: Script to retrieve password
cmd_prompt: Force command prompt
secure: SSH connection
port (required): Physical plug number or name of virtual machine
identity_file: Identity file for ssh
switch: Physical switch number on device
inet4_only: Forces agent to use IPv4 addresses only
inet6_only: Forces agent to use IPv6 addresses only
ipport: TCP port to use for connection with device
action (required): Fencing Action
verbose: Verbose mode
debug: Write debug information to given file
version: Display version information and exit
help: Display help and exit
separator: Separator for CSV created by operation list
power_timeout: Test X seconds for status change after ON/OFF
shell_timeout: Wait X seconds for cmd prompt after issuing command
login_timeout: Wait X seconds for cmd prompt after login
power_wait: Wait X seconds after issuing ON/OFF
delay: Wait X seconds before fencing is started
retry_on: Count of attempts to retry power on
4.4. Cómo crear un dispositivo de cercado
pcs stonith create stonith_id stonith_device_type [stonith_device_options]
# pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s
pcmk_host_map
para definir el puerto que va con el nodo. Por ejemplo, el siguiente comando crea un dispositivo de cercado individual myapc-west-13
que usa un interruptor APC denominado west-apc
y un puerto 15 para nodo west-13
.
# pcs stonith create myapc-west-13 fence_apc pcmk_host_list="west-13" ipaddr="west-apc" login="apc" passwd="apc" port="15"
west-apc
para cercar nodos west-13
con el puerto 15, west-14
con el puerto 17, west-15
con el puerto 18 y west-16
con el puerto 19.
# pcs stonith create myapc fence_apc pcmk_host_list="west-13,west-14,west-15,west-16" pcmk_host_map="west-13:15;west-14:17;west-15:18;west-16:19" ipaddr="west-apc" login="apc" passwd="apc"
4.5. Configuración de dispositivos de cercado basados en almacenamiento con remoción de cercado.
provides=unfencing
cuando cree el dispositivo stonith
. Así se asegura que la cerca de un nodo cercado se elimine, antes de que el nodo sea reiniciado y los servicios del clúster se inicien en el nodo.
provides=unfencing
para configurar un dispositivo de vallas basado en energía, puesto que el dispositivo mismo provee energía al nodo para que arranque (e intenta reconectar el clúster). La acción de arranque en este caso, implica que se ha quitado el cercado.
my-scsi-shooter
que usa el agente de vallas fence_scsi
y habilita la eliminación del cercado para el dispositivo.
pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing
4.6. Despliegue de dispositivos de cercado
--full
, se despliegan todas las opciones stonith configuradas.
pcs stonith show [stonith_id] [--full]
4.7. Modificación y borrado de dispositivos de cercado
pcs stonith update stonith_id [stonith_device_options]
pcs stonith delete stonith_id
4.8. 4.8. Administración de nodos con dispositivos de cercado
--off
usará la llamada API off
para stonith, la cual apagará el nodo en lugar de reiniciarlo.
pcs stonith fence node [--off]
Nota
pcs stonith confirm node
4.9. Opciones adicionales de configuración de cercado
Tabla 4.2. Propiedades avanzadas de dispositivos de cercado
Campo | Tipo | Predeterminado | Descripción |
---|---|---|---|
pcmk_host_argument | cadena | port | Un parámetro alternativo para abastecer en lugar de 'port'. Algunos dispositivos no soportan el parámetro de puerto estándar o pueden proporcionar otros adicionales. Puede utilizarlo como un comando alternativo, específico para dispositivo, el cual indica que la máquina puede ser cercada. Un valor de none puede servir para indicarle al clúster que no provea parámetros adicionales. |
pcmk_reboot_action | cadena | reboot | Un comando alternativo en lugar de reboot . Algunos dispositivos no soportan los comandos estándar o proporcionan comandos adicionales. Lo puede utilizar para especificar un comando alternativo, específico para dispositivo, que implemente la acción 'reboot'. |
pcmk_reboot_timeout | hora | 60 s | Especifica un tiempo de espera alternativo para reiniciar acciones en lugar de stonith-timeout . Algunos dispositivos necesitan mucho más o mucho menos tiempo del normal. Utilícelo para especificar un tiempo de espera alternativo, específico para dispositivo, para acciones 'reboot'. |
pcmk_reboot_retries | entero | 2 | El número máximo de veces para reintentar el comando reboot dentro del periodo de tiempo de espera. Algunos dispositivos no soportan múltiples conexiones. Las operaciones pueden fallar si el dispositivo está ocupado con otra tarea, por eso Pacemaker reintentará automáticamente, sí aún queda tiempo. Use esta opción para alterar el número de reintentos que Pacemaker puede hacer de acciones 'reboot'. |
pcmk_off_action | cadena | off | Un comando alternativo para ejecutar en lugar de off . Algunos dispositivos no soportan los comandos estándar o proporcionan comandos adicionales. Puede utilizarlo como un comando alternativo, específico para dispositivo, que implementa la acción 'off'. |
pcmk_off_timeout | hora | 60 s | Especifica un tiempo de espera alternativo para usar acciones off en lugar de stonith-timeout . Algunos dispositivos requieren mucho más o mucho menos tiempo del normal. Utilícelo para especificar un tiempo de espera alternativo, específico para dispositivo, para acciones 'off'. |
pcmk_off_retries | entero | 2 | El número máximo de veces para reintentar el comando off dentro del periodo de tiempo de espera. Algunos dispositivos no soportan múltiples conexiones. Las operaciones pueden fallar si el dispositivo está ocupado con otra tarea, por eso Pacemaker reintentará automáticamente, sí aún queda tiempo. Use esta opción para alterar el número de reintentos que Pacemaker puede hacer de acciones 'off'. |
pcmk_list_action | cadena | list | Un comando alternativo para ejecutar en lugar de list . Algunos dispositivos no soportan los comandos estándar o proporcionan comandos adicionales. Puede utilizarlo como un comando alternativo, específico para dispositivo, que implementa la acción 'list'. |
pcmk_list_timeout | hora | 60 s | Especifica un tiempo de espera alternativo para usar acciones 'list' de stonith-timeout . Algunos dispositivos necesitan mucho más o mucho menos tiempo del normal. Utilícelo para especificar un tiempo de espera alternativo, específico para dispositivo, para acciones 'list'. |
pcmk_list_retries | entero | 2 | El número máximo de veces para reintentar el comando list dentro del periodo de tiempo de espera. Algunos dispositivos no soportan múltiples conexiones. Las operaciones pueden fallar si el dispositivo está ocupado con otra tarea, por eso Pacemaker reintentará automáticamente, sí aún queda tiempo. Use esta opción para alterar el número de reintentos que Pacemaker puede hacer de acciones 'list'. |
pcmk_monitor_action | cadena | monitor | Un comando alternativo para ejecutar en lugar de monitor . Algunos dispositivos no soportan los comandos estándar o proporcionan comandos adicionales. Puede utilizarlo como un comando alternativo, especifico para dispositivos, que implementa la acción 'monitor'. |
pcmk_monitor_timeout | hora | 60 s | Especifica un tiempo de espera alternativo para usar acciones 'monitor' de stonith-timeout . Algunos dispositivos necesitan mucho más o mucho menos tiempo del normal. Utilícelo para especificar un tiempo de espera alternativo, específico para dispositivo, para acciones 'monitor'. |
pcmk_monitor_retries | entero | 2 | El número máximo de veces para reintentar el comando monitor dentro del periodo de tiempo de espera. Algunos dispositivos no soportan múltiples conexiones. Las operaciones pueden fallar si el dispositivo está ocupado con otra tarea, por eso Pacemaker reintentará automáticamente, sí aún queda tiempo. Use esta opción para alterar el número de reintentos que Pacemaker puede hacer de acciones 'monitor'. |
pcmk_status_action | cadena | estado | Un comando alternativo para ejecutar en lugar de status . Algunos dispositivos no soportan los comandos estándar o pueden proporcionar comandos adicionales. Puede utilizarlo como un comando alternativo, específico para dispositivo, que implementa la acción 'status'. |
pcmk_status_timeout | hora | 60 s | Especifica un tiempo de espera alternativo para usar acciones de estatus de stonith-timeout . Algunos dispositivos necesitan mucho más o mucho menos tiempo del normal. Utilícelo para especificar un tiempo de espera alternativo, específico para el dispositivo, para acciones 'status'. |
pcmk_status_retries | entero | 2 | El número máximo de veces para reintentar el comando status dentro del periodo de tiempo de espera. Algunos dispositivos no soportan múltiples conexiones. Las operaciones pueden fallar si el dispositivo está ocupado con otra tarea, por eso Pacemaker reintentará automáticamente, sí aún queda tiempo. Use esta opción para alterar el número de reintentos que Pacemaker puede hacer de acciones 'status'. |
4.10. Configuración de niveles de cercado
- Cada nivel se intenta en orden numérico ascendente, iniciando en 1.
- Si un dispositivo falla, el procesamiento termina para el nivel actual. Ningún otro dispositivo en ese nivel se utilizan y se intenta el siguiente nivel en su lugar.
- Si todos los dispositivos son cercados, entonces ese nivel es correcto y no se intentan otros niveles.
- La operación ha terminado cuando un nivel ha pasado (éxito) o se han intentado todos los niveles (fallado).
pcs stonith level add level node devices
pcs stonith level
rh7-2
: un dispositivo de vallas ilo llamado my_ilo
y un dispositivo de vallas apc llamado my_apc
. Estos comandos configuran los niveles de vallas, para que si el dispositivo my_ilo
falla y no puede cercar el nodo, entonces Pacemaker intente usar el dispositivo my_apc
. Este ejemplo también muestra la salida del comando pcs stonith level
después de configurar los niveles.
#pcs stonith level add 1 rh7-2 my_ilo
#pcs stonith level add 2 rh7-2 my_apc
#pcs stonith level
Node: rh7-2 Level 1 - my_ilo Level 2 - my_apc
pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]
pcs stonith level clear [node|stonith_id(s)]
# pcs stonith level clear dev_a,dev_b
pcs stonith level verify
Capítulo 5. Configuración de recursos de clúster
5.1. Creación de recursos
pcs resource create resource_id standard:provider:type|type [resource options]
ocf
estándar, proveedor heartbeat
, y tiipo IPaddr2
. La dirección flotante de este recurso es 192.168.0.120, el sistema revisará si el recurso se ejecuta cada 30 segundos.
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
ocf
y un proveedor heartbeat
.
# pcs resource create VirtualIP IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
pcs resource delete resource_id
VirtualIP
# pcs resource delete VirtualIP
- Para obtener información sobre los campos resource_id, standard, provider, and type del comando
pcs resource create
consulte la Sección 5.2, “Propiedades de recursos”. - Para obtener información sobre cómo definir parámetros para recursos individuales, consulte la Sección 5.3, “Parámetros específicos de recursos”.
- Para obtener información sobre cómo definir metaopciones de recursos, las cuales son utilizadas por el clúster para decidir el comportamiento de los recursos, consulte la Sección 5.4, “Metaopciones de recursos”.
- Para obtener información sobre cómo definir las operaciones a ejecutar en un recurso, consulte la Sección 5.5, “Operaciones de recursos”.
5.2. Propiedades de recursos
Tabla 5.1. Propiedades de recursos
Campo | Descripción |
---|---|
resource_id
| |
standard
| |
Tipo
| |
Proveedor
|
Tabla 5.2. Comandos para mostrar las propiedades de recursos
Comando para desplegar pcs | Salida |
---|---|
pcs resource list | Muestra una lista de todos los recursos |
pcs resource standard | Muestra una lista de todos los estándares de agente de recursos |
pcs resource providers | Muestra una lista de todos los proveedores disponibles de agente de recursos. |
pcs resource list string | Despliega una lista de los recursos disponibles filtrados por la cadena específica. Use el comando para desplegar recursos filtrados por el nombre de un estándar, un proveedor o un tipo. |
5.3. Parámetros específicos de recursos
# pcs resource describe standard:provider:type|type
LVM
.
# pcs resource describe LVM
Resource options for: LVM
volgrpname (required): The name of volume group.
exclusive: If set, the volume group will be activated exclusively.
partial_activation: If set, the volume group will be activated even
only partial of the physicalvolumes available. It helps to set to
true, when you are using mirroring logical volumes.
5.4. Metaopciones de recursos
Tabla 5.3. Metaopciones de recursos
Campo | Predeterminado | Descripción |
---|---|---|
priority
| 0
| |
target-role
| Started
|
¿En cuál estado debe el clúster tratar de mantener este recurso? Los valores permitidos son:
* Stopped - Obliga al recurso a parar
* Started - Permite al recurso iniciarse (en el caso de recurso multiestados, no serán promovidos al maestro)
|
is-managed
| true
| |
resource-stickiness
|
0
| |
requires
|
Calculado
|
Indica bajo qué condiciones puede iniciarse el recurso
Se predetermina a
fencing excepto en las condiciones anotadas abajo. Posibles valores:
*
nothing - El clúster siempre puede iniciar el recurso.
*
quorum - El clúster solo puede inicar este recurso si la mayoría de los nodos configurados están activos. Este es el valor predeterminado si stonith-enabled es false o si el standard del recurso es stonith .
*
fencing - El clúster solo puede iniciar este recurso si la mayoría de los nodos configurados estań activos y ningún nodo desconocido o fallido ha sido apagado.
*
unfencing - El clúster solo puede iniciar este recurso si la mayor parte de los nodos configurados están activos y cualquier nodo fallido o desconocido ha sido apagado y solo en nodos a los que se les ha eliminado la valla. Este es el valor predeterminado si la metaopción provides=unfencing stonith ha sido establecida para un dispositivos de cercado. Para obtener información sobre la metaopción provides=unfencing stonith , consulte la Sección 4.5, “Configuración de dispositivos de cercado basados en almacenamiento con remoción de cercado. ”.
|
migration-threshold
| INFINITY (disabled)
|
Cuántas fallas pueden ocurrir para este recurso en un nodo, antes de que el nodo sea marcado como no elegible para albergar este recurso. Para obtener información sobre cómo configurar la opción
migration-threshold , consulte la Sección 7.2, “Desplazamiento de recursos debido a un fallo”.
|
failure-timeout
| 0 (desactivado)
|
Se usa junto con la opción
migration-threshold , indica cuántos segundos se puede esperar antes de actuar como si la falla no hubiese ocurrido, y en potencia permitiendo al recurso volver al nodo en el que fallo. Para obtener información sobre cómo configurar la opción failure-timeout , consulte la Sección 7.2, “Desplazamiento de recursos debido a un fallo”.
|
multiple-active
| stop_start
|
Lo que debería hacer el clúster si alguna vez encuentra el recurso activo en más de un nodo. Los valores permitidos son:
*
block - marca el recurso como no administrado
*
stop_only - detiene todas las instancias y las deja como en esa for
*
stop_start - detiene todas las instancias activas e inicia el recurso en una sola ubicación
|
pcs resource defaults options
resource-stickiness
a 100.
# pcs resource defaults resource-stickiness=100
pcs resource defaults
aparece una lista de valores predeterminados configurados actualmente para opciones de recursos. El siguiente ejemplo muestra la salida del comando después de haber restablecido el valor de resource-stickiness
a 100.
# pcs resource defaults
resource-stickiness:100
pcs resource create
que usted utiliza para especificar el valor para una metaopción de recursos.
pcs resource create resource_id standard:provider:type|type [resource options] [meta meta_options...]
resource-stickiness
de 50.
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 meta resource-stickiness=5O
pcs resource meta resource_id | group_id | clone_id | master_id meta_options
dummy_resource
. Este comando establece la metaopción failure-timeout
a 20 segundos para que el recurso pueda alcanzar a reiniciar en el mismo nodo en 20 segundos.
# pcs resource meta dummy_resource failure-timeout=20s
failure-timeout=20s
está configurado.
# pcs resource show dummy_resource
Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
Meta Attrs: failure-timeout=20s
Operations: start interval=0s timeout=20 (dummy_resource-start-timeout-20)
stop interval=0s timeout=20 (dummy_resource-stop-timeout-20)
monitor interval=10 timeout=20 (dummy_resource-monitor-interval-10)
5.5. Operaciones de recursos
pcs
creará de forma predeterminada una operación de monitorización con un intervalo establecido por el agente de recursos. Si el agente de recursos no proporciona un intervalo de monitorización, el comando pcs creará una operación de monitorización con un intervalo de 60 segundos.
Tabla 5.4. Propiedades de una operación
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
IPaddr2
con una operación de monitorización. El nuevo recurso se denomina VirtualIP
con una dirección IP de 192.168.0.99 y una máscara de red de 24 en eth2
. Una operación de monitorización se realizará cada 30 segundos.
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s
# pcs resource create my_address IPaddr2 ip=10.20.30.40 cidr_netmask=24 op monitor
pcs resource op add resource_id operation_action [operation_properties]
pcs resource op remove resource_id operation_name operation_properties
Nota
VirtualIP
con el comando:
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s) stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s) monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
#pcs resource op remove VirtualIP stop interval=0s timeout=20s
#pcs resource op add VirtualIP stop interval=0s timeout=40s
#pcs resource show VirtualIP
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2) Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2 Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s) monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s) stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)
pcs resource op defaults [options]
timeout
de 240 s para todas las operaciones de monitorización.
# pcs resource op defaults timeout=240s
pcs resource op defaults
para desplegar los valores predeterminados para operaciones de monitorización:
timeout
de 240 s.
# pcs resource op defaults
timeout: 240s
5.6. Despliegue de los recursos configurados
pcs resource show
VirtualIP
y otro llamado WebSite
, el comando pcs resource show
produce la siguiente salida:
# pcs resource show
VirtualIP (ocf::heartbeat:IPaddr2): Started
WebSite (ocf::heartbeat:apache): Started
--full
del comando pcs resource show
como el siguiente ejemplo:
# pcs resource show --full
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
Attributes: ip=192.168.0.120 cidr_netmask=24
Operations: monitor interval=30s
Resource: WebSite (type=apache class=ocf provider=heartbeat)
Attributes: statusurl=http://localhost/server-status configfile=/etc/httpd/conf/httpd.conf
Operations: monitor interval=1min
pcs resource show resource_id
VirtualIP
# pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
Attributes: ip=192.168.0.120 cidr_netmask=24
Operations: monitor interval=30s
5.7. Cómo modificar los parámetros de recursos
pcs resource update resource_id [resource_options]
VirtualIP
, el comando para cambiar el valor del parámetro ip
y los valores después del cambio:
#pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat) Attributes: ip=192.168.0.120 cidr_netmask=24 Operations: monitor interval=30s #pcs resource update VirtualIP ip=192.169.0.120
#pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat) Attributes: ip=192.169.0.120 cidr_netmask=24 Operations: monitor interval=30s
5.8. Múltiples operaciones de monitorización
Nota
OCF_CHECK_LEVEL=n
.
IPaddr2
, se crea de forma predeterminada una operación de monitorización con un intervalo d 10 segundos y un valor de espera de 20 segundos.
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
# pcs resource op add VirtualIP monitor interval=60s OCF_CHECK_LEVEL=10
5.9. Habilitación e inhabilitación de recursos de clúster
resource_id
.
pcs resource enable resource_id
resource_id
.
pcs resource disable resource_id
5.10. Limpieza de recursos de clúster
pcs resource cleanup
. Este comando restablece el estatus del recurso y el conteo de fallos, y le dice al clúster que olvide el historial de la operación de un recurso y que redetecte su estado actual.
resource_id
.
pcs resource cleanup resource_id
Capítulo 6. Restricciones de validación
location
— Una restricción de ubicación determina en cuál de los nodos puede ejecutarse un recurso. Las restricciones de ubicación se describen en la Sección 6.1, “Restricciones de ubicación”.order
— Una restricción de orden determina el orden en el cual se ejecutan los recursos. Las restricciones de orden se describen en la Sección 6.2, “Restricciones de orden”.colocation
constraints — Una restricción de colocación determina dónde se localizarán los recursos relativos a otros recursos. Las restricciones de colocación se describen en la Sección 6.3, “Colocación de recursos”.
6.1. Restricciones de ubicación
Tabla 6.1. Opciones para restricciones de ubicación
Campo | Descripción |
---|---|
id
|
Un nombre único para la restricción. Establecido por el sistema cuando usted configura una restricción de ubicación con
pcs .
|
rsc
|
Un nombre de recurso
|
node
|
Un nombre de nodo
|
score
|
Valor para indicar la preferencia de si un recurso debe ejecutarse en un nodo o evitar un nodo.
Un valor de cambios
INFINITY "should" (debería) a "must" (debe); INFINITY es el valor del puntaje predeterminado para una restricción de ubicación de recursos.
|
pcs constraint location rsc prefers node[=score] ...
pcs constraint location rsc avoids node[=score] ...
- Opt-In Clusters — Configure un clúster, en el cual se predetermina que no se puede ejecutar ningún recurso en ninguna parte y luego habilitar de forma selectiva los nodos autorizados para recursos específicos. El procedimiento para configurar un clúster opt-in se describe en la Sección 6.1.1, “Configuración de un clúster "Opt-In" ”.
- Opt-Out Clusters — Configure un clúster, en el cual se predetermina que todos recursos se ejecuten en cualquier parte y cree restricciones de ubicación para recursos que no estén autorizados para ejecutarse en nodos específicos. El procedimiento para configurar un clúster opt-out se describe en la Sección 6.1.2, “Configuración de un clúster "Opt-Out"”.
6.1.1. Configuración de un clúster "Opt-In"
symmetric-cluster
a false
para evitar que los recursos se ejecuten en cualquier parte.
# pcs property set symmetric-cluster=false
Webserver
prefiera el nodo example-1
, el recurso Database
prefiere el nodo example-2
, y ambos recursos puedan conmutarse al nodo example-3
si su nodo preferido falla.
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver prefers example-3=0
#pcs constraint location Database prefers example-2=200
#pcs constraint location Database prefers example-3=0
6.1.2. Configuración de un clúster "Opt-Out"
symmetric-cluster
a true
para permitir que los recursos se ejecuten de forma predeterminada en cualquier parte.
# pcs property set symmetric-cluster=true
example-3
si su nodo preferido falla, puesto que cada nodo tiene un puntaje implícito de 0.
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver avoids example-2=INFINITY
#pcs constraint location Database avoids example-1=INFINITY
#pcs constraint location Database prefers example-2=200
6.2. Restricciones de orden
pcs constraint order [action] resource_id then [action] resource_id [options]
Tabla 6.2. Propiedades de una restricción de orden
Campo | Descripción |
---|---|
resource_id
|
El nombre del recurso en el cual se realiza una accion
|
action
|
La acción a realizar en un recurso. Los valores posibles de la propiedad acción son los siguientes:
*
start - Inicia el recurso.
*
stop - Detiene el recurso
*
promote - Promueve el recurso de un recurso esclavo a un recurso maestro.
*
demote - Degrada el recurso de un recurso maestro a un recurso esclavo.
Si no se especifica la acción, se predetermina a
start . Para obtener información sobre los recursos maestros y esclavos, consulte la Sección 8.2, “Recursos multiestados: Recursos que tienen modos múltiples”.
|
Opción
kind
|
Forma de imponer la restricción. Los valores posibles de la opción
kind son los siguientes:
*
Optional - solamente aplica si ambos recursos están iniciando o parando. Para obtener más información sobre ordenamiento opcional, consulte la Sección 6.2.2, “Recomendación de ordenamiento”.
*
Mandatory - siempre (valor predeterminado). Si el primer recurso que usted especificó se detiene o no puede iniciarse, el segundo recurso que usted especificó debe detenerse. Para obtener más información sobre ordenamiento obligatorio, consulte la Sección 6.2.1, “Ordenamiento obligatorio”.
*
Serialize - garantiza que no ocurran dos acciones de parada o de inicio al mismo tiempo para un conjunto de recursos.
|
Opciones
symmetrical
|
6.2.1. Ordenamiento obligatorio
kind
. Al dejar el valor predeterminado se garantiza que el segundo recurso que usted especifique reaccionará cuando el primer recurso que especifique cambie de estado.
- Si el primer recurso que especificó estaba ejecutándose y paró, el segundo recurso que especificó también se detendrá. (si se está ejecutando).
- Si el primer recurso que especificó no estaba ejecutándose y no puede iniciarse, el segundo recurso que especificó también se detendrá. (si se está ejecutando).
- Si el primer recurso que especificó se reinicia mientras el segundo recurso que especificó está ejecutándose, el segundo recurso que especificó se detendrá y reiniciará.
6.2.2. Recomendación de ordenamiento
kind=Optional
para una restricción de orden, la restricción se considera opcional y solamente tiene efecto cuando ambos recursos se están deteniendo o iniciando. Cualquier cambio en el estado del primer recurso que especificó no tiene efecto en el segundo recurso que especificó.
VirtualIP
y dummy_resource
.
# pcs constraint VirtualIP then dummy_resource kind=Optional
6.2.3. Conjunto de recursos ordenados
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resource1 resource2 ...]
D1
, D2
y D3
, el siguiente comando los configura como un conjunto de recursos ordenado.
# pcs constraint order set D1 D2 D3
6.2.4. Retiro de recursos de restricciones de ordenamiento
pcs constraint order remove resource1 [resourceN]...
6.3. Colocación de recursos
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
Tabla 6.3. Propiedades de una restricción de colocación
Campo | Descripción |
---|---|
source_resource
|
La fuente de colocación. Si la restricción no se puede satisfacer, el clúster decide no permitir que el recurso se ejecute de ninguna manera.
|
target_resource
|
El destino de la colocación. El clúster primero decidirá dónde colocar este recurso y luego dónde colocar el recurso de origen.
|
Puntaje
|
Los valores positivos indican que el recurso debe ejecutarse en el mismo nodo. Los valores negativos indican que los recursos no se deberían ejecutar en el mismo nodo. Un valor de +
INFINITY , el valor predeterminado, indica que source_resource debe ejecutarse en el mismo nodo como target_resource. Un valor de -INFINITY indica que source_resource no debe ejecutarse en el mismo nodo como un target_resource.
|
6.3.1. Colocación obligatoria
+INFINITY
o -INFINITY
. en estos casos, si la restricción no puede satisfacerse, entonces no se permite ejecutar source_resource. Para score=INFINITY
, esta incluye casos donde target_resource no está activo.
myresource1
para que siempre se ejecute en la misma máquina como myresource1
, usted agregaría la siguiente restricción:
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
INFINITY
, si myresource2
no puede ejecutarse en ninguno de los nodos de clúster (por la razón que sea) entonces myresource1
no podrá ejecutarse.
myresource1
no pueda ejecutarse en la misma máquina como myresource2
. En este caso, use score=-INFINITY
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
-INFINITY
, la restricción es la vinculación. Por lo tanto, si el único sitio que queda para ejecutarse es donde myresource2
ya se está, entonces myresource1
no puede ejecutarse en ninguna parte.
6.3.2. Ubicación de recomendación
-INFINITY
e inferiores a INFINITY
, el clúster intentará acomodar sus deseos, pero puede ignorarlos si la alternativa es detener algunos de los recursos de clúster. Las restricciones de colocación de la recomendación pueden combinarse con otros elementos de la configuración para comportarse como si fueran obligatorios.
6.3.3. Colocación de conjunto de recursos
sequential
a true
o false
para indicar si el conjunto de recursos colocados es un conjunto ordenado.
colocation set resource1 resource2 [resourceN]... [setoptions name=value] ... [set resourceX resourceY ...] [setoptions name=value...]
role
para una colocación establecida a master
o slave
. Para obtener información sobre recurso multiestados, consulte la Sección 8.2, “Recursos multiestados: Recursos que tienen modos múltiples”.
6.3.4. Retiro de restricciones de colocación
pcs constraint colocation remove source_resource target_resource
6.4. Despliegue de restricciones
pcs constraint list|show
- Si se especifica
resources
, la ubicación de restricciones se despliega por recurso. Esta es la conducta predeterminada. - Si se especifica
nodes
, las restricciones de ubicación se despliegan por nodo. - Si se especifican los recursos o los nodos, entonces solamente se desplegará la información acerca de estos recursos o nodos.
pcs constraint location [show resources|nodes [specific nodes|resources]] [--full]
--full
, mostrará los ID de restricciones internas.
pcs constraint order show [--full]
--full
, mostrará los ID de restricciones internas.
pcs constraint colocation show [--full]
pcs constraint ref resource ...
6.5. Grupos de recursos
pcs resource group add group_name resource_id...
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name
pcs resource group remove group_name resource_id...
pcs resource group list
shortcut
que contiene recursos existentes IPaddr
y Email
.
# pcs resource group add shortcut IPaddr Email
- Los recursos se inician en el orden en que los especificó (en este ejemplo, primero
IPaddr
, luegoEmail
). - Los recursos se detienen en el orden inverso en el que los especificó (en este ejemplo, primero
Email
luegoIPaddr
).
- Si
IPaddr
no puede ejecutarse en ninguna parte, ni puedeEmail
. - Si
Email
no puede ejecutarse en ninguna parte, no afectará aIPaddr
de ninguna forma.
6.5.1. Opciones de grupos
priority
, target-role
, is-managed
. Para obtener más información sobre opciones de recursos, consulte la Tabla 5.3, “Metaopciones de recursos”.
6.5.2. Pegajosidad de grupos
resource-stickiness
predeterminado es 100 y un grupo tiene siete miembros, cinco de los cuales están activos, el grupo como un todo preferirá su ubicación actual con un puntaje de 500.
Capítulo 7. Administración de recursos de clúster
7.1. Desplazamiento manual de los recursos alrededor del clúster
- Cuando un nodo está en mantenimiento y usted necesita desplazar todos los recursos que están ejecutándose en ese nodo a otro nodo.
- Cuando solo se necesita desplazar un recurso
resource_id
del nodo como se define.
pcs resource move resource_id
destination_node
.
pcs resource moveresource_id
destination_node
move resource_id
definió:
pcs resource clear resource_id [node]
pcs resource move
, este comando agrega restricciones al recurso para evitar que se ejecute en el nodo indicado. Cuando ejecute el comando pcs resource clear
, este comando retira las restricciones. Esta acción no devuelve necesariamente los recursos al nodo indicado; el sitio en donde los recursos pueden ejecutarse en ese momento dependerá de la forma como ha configurado inicialmente sus recursos. Para obtener información sobre restricciones de recursos, consulte el Capítulo 6, Restricciones de validación.
7.2. Desplazamiento de recursos debido a un fallo
migration-threshold
para dicho recurso. Cuando se haya alcanzado el umbral, el nodo ya no podrá ejecutar el recurso fallido, sino hasta que:
- El administrador reconfigure manualmente el conteo de fallos mediante el comando
pcs resource failcount
. - Haya alcanzado el valor del recurso
failure-timeout
.
Nota
migration-threshold
para un recurso no es lo mismo que configurar un recurso para migración, en el cual el recurso se desplaza a otro sitio sin perder el estado.
dummy_resource
, lo cual indica que el recurso se desplazará a un nodo después de 10 fallos.
# pcs resource meta dummy_resource migration-threshold=10
# pcs resource defaults migration-threshold=10
pcs resource failcount
.
INFINITY
y haga que el recurso siempre se desplace inmediatamente.
7.3. Desplazamiento de recursos debido a cambios de conectividad
- Agregue el recurso
ping
al clúster. El recursoping
usa la herramienta con el mismo nombre para probar si una lista de máquinas (especificadas por el nombre de host DNS o dirección IPv4/IPv6) se puede contactar y usa también los resultados para mantener un atributo de nodo denominadopingd
. - Configure una restricción de sitio para el recurso que desplazará el recurso a un nodo diferente cuando se pierda la conectividad.
ping
.
Tabla 7.1. Propiedades de un recurso ping
Campo | Descripción |
---|---|
dampen
| |
multiplier
| |
host_list
|
ping
que verifica conectividad a www.example.com
. En la práctica, usted verificaría la conectividad de su puerta de enlace de red/enrutador. Configure el recurso ping
como un clon para que el recurso se ejecute en todos los nodos de clúster.
# pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone
Webserver
. Esta acción hará que el recurso Webserver
se desplace a un host que pueda contactar a www.example.com
si el host que está ejecutándose actualmente no puede contactar a www.example.com
.
# pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd
7.4. Habilitación, inhabilitación y rechazo de recursos de clúster
pcs resource move
descrito en la Sección 7.1, “Desplazamiento manual de los recursos alrededor del clúster”, hay una variedad de comandos que puede usar para controlar la conducta de los recursos de clúster.
--wait
,pcs esperará hasta 30 segundos (o 'n' segundos) para que el recurso se detenga y luego retornará 0, si el recurso se detiene o si el recurso no ha parado.
pcs resource disable resource_id [--wait[=n]]
--wait
, pcs esperará hasta 30 segundos (o 'n' segundos) para que el recurso inicie y luego retornará 0 si el recurso se inicia o 1 si el recurso no ha sido iniciado.
pcs resource enable resource_id [--wait[=n]]
pcs resource ban resource_id [node]
pcs resource
, este comando agrega restricciones al recurso para evitar que se ejecute en el nodo indicado. Cuando ejecute el comando pcs resource clear
, este comando retira las restricciones. Esta acción no devuelve necesariamente los recursos al nodo indicado; el sitio en donde los recursos pueden ejecutarse en ese momento dependerá de la forma como ha configurado inicialmente sus recursos. Para obtener información sobre restricciones de recursos, consulte el Capítulo 6, Restricciones de validación.
pcs resource clear resource_id [node]
debug-start
del comando pcs resource
para forzar el inicio de un recurso especificado en un nodo actual, ignorando las recomendaciones del clúster e imprimiendo la salida del inicio del recurso. Sirve principalmente para depurar recursos; el inicio de recursos en un clúster casi siempre es realizado por Pacemaker y no directamente con el comando pcs
. Si su recurso no inicia, suele deberse a una configuración incorrecta del recurso (el cual usted depura en el registro del sistema), restricciones del recurso desde el inicio o debido a un recurso inhabilitado. Puede usar este comando para probar configuración de recursos, pero no debe usarla para iniciar recursos en un clúster.
debug-start
es el siguiente.
pcs resource debug-start resource_id
7.5. Inhabilitación de operaciones de monitorización
enabled="false"
a la definición de la operación. Cuando desee restablecer la operación de monitorización, establezca la definición de operación a enabled="true"
.
7.6. Recursos administrados
pcs resource unmanage resource1 [resource2] ...
pcs resource manage resource1 [resource2] ...
pcs resource manage
o pcs resource unmanage
. El comando actuará en todos los recursos del grupo, para que usted pueda administrar o no todos los recursos en un grupo con un solo comando y luego administrar los recursos incluidos individualmente.
Capítulo 8. Tipos de recursos avanzados
8.1. Clones de recursos
Nota
Filesystem
que monte un sistema de archivos que no esté agrupado, tal como ext4
desde un dispositivo de memoria compartida, no se debe clonar. Como la partición ext4
no reconoce al clúster, este sistema de archivos no es apto para operaciones de lectura y escritura que se realicen en múltiples nodos simultáneamente.
8.1.1. Creación y remoción de un recurso clonado
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
resource_id-clone
.
pcs resource clone resource_id | group_name [clone_options]...
id_de_recurso-clon
o nombre_de_grupo-clon
.
Nota
Nota
-clone
adherido al nombre. El siguiente comando crea un recurso del tipo apache
denominado webfarm
y un clon de dicho recurso denominado webfarm-clone
.
# pcs resource create webfarm apache clone
pcs resource unclone resource_id | group_name
Tabla 8.1. Opciones de recursos de clon
Campo | Descripción |
---|---|
priority, target-role, is-managed
|
Las opciones heredadas del recurso que se está clonando, como se describe en la Tabla 5.3, “Metaopciones de recursos”.
|
clone-max
| |
clone-node-max
| |
notify
| |
globally-unique
|
¿Cada copia de clon funciona diferente? Valores permitidos:
false , true
Si el valor de esta opción es
false , estos recursos se comportan de forma idéntica en cualquier parte que se ejecuten y por lo tanto, solo pueden ser una copia del clon activo por máquina.
Si el valor de esta opción es
true , la copia del clon que se ejecute en una máquina no es equivalente en otra instancia, sea que dicha instancia se esté ejecutando en otro nodo o en el mismo. El valor predeterminado es true si el valor de clone-node-max es mayor que 1; de lo contrario, el valor predeterminado es false .
|
ordered
| |
interleave
|
Los cambios de conducta sobre restricciones de ordenamiento (entre clones y maestros) para que las instancias puedan iniciarse o detenerse cuando su instancia par tenga (en lugar de esperar cada instancia que tiene el otro clon). Los valores permitidos son:
false y true . El valor predeterminado es false .
|
8.1.2. Restricciones de clon
clone-max
para el clon de recursos a un valor inferior al número total de nodos en el clúster. Si este es el caso, indique los nodos al que el clúster debe asignar preferentemente copias con las restricciones de ubicación de recursos. Estas restricciones no se escriben de forma diferente a los recursos regulares a excepción de que se debe utilizar el ID de clon.
webfarm-clone
a node1
.
# pcs constraint location webfarm-clone prefers node1
webfarm
esperará a que todas las copias del clon que se deban iniciar lo hayan hecho para poderse iniciar. Solamente si no se inician copias, se evitará que webfarm
se active. Además, el clon esperará a que webfarm
pare, antes de detener el clon.
# pcs constraint order start webfarm-clone then webfarm
webfarm
se ejecute en el mismo nodo que el clon.
# pcs constraint colocation add webfarm with webfarm-clone
8.1.3. Pegajosidad de clon
resource-stickiness
, el clon utilizará un valor de 1. En un valor pequeño, provoca una interferencia mínima para los cálculos de otros recursos, pero es suficiente para evitar que Pacemaker traslade copias innecesarias alrededor de clúster.
8.2. Recursos multiestados: Recursos que tienen modos múltiples
Maestro
y Esclavo
. Los nombres de los modos no tienen significados específicos, a excepción de la limitación de que cuando se inicie una instancia, debe aparecer en el estado Esclavo
.
pcs resource create resource_id standard:provider:type|type [resource options] \ --master [meta master_options]
resource_id-master
.
resource_id-master
o group_name-master
.
pcs resource master master/slave_name resource_id|group_name [master_options]
Tabla 8.2. Propiedades de un recurso multiestados
8.2.1. Monitorización de recursos multiestados
ms_resource
. Este recurso de supervisión es en adición a la operación de monitorización predeterminada con un intervalo de 10 segundos.
# pcs resource op add ms_resource interval=11s role=Master
8.2.2. Restricciones de multiestados
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
promote
, la cual indica que el recurso se promueve de esclavo a maestro o, también, la acción demote
, la cual indica que el recurso se degrada de maestro a esclavo.
pcs constraint order [action] resource_id then [action] resource_id [options]
8.2.3. Pegajosidad de multiestados
resource-stickiness
, el recurso multiestados usará un valor de 1. Siendo un valor pequeño, causa mínimas interferencias con los cálculos del puntaje de otros recursos, pero es suficiente para evitar que Pacemaker haga copias innecesarias alrededor del clúster.
8.3. Notificación de eventos con recursos de monitorización
ocf:pacemaker:ClusterMon
puede monitorizar el estatus del clúster y activar alertas en cada evento de clúster. Este recurso ejecuta crm_mon
en el segundo plano a intervalos regulares y usa herramientas crm_mon
para enviar mensajes de correo-e (SMTP) o trampas SNMP. También puede ejecutar un programa externo mediante el parámetro extra_options
.
ClusterMon
denominado ClusterMon-SMTP
, el cual enviará notificaciones de correo. Los eventos de Pacemaker harán que se envíe un correo-e a pacemaker@example.com
desde pacemaker@nodeX.example.com
, mediante el host de correo mail.example.com
. Este recurso es creado como un clon para que se ejecute en cada nodo del clúster.
# pcs resource create ClusterMon-SMTP ClusterMon --clone user=root update=30 \ extra_options="-T pacemaker@example.com -F pacemaker@nodeX.example.com \ -P PACEMAKER -H mail.example.com"
ClusterMon
denominado ClusterMon-SNMP
, el cual enviará trampas SNMP con el usuario root SNMP conectado al host snmphost.example.com
. Este recurso es creado como un clon para que se ejecute en cada nodo del clúster.
# pcs resource create ClusterMon-SNMP ClusterMon user=root update=30 \ extra_options="-S snmphost.example.com -C public" --clone
ClusterMon
denominado ClusterMon-External
que ejecuta el programa /usr/local/bin/example.sh
, el cual determina lo que se debe hacer con las notificaciones de clúster. Este recurso es creado como clon para que se ejecute en cada nodo del clúster.
# pcs resource create ClusterMon-External ClusterMon --clone user=root \ update=30 extra_options="-E /usr/local/bin/example.sh -e 192.168.12.1"
8.4. El servicio pacemaker_remote
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
.
pacemaker_remote
.
- cluster node - Un nodo que se ejecuta en servicios de alta disponibilidad (
pacemaker
ycorosync
). - remote node — Un nodo que ejecuta
pacemaker_remote
para integrarse de forma remota dentro del clúster sin requerir membresía de clústercorosync
. - 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
.
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
ycorosync
), que se ejecuta en nodos de clúster, lanza las máquinas virtuales e inmediatamente se conecta al serviciopacemaker_remote
, lo cual permite que las máquinas virtuales se integren en el clúster.
8.4.1. Opciones de recursos de nodo remoto de contenedor
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
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
Campo | Predeterminado | Descripció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
|
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
8.4.2. Autenticación de host y huésped
/etc/pacemaker/authkey
tanto en los nodos de clúster como en los nodos remotos.
8.4.3. Cambio de opciones predeterminadas pacemaker_remote
authkey
, sea para Pacemaker o para pacemaker_remote
, hay variables de entorno que usted establece que afectan ambos demonios. Estas variables de entornose pueden habilitar al colocarlas en el archivo /etc/sysconfig/pacemaker
de la siguiente manera:
#==#==# Pacemaker Remote # Use a custom directory for finding the authkey. PCMK_authkey_location=/etc/pacemaker/authkey # # Specify a custom port for Pacemaker Remote connections PCMK_remote_port=3121
8.4.4. Visión general: Nodo remoto KVM
libvirt
y huéspedes virtuales KVM.
- Después de instalar el software de virtualización y de habilitar el servicio
libvirtd
en los nodos de clúster, ponga unauthkey
con la ruta/etc/pacemaker/authkey
en cada nodo de clúster y máquina virtual. De esta manera asegura la comunicación remota y la autenticación.El siguiente comando crea unaauthkey
.#
dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
- En cada máquina virtual, instale paquetes
pacemaker_remote
, inicie el serviciopacemaker_remote
, habilítelo para ejecutarlo en el inicio y abra el puerto TCP 3121 en el cortafuegos.#
yum install pacemaker-remote resource-agents
#systemctl start pacemaker_remote.service
#systemctl enable pacemaker_remote.service
#firewall-cmd --add-port 3121/tcp --permanent
- Otorga a cada máquina virtual una dirección de red estática y nombre de host único.
- Para crear el agente de recursos
VirtualDomain
para la administración de la máquina virtual, Pacemaker requiere que el archivo xml config de la máquina sea vaciado al archivo en disco. Por ejemplo, si creó una máquina virtual llamadaguest1
, vacíe el xml a otro archivo en el host mediante el siguiente comando..#
virsh dumpxml guest1 > /virtual_machines/guest1.xml
- Cree el recurso
VirtualDomain
, al configurar la metaopción del recursoremote-note
para indicar que la máquina virtual es un nodo capaz de ejecutar recursos.En el ejemplo a continuación, el metaatributoremote-node=guest1
le indica a Pacemaker que este recurso es un nodo remoto con el nombre de hostguest1
que puede integrarse en el clúster. El clúster intentará contactar al serviciopacemaker_remote
de la máquina con el nombre de hostguest1
después de lanzarse.#
pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
- Después de crear un recurso
VirtualDomain
, puede utilizar el nodo remoto como lo haría con cualquier otro nodo en el clúster. Por ejemplo, puede crear un recurso y localizar una restricción de recursos en el recurso para ejecutar en el nodo remoto.#
pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
#pcs constraint webserver prefers guest1
Cuando un nodo remoto se integra al clúster, ejecute los comandospcs
desde el nodo remoto, como si el nodo remoto estuviera ejecutando Pacemaker.
Capítulo 9. Reglas Pacemaker
resource-stickiness
durante horas laborales para evitar que los recursos sean devueltos a su ubicación preferida y otro valor para fines de semana cuando no haya nadie que note la interrupción.
boolean-op
de regla para determinar si la regla se evalúa como true
o false
. Lo que suceda luego, dependerá del contexto en el que la regla sea utilizada.
Tabla 9.1. Propiedades de una regla
Campo | Descripción |
---|---|
role
| |
score
| |
score-attribute
| |
boolean-op
|
9.1. Expresiones de atributos de nodo
Tabla 9.2. Propiedades de una expresión
Campo | Descripción |
---|---|
value
| |
attribute
| |
type
| |
operation
|
La comparación a realizar. Valores permitidos:
*
lt - 'True' si el valor del atributo de nodo es menor que value
*
gt - 'True' si el valor del atributo de nodo es mayor que value
*
lte - 'True' si el valor del atributo de nodo es menor o igual a value
*
gte - 'True' si el valor del atributo de nodo es mayor o igual a value
*
eq - 'True' si el valor del atributo de nodo igual a value
*
ne - 'True' si el valor del atributo de nodo es igual a value
*
defined - 'True' si el nodo tiene el atributo especificado
|
9.2. Expresiones de tiempo/fecha
Tabla 9.3. Propiedades de una expresión de fecha
Campo | Descripción |
---|---|
start
| |
end
| |
operation
|
Compara la fecha/tiempo actual con que el que inicia o termina la fecha, según el contexto. Los valores permitidos son:
*
gt - 'True' si la fecha/tiempo actual va después de start
*
lt - 'True' si la fecha/tiempo actual va antes de end
*
in-range - 'True' si la fecha/tiempo actual va después de start y antes de end
|
9.3. Especificaciones de fecha
monthdays="1"
corresponde al primer día de cada mes y hours="09-17"
corresponde a las horas entre las 9 a. m y 5 p. m. (inclusive). Sin embargo, usted no puede especificar weekdays="1,2"
o weekdays="1-2,5-6"
porque ellos contienen múltiples rangos.
Tabla 9.4. Propiedades de especificación de fecha
Campo | Descripción |
---|---|
id
| |
hours
| |
monthdays
| |
weekdays
| |
yeardays
| |
months
| |
weeks
| |
years
| |
weekyears
| |
moon
|
9.4. Duración
end
cuando no se proporciona para operaciones in _range. Contienen los mismos campos como objetos date_spec
, pero sin las limitaciones (p. ej. puede tener una duración de 19 meses). Como date_specs
, cualquier campo no especificado se ignora.
9.5. Configuración de reglas con pcs
score
, se predetermina a INFINITY. Si se omite id
, se genera una del constraint_id. rule_type debe ser expression
o date_expression
.
pcs constraint rule add constraint_id [rule_type] [score=score [id=rule_id] expression|date_expression|date_spec options
pcs constraint rule remove rule_id
9.6. Muestra de expresiones basadas en tiempo
# pcs constraint location Webserver rule score=INFINITY date-spec years=2005
# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"
# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4
9.7. Uso de reglas para determinar la ubicación de recursos
pcs resource constraint location resource_id rule [rule_id] [role=master|slave] [score=score expression]
defined|not_defined attribute
attribute lt|gt|lte|gte|eq|ne value
date [start=start [end=end operation=gt|lt|in-range
date-spec date_spec_options
Capítulo 10. Propiedades de clúster Pacemaker
- Tabla 10.1, “Propiedades de clúster” describe las de propiedades de clúster.
- La Sección 10.2, “Configuración y retiro de propiedades de clúster” describe cómo establecer las propiedades de clúster.
- La Sección 10.3, “Consulta de parámetros de propiedades de clúster ” describe la forma de listar todas las propiedades actuales de clúster
10.1. Resumen de propiedades y opciones de clúster
Nota
Tabla 10.1. Propiedades de clúster
10.2. Configuración y retiro de propiedades de clúster
pcs property set property=value
symmetric-cluster
a false
:
# pcs property set symmetric-cluster=false
pcs property unset property
pcs property set
. Así, restaura dicha propiedad a su valor predeterminado. Por ejemplo, si ya ha establecido la propiedad symmetric-cluster
a false
, el siguiente comando retira el valor que usted ha establecido de la configuración y restaura el valor de symmetric-cluster
a true
, el cual es el valor predeterminado.
# pcs property set symmetic-cluster=
10.3. Consulta de parámetros de propiedades de clúster
pcs
para desplegar valores de los varios componentes de clúster, use pcs list
o pcs show
. En los siguientes ejemplos, pcs list
es el formato utilizado para desplegar toda una lista de los parámetros para más de una propiedad, mientras que pcs show
es el formato utilizado para mostrar todos los valores de una propiedad específica.
pcs property list
pcs property list --all
pcs property show property
cluster-infrastructure
, ejecute el siguiente comando:
# pcs property show cluster-infrastructure
Cluster Properties:
cluster-infrastructure: cman
pcs property [list|show] --defaults
Apéndice A. Creación de clúster en lanzamiento 6.5 Red Hat Enterprise Linux y lanzamiento 6.6 Red Hat Enterprise Linux
rgmanager
. La Sección A.1, “Creación de clúster con rgmanager y con Pacemaker” resume las diferencias de configuración entre varios componentes de clúster.
pcs
en el lanzamiento 6.5 de Red Hat Enterprise Linux y el lanzamiento 6.6 y el soporte pcs
en el lanzamiento 6.6 de Red Hat Enterprise Linux..
A.1. Creación de clúster con rgmanager y con Pacemaker
Tabla A.1. Comparación de configuración de clúster con rgmanager y Pacemaker
Componente de configuración | rgmanager | Pacemaker |
---|---|---|
Archivo de configuración de clúster
|
El archivo de configuración de clúster en cada nodo es
cluster.conf , el cual puede ser editado directamente si se desea. De lo contrario, use la interfaz luci o ccs para definir la configuración de clúster.
|
Los archivos de configuración de clúster y Pacemaker son
cluster.conf y cib.xml . No los modifique directamente; use al interfaz pcs en su lugar.
|
Configuración de red
|
Configure direcciones IP y SSH antes de configurar el clúster.
|
Configure direcciones IP y SSH antes de configurar el clúster.
|
Herramientas de configuración de clúster
|
luci, el comando
ccs , modificación manual del archivo cluster.conf .
|
pcs
|
Instalación
|
Instale
rgmanager (el cual extrae todas las dependencias, incluidas ricci , luci , y los agentes de recursos y cercado). Si es necesario, instale lvm2-cluster y gfs2-utils .
|
Instale
pacemaker , cman , pcs , y el agente de recursos y cercado que requiera. Si es necesario, instale lvm2-cluster y gfs2-utils .
|
Inicio de servicios de clúster
|
Inicie y habilite los servicios de clúster de la siguiente manera:
También, puede ejecutar
ccs --start para iniciar y habilitar los servicios de clúster.
|
Inicie y habilite los servicios de clúster de la siguiente manera:
|
Control de acceso a las herramientas de configuración
|
Para luci, el usuario root o el usuario con permisos de luci pueden acceder a luci. Todo acceso requiere la contraseña
ricci para el nodo.
|
No hay configuración para Interfaz gráfica de usuario
|
Creación de clúster
|
Dé un nombre al clúster y defina los nodos que va a incluir en el clúster con luci o
ccs , o modifique directamente el archivo cluster.conf .
|
Nombre el clúster e incluya nodos con el comando
pcs cluster setup .
|
Propagación del archivo de configuración de clúster a todos los nodos
|
Al configurar un clúster con luci, la es automática. Con
ccs , use la --sync . También puede usar el comando cman_tool version -r .
|
La propagación de los archivos de clúster y Pacemaker,
cluster.conf y cib.xml es automática al configurar el clúster o agregar un recurso.
|
Propiedades de clúster global
|
Los siguientes funcionalidades con rgmanager:
*Puede configurar el sistema para que el sistema elija la dirección multidifusión a usar para la multidifusión IP en la red de clúster.
* Si la multidifusión IP no está disponible, use el mecanismo de transporte UDP Unicast.un
* Puede configurar un clúster para usar el protocolo RRP
|
Pacemaker soporta las siguientes funcionalidades para un clúster:
* Puede establecer
no-quorum-policy para el clúster a fin de especificar lo que debe hacer el sistema cuando el clúster no tiene cuórum.
*Para obtener las propiedades adicionales de clúster que puede establecer, consulte la Tabla 10.1, “Propiedades de clúster”.
|
Registro
|
Puede establecer la configuración de ingreso específico y global de demonios
|
Consulte el archivo
/etc/sysconfig/pacemaker para obtener más información sobre cómo configurar manualmente el ingreso.
|
Validación de clúster
|
La validación de clúster es automática con luci y
ccs , cuando utiliza el esquema de clúster. El clúster se valida automáticamente en el inicio.
|
El clúster se valida automáticamente en el inicio o usted mismo puede validarlo con
pcs cluster verify .
|
Cuórum en clústeres de dos nodos
|
Con un clúster de dos nodos, usted puede configurar la forma como el sistema determina el cuórum:
* Configure un disco cuóorum
* Use
ccs o modifique el archivo cluster.conf para establecer una serie de two_node=1 y expected_votes=1 y permitir que un único nodo mantenga cuórum.
| pcs automáticamente agrega las opciones necesarias para clúster de dos nodos a cman .
|
Estatus de clúster
|
En luci, el estatus actual del clúster es visible en los varios componentes de la interfaz, la cual puede ser actualizada. Use la opción
--gethost del comando ccs para ver el archivo de configuración actual. Use el comando clustat para mostrar el estatus de clúster.
|
Despliegue el estatus actual del clúster con el comando
pcs status .
|
Recursos
|
Agregue recursos de tipos definidos y configure propiedades de recursos específicos con luci o el comando
ccs , o modifique el archivo de configuración cluster.conf .
|
Para agregar recursos de tipos definidos y configurar propiedades específicas de recursos con el recurso
pcs resource create . Para obtener información general sobre configuración de recursos de clúster con Pacemaker, consulte el Capítulo 5, Configuración de recursos de clúster .
|
Conducta de recursos, agrupamiento y orden de inicio y parada
|
Defina servicios de clúster para configurar la forma de interacción de los recursos.
|
Con Pacemaker use grupos de recursos como un método de definir una serie de recursos que necesitan ser localizados juntos e iniciados y detenidos en secuencia. Además, defina la forma como los recursos se comportan e interaccionan, de las siguientes formas:
* Establezca algunos aspectos de conducta de recursos como opciones de recursos.
* Use las restricciones de ubicación para determinar los nodos que un recurso puede ejecutar.
*Use las restricciones para determinar el orden en el que se ejecutan los recursos.
* Use las restricciones de colocación para determinar que la ubicación de un recurso depende de la ubicación de otro recurso.
Para obtener más información sobre estos tópicos, consulte el Capítulo 5, Configuración de recursos de clúster .
|
Administración de recursos: Desplazamiento, inicio y parada de recursos
|
luci, le permite administrar clústeres, nodos de clúster individual y servicios de clúster. Con el comando
ccs , usted puede administrar el clúster. Use clusvadm para administrar los servicios de clúster.
|
Puede inhabilitar temporalmente un nodo para que no pueda albergar recursos con el comando
pcs cluster standby , el cual hace que los recursos migren. Puede detener un recurso con el comando pcs resource disable .
|
Retiro completo de una configuración de clúster
|
luci, le permite seleccionar todos los nodos en un clúster para eliminar un clúster. También puede retirar
cluster.conf de cada nodo del clúster.
|
Retire una configuración de clúster de un nodo con el comando
pcs cluster destroy .
|
Recursos activos en múltiples nodos, recursos activos en múltiples nodos en múltiples modos
|
No equivalente
|
Con Pacemaker, puede clonar recursos que puedan ejecutarse para que puedan operar en nodos múltiples, y definir recursos clonados como recursos maestros y esclavos para que puedan operar en múltiples modos. Para obtener más información sobre recursos clonados y recursos maestros y esclavos, consulte el Capítulo 8, Tipos de recursos avanzados.
|
Fencing -- dispositivo de vallas único por nodo
|
Cree de manera global o local dispositivos de cercado y agréguelos a nodos. Puede definir valores
post-fail delay y post-join delay para el clúster como un todo.
|
Cree un dispositivo de vallas para cada nodo con el comando
pcs stonith create . Para dispositivos que pueden cercar múltiples nodos, defínalos todos de una sola vez, en lugar de hacerlo con cada nodo por separado. También puede definir pcmk_host_map para configurar dispositivos de vallas para todos los nodos con un único comando. Para obtener información sobre pcmk_host_map , consulte la Tabla 4.1, “Propiedades generales de dispositivos de cercado”. Defina el valor stonith-timeout para el clúster como un todo.
|
Dispositivos múltiples de cercado (de respaldo)por nodo
|
Defina dispositivos de respaldo con luci, mediante el comando
ccs , o al modificar el archivo cluster.conf .
|
Configure los niveles de cercado
|
A.2. Creación de clúster con Pacemaker en los lanzamientos 6.5 y 6.6 de Red Hat Enterprise Linux
my_cluster
que conste de los nodos z1 .example.com
y z2.example.com
e iniciar los servicios de clúster en los nodos, ejecute los siguientes comandos desde z1.example.com
y z2.example.com
.
[root@rhel6.5]#pcs cluster setup --name my_cluster z1.example.com z2.example.com
[root@rhel6.5]#pcs cluster start
my_cluster
que consta de los nodos z1.example.com
y z2.example.com
e inicia los servicios de clúster.
[root@rhel6.6]# pcs cluster setup --start --name my_cluster z1.example.com z2.example.com
Apéndice B. Ejemplo de configuración con comandos pcs
pcs
command, en el lanzamiento de Red Hat Enterprise Linux 6.6 y posterior. También describe cómo configurar un servidor Web Apache en el clúster.
- Dos nodos, los cuales crearán el clúster. En este ejemplo, los nodos son
z1.example.com
yz2.example.com
. - Interruptor de red para redes privadas, requerido para comunicación entre nodos de clúster y otro hardware de clúster, tal como los interruptores de energía de redes y de canal de fibra.
- Un dispositivo de cercado para cada nodo del clúster. Este ejemplo usa dos puertos de interruptor de energía APC con un nombre de host de
zapc.example.com
.
B.1. Configuración inicial del sistema
B.1.1. Instalación del software de clúster
- Asegúrese de que
pacemaker
,cman
ypcs
estén instalados.yum install -y pacemaker cman pcs
- Después de la instalación, ejecute el siguiente comando en todos los nodos del clúster para evitar que
corosync
inicie sin el comandocman
.#
chkconfig corosync off
- Si desea comprobar que
cman
completa el inicio aunque no haya cuórum y haya más de dos nodos en el clúster, ejecute el siguiente comando:#
sed -i.sed "s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g" /etc/sysconfig/cman
B.1.2. Creación e inicio del clúster
- A fin de usar
pcs
para configurar el clúster y comunicarse entre los nodos, debe establecer una contraseña en cada nodo para el ID de usuariohacluster
, el cual es la cuenta de administraciónpcs
. Se recomienda que la contraseña de usuariohacluster
sea igual en cada nodo.#
passwd hacluster
Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully. - Antes de configurar el clúster, debe iniciar el demonio
pcsd
. Este demonio funciona con el comandopcs
para administrar la configuración a través de los nodos del clúster.En cada nodo del clúster, ejecute los siguientes comandos para iniciar el serviciopcsd
y habilitarpcsd
al iniciar el sistema.#
service pcsd start
#service pcsd enable
- Autentique el usuario
pcs
hacluster
para cada nodo del clúster en el nodo desde el cual ejecutará el comandopcs
.El siguiente comando autentica el usuariohacluster
enz1.example.com
para ambos nodos en el ejemplo de clúster de dos nodos,z1.example.com
yz2.example.com
.root@z1 ~]#
pcs cluster auth z1.example.com z2.example.com
Username: hacluster Password: z1.example.com: Authorized z2.example.com: Authorized - Ejecute el siguiente comando desde
z1.example.com
para crear el clúster de dos nodosmycluster
que consiste en los nodosz1.example.com
yz2.example.com
. De esta manera, propagará los archivos de configuración de clúster para ambos nodos del clúster. Este comando incluye la opción--start
, la cual iniciará los servicios de clúster en ambos nodos del clúster.[root@z1 ~]#
pcs cluster setup --start --name my_cluster
\z1.example.com z2.example.com
z1.example.com: Succeeded z1.example.com: Starting Cluster... z2.example.com: Succeeded z2.example.com: Starting Cluster... - También, puede habilitar los servicios de clúster para ejecutar en cada nodo del clúster en el arranque del nodo.
Nota
Para un entorno determinado, puede elegir dejar inhabilitados los servicios de clúster saltándose este paso. Esta acción le permite estar seguro de que si el nodo se cae, cualquier problema que haya con su clúster o sus recursos se resolverá antes de que el nodo se reconecte al clúster. Si deja los servicios de clúster inhabilitados, deberá iniciar manualmente los servicios en el arranque de un nodo, mediante el comandopcs cluster start
.#
pcs cluster enable --all
pcs cluster status
.
[root@z1 ~]# pcs cluster status
Cluster Status:
Last updated: Thu Jul 25 13:01:26 2013
Last change: Thu Jul 25 13:04:45 2013 via crmd on z2.example.com
Stack: corosync
Current DC: z2.example.com (2) - partition with quorum
Version: 1.1.10-5.el7-9abe687
2 Nodes configured
0 Resources configured
B.2. Configuración de cercado
Nota
zapc.example.com
para cercar los nodos, y utiliza el agente de cercado fence_apc_snmp
. Puesto que ambos nodos serán cercados por el mismo agente de cercado, puede configurar ambos dispositivos como un recurso único, mediante las opciones pcmk_host_map
y pcmk_host_list
.
stonith
con el comando pcs stonith create
. El siguiente comando configura un recurso stonith
denominado myap
que usa el agente de cercado fence_apc_snmp
para los nodos z1.example.com
y z2.example.com
. La opción pcmk_host_map
asigna z1.example.com
al puerto 1, y z2.example.com
al puerto 2. El valor para nombre y contraseña del dispositivo APC es apc
. Este dispositivo utilizará, de forma predeterminada, un intervalo de monitorización de 60 segundos para cada nodo.
[root@z1 ~]#pcs stonith create myapc fence_apc_snmp params
\ipaddr="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2"
\pcmk_host_check="static-list" pcmk_host_list="z1.example.com,z2.example.com"
\login="apc" passwd="apc"
Nota
fence_apc_snmp
stonith
, verá la siguiente advertencia, la cual puede ignorar:
Warning: missing required option(s): 'port, action' for resource type: stonith:fence_apc_snmp
[root@rh7-1 ~]# pcs stonith show myapc
Resource: myapc (class=stonith type=fence_apc_snmp)
Attributes: ipaddr=zapc.example.com pcmk_host_map=z1.example.com:1;z2.example.com:2 pcmk_host_check=static-list pcmk_host_list=z1.example.com,z2.example.com login=apc passwd=apc
Operations: monitor interval=60s (myapc-monitor-interval-60s)
B.3. Configuración de un servidor Web Apache en un Red Hat High Availability Cluster con el comando pcs
pcs
para configurar recursos de clúster. En este ejemplo, los clientes acceden al servidor Web Apache a través de una dirección IP flotante. El servidor Web se ejecuta en uno los dos nodos del clúster. Si el nodo en el que se ejecuta el servidor Web deja de funcionar, el servidor Web inicia en el segundo nodo del clúster con una interrupción del servicio mínima.
- Un clúster de dos nodos Red Hat High Availability con energía de cercado configurada para cada nodo. Este procedimiento usa el ejemplo de clúster provisto en la Sección B.1.2, “Creación e inicio del clúster”.
- Una dirección IP virtual pública, requerida para el servidor Web Apache.
- Almacenamiento compartido para los nodos del clúster, mediante iSCSI o canal de fibra.
- Configure un sistema de archivos
ext4
montado en un volumen lógicomy_lv
, como se describe en la Sección B.3.1, “Configuración de un volumen LVM con un sistema de archivos ext4”. - Configure un servidor Web, como se describe en la Sección B.3.2, “Configuración de servidor Web”.
- Asegúrese de que solo un clúster pueda activar el grupo de volúmenes que contiene
my_lv
, y que el grupo de volúmenes no se active fuera del clúster durante el inicio, como se describe en la Sección B.3.3, “Activación exclusiva de un grupo de volúmenes en un clúster”.
B.3.1. Configuración de un volumen LVM con un sistema de archivos ext4
ext4
en dicho volumen. En este ejemplo, la partición compartida /dev/sdb1
se utiliza para almacenar el volumen físico LVM desde el cual el volumen lógico LVM será creado.
Nota
/dev/sdb1
es almacenamiento que debe ser compartido, realice este procedimiento en un solo nodo.
- Cree un volumen físico LVM en la partición
/dev/sdb1
.#
pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created - Cree un grupo de volumen
my_vg
que conste del volumen físico/dev/sdb1
.#
vgcreate my_vg /dev/sdb1
Volume group "my_vg" successfully created - Cree un volumen lógico mediante el grupo de volumen
my_vg
.#
lvcreate -L450 -n my_lv my_vg
Rounding up size to full physical extent 452.00 MiB Logical volume "my_lv" createdPuede usar el comandolvs
para desplegar el volumen lógico.#
lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert my_lv my_vg -wi-a---- 452.00m ... - Cree un sistema de archivos
ext4
en el volumen lógicomy_lv
.#
mkfs.ext4 /dev/my_vg/my_lv
mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux ...
B.3.2. Configuración de servidor Web
- Asegúrese de que el servidor Apache esté instalado en cada nodo del clúster. También necesita la herramienta
wget
instalada en el clúster para poder revisar el estatus del servidor Web Apache.En cada nodo, ejecute el siguiente comando:#
yum install -y httpd wget
- A fin de que el agente de recursos Apache obtenga el estatus del servidor Web, asegúrese de que el siguiente texto esté presente en el archivo
/etc/httpd/conf/httpd.conf
en cada nodo del clúster, y verifique si no ha sido descomentado. Si el texto no está presente, agréguelo al final del archivo.<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>
- Cree una página Web para Apache. En un nodo del clúster, monte el sistema de archivos que creó en la Sección B.3.1, “Configuración de un volumen LVM con un sistema de archivos ext4”, cree el archivo
index.html
en ese sistema de archivos y luego desmonte el sistema de archivos.#
mount /dev/my_vg/my_lv /var/www/
#mkdir /var/www/html
#mkdir /var/www/cgi-bin
#mkdir /var/www/error
#restorecon -R /var/www
#cat <<-END >/var/www/html/index.html
<html>
<body>Hello</body>
</html>
END
#umount /var/www
B.3.3. Activación exclusiva de un grupo de volúmenes en un clúster
volume_list
en el archivo de configuración /etc/lvm/lvm.conf
. Los grupos de volúmenes listados en la entrada volume_list
pueden activarse automáticamente en el nodo local por fuera del control del gestor de clúster. Los grupos de volúmenes relacionados con root local de nodos y directorios principales deben incluirse en esta lista. Todos los grupos de volúmenes administrados por el gestor de clúster deben ser excluidos de la entrada volume_list
. Observe que este procedimiento no requiere el uso de clvmd
.
- Determine cuáles grupos de volúmenes están actualmente configurados en su almacenamiento local con el siguiente comando. Este comando, entregará una lista de grupos de volúmenes configurados actualmente. Si tiene un espacio asignado en grupos de volúmenes independientes para root y para el directorio principal en este nodo, verá estos volúmenes en la salida, como en este ejemplo:
#
vgs --noheadings -o vg_name
my_vg rhel_home rhel_root - Agregue los grupos de volúmenes diferentes a
my_vg
(el grupo de volúmenes que ha definido para el clúster) como entradas paravolume_list
en el archivo de configuración/etc/lvm/lvm.conf
. Por ejemplo, si tiene asignado espacio en grupos de volúmenes independientes para root y para su directorio principal, descomente la líneavolume_list
del archivolvm.conf
y añada estos grupos de volúmenes como entradas avolume_list
así:volume_list = [ "rhel_root", "rhel_home" ]
Nota
Si no hay grupos de volúmenes locales presentes en un nodo que va a ser activado por fuera del gestor de clúster, aún debe inicializar la entradavolume_list
comovolume_list = []
. - Reconstruya la imagen de arranque
initramfs
para garantizar que la imagen de arranque no intente activar un grupo de volúmenes controlado por por el clúster. Actualice el dispositivoinitramfs
con el siguiente comando. Este comando puede tomar un minuto para completar.#
dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
- Reinicie el nodo.
Nota
Si ya ha instalado un nuevo kernel de Linux desde el arranque del nodo en el cual creó la imagen de arranque, la nueva imageninitrd
será para el kernel que estaba ejecutándose cuando la creó y no para el nuevo kernel que se está ejecutando cuando reinicie el nodo. Puede asegurarse de que el dispositivoinitrd
esté en uso, mediante el comandouname -r
antes y después del reinicio para determinar el lanzamiento del kernel que está ejecutando. Si los lanzamientos no son los mismos, actualice el archivoinitrd
después de reiniciar con el nuevo kernel y luego vuelva a arrancar el nodo. - Cuando el nodo haya reiniciado, ejecute el comando
pcs cluster status
en ese nodo, para revisar si los servicios de clúster han iniciado otra vez en ese nodo. Si aparece el mensajeError: cluster is not currently running on this node
, entonces ejecute el siguiente comando:#
pcs cluster start
También, puede esperar hasta que haya reiniciado cada nodo del clúster e iniciar servicios de clúster en cada uno de los nodos con el siguiente comando:#
pcs cluster start --all
B.3.4. Creación de recursos y grupos de recursos con el comando pcs
apachegroup
. Los recursos a crear son los siguientes, listados en el orden de inicio.
- Un recurso
LVM
denominadomy_lvm
que usa el grupo de volúmenes LVM que usted creó en la Sección B.3.1, “Configuración de un volumen LVM con un sistema de archivos ext4”. - Un recurso
Filesystem
denominadomy_fs
, que usa el dispositivo de sistema de archivos/dev/my_vg/my_lv
que usted creó en la Sección B.3.1, “Configuración de un volumen LVM con un sistema de archivos ext4”. - Un recurso
IPaddr2
, el cual es una dirección IP flotante para el grupo de recursosapachegroup
. La dirección IP no se debe asociar con un nodo físico. Si el dispositivo NIC del recursoIPaddr2
no se está especificado, la IP flotante debe residir en la misma red como direcciones IP asignadas de forma estática, utilizadas por los nodos de clúster, de lo contrario, el dispositivo NIC para asignar la dirección IP flotante no se puede detectar correctamente. - Un recurso
apache
denominadoWebsite
que usa el archivoindex.html
y la configuración Apache que definió en la Sección B.3.2, “Configuración de servidor Web”.
apachegroup
y los recursos del grupo. Los recursos iniciarán en el orden en el cual usted los agrega al grupo, y se detendrán en el orden contrario al que se agregaron al grupo. Ejecute este procedimiento desde un nodo del clúster únicamente.
- El siguiente comando crea el recurso LVM
my_lvm
. Este comando especifica el parámetroexclusive=true
para garantizar que solo el clúster es capaz de activar el volumen lógico LVM. Ya que el grupo de recursosapachegroup
no existe, este comando crea el grupo de recursos.[root@z1 ~]#
pcs resource create my_lvm LVM volgrpname=my_vg
\exclusive=true --group apachegroup
Al crear un recurso, el recurso se inicia automáticamente. Use el siguiente comando para confirmar que el recurso fue creado e iniciado.#
pcs resource show
Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM): StartedPuede detener o iniciar de forma manual un recurso individual con los comandospcs resource disable
ypcs resource enable
. - Los siguientes comandos crean los recursos restantes para la configuración, adicionándolos al grupo de recursos existente
apachegroup
.[root@z1 ~]#
pcs resource create my_fs Filesystem
\device="/dev/my_vg/my_lv" directory="/var/www" fstype="ext4" --group
\apachegroup
[root@z1 ~]#pcs resource create VirtualIP IPaddr2 ip=198.51.100.3
\cidr_netmask=24 --group apachegroup
[root@z1 ~]#pcs resource create Website apache
\configfile="/etc/httpd/conf/httpd.conf"
\statusurl="http://127.0.0.1/server-status" --group apachegroup
- Después de crear los recursos y el grupo de recursos que los contienen, puede revisar el estatus del clúster. Observe que todos los cuatro recursos se estén ejecutando en el mismo nodo.
[root@z1 ~]#
pcs status
Cluster name: my_cluster Last updated: Wed Jul 31 16:38:51 2013 Last change: Wed Jul 31 16:42:14 2013 via crm_attribute on z1.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 6 Resources configured Online: [ z1.example.com z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM): Started z1.example.com my_fs (ocf::heartbeat:Filesystem): Started z1.example.com VirtualIP (ocf::heartbeat:IPaddr2): Started z1.example.com Website (ocf::heartbeat:apache): Started z1.example.comObserve que si no ha configurado un dispositivo de cercado para su clúster, como se describe en la Sección B.2, “Configuración de cercado”, los recursos no se iniciarán. - Una vez que el clúster está encendido y en ejecución, apunte el navegador a la dirección IP que definió como el recurso
IPaddr2
para ver la pantalla de muestra, la cual consta de la palabra "Hello".Hello
Si los recursos que configuró no se están ejecutando, puede usar el comandopcs resource debug-start recurso
para probar la configuración del recurso. Para obtener más información sobre el comandopcs resource debug-start
, consulte el manual High Availability Add-On Reference.
B.3.5. Prueba de configuración de recursos
z1.example.com
. Puede probar si el grupo de recursos falla en el nodo z2.example.com
mediante el siguiente procedimiento para poner el primer nodo en modo standby
, después de que el nodo ya no pueda albergar recursos.
- El siguiente comando pone el nodo
z1.example.com
en modostandby
.root@z1 ~]#
pcs cluster standby z1.example.com
- Después de poner el nodo
z1
en modo standby, verifique si el estatus de clúster. Observe que los recursos estarán ahora ejecutándose enz2
.[root@z1 ~]#
pcs status
Cluster name: my_cluster Last updated: Wed Jul 31 17:16:17 2013 Last change: Wed Jul 31 17:18:34 2013 via crm_attribute on z1.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 6 Resources configured Node z1.example.com (1): standby Online: [ z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM): Started z2.example.com my_fs (ocf::heartbeat:Filesystem): Started z2.example.com VirtualIP (ocf::heartbeat:IPaddr2): Started z2.example.com Website (ocf::heartbeat:apache): Started z2.example.comEl sitio Web en la dirección IP definida debe aún desplegarse, aún sin interrupción. - Para retirar
z1
del modostandby
, ejecute el siguiente comando:root@z1 ~]#
pcs cluster unstandby z1.example.com
Nota
El retiro de un nodo de modostandby
no hace que los recursos se recuperen para ese nodo. Para obtener información sobre control de los recursos de nodos en que pueden ejecutarse, consulte el capítulo sobre configuración de recursos de clúster en Red Hat High Availability Add-On Reference.
Apéndice C. Historia de revisiones
Historial de revisiones | |||||||
---|---|---|---|---|---|---|---|
Revisión 2.0-7.2 | Fri Jun 26 2015 | Gladys Guerrero Lozano | |||||
| |||||||
Revisión 2.0-7.1 | Fri Jun 26 2015 | Gladys Guerrero Lozano | |||||
| |||||||
Revisión 2.0-7 | Tue Dec 16 2014 | Steven Levine | |||||
| |||||||
Revisión 2.0-5 | Thu Oct 9 2014 | Steven Levine | |||||
| |||||||
Revisión 2.0-4 | Wed Oct 8 2014 | Steven Levine | |||||
| |||||||
Revisión 2.0-2 | Wed Aug 7 2014 | Steven Levine | |||||
| |||||||
Revisión 2.0-1 | Wed Jul 23 2014 | Steven Levine | |||||
| |||||||
Revisión 1.1-2 | Wed Nov 20 2013 | Steven Levine | |||||
| |||||||
Revisión 0.1-4 | Wed Oct 2 2013 | Steven Levine | |||||
|