Capítulo 8. Tipos de recursos avanzados
Este capítulo describe los tipos de recursos avanzados que son compatibles con Pacemaker.
8.1. Clones de recursos
Puede clonar un recurso para que el recurso esté activo en múltiples nodos. Por ejemplo, puede usar recursos clonados para configurar múltiples instancias de un recurso IP y distribuirlos en un clúster para balanceo de nodos. Clone un recurso siempre y cuando el agente de recursos sea compatible. Un clon consta de un recurso o un grupo de recursos.
Nota
Únicamente los recursos que pueden estar activos al mismo tiempo en múltiples nodos son aptos para clonación. Un recurso
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
Cree un recurso y clónelo al mismo tiempo con el siguiente comando:
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
El nombre del clon será
resource_id-clone
.
No puede crear un grupo de recursos y un clon de dicho grupo con un solo comando.
También puede crear un clon de un recurso o un grupo de recursos creado anteriormente con el siguiente comando:
pcs resource clone resource_id | group_name [clone_options]...
El nombre del clon será
id_de_recurso-clon
o nombre_de_grupo-clon
.
Nota
Debe configurar los cambios de configuración de recursos en un solo nodo.
Nota
Cuando haya restricciones en la configuración, use siempre el nombre del grupo o clon.
Cuando cree un clon de un recurso, el clon adquiere el nombre del recurso con
-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
Use el siguiente comando para retirar un clon de un recurso o de un grupo de recursos. Esta acción no retira el recurso o el grupo de recursos por sí mismo.
pcs resource unclone resource_id | group_name
Para obtener más información sobre opciones de recursos, consulte la Sección 5.1, “Creación de recursos”.
La Tabla 8.1, “Opciones de recursos de clon” describe las opciones que usted puede especificar para un recurso clonado.
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
En la mayoría de los casos, un clon hará una copia única de cada nodo de clúster activo. Sin embargo, usted puede establecer
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.
El siguiente comando crea una restricción de ubicación para que el clúster asigne preferentemente clon de recursos
webfarm-clone
a node1
.
# pcs constraint location webfarm-clone prefers node1
Las restricciones de ordenamiento se comportan un poco diferente para clones. En el ejemplo de abajo,
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
La colocación de un recurso regular (o grupo) con un clon significa que el recurso puede ejecutarse en cualquier máquina con una copia activa del clon. El clúster elegirá una copia según el sitio en donde se ejecute el clon y las preferencias de ubicación del propio recurso.
La colocación entre clones también es posible. En tal caso, el set de ubicaciones permitidas para el clon se limita a nodos en los cuales el clon esté activo (o estará activo). Luego, la asignación se realiza normalmente.
El siguiente comando crea una restricción de colocación para garantizar que el recurso
webfarm
se ejecute en el mismo nodo que el clon.
# pcs constraint colocation add webfarm with webfarm-clone
8.1.3. Pegajosidad de clon
Para realizar un patrón de asignación estable, los clones son un poco pegajosos de forma predeterminada. Si no se proporciona ningún valor
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.