Constraints

De jagfloriano.com
Revisión del 10:48 3 ene 2026 de Escleiron (discusión | contribs.) (Página creada con «= Pacemaker – Constraint Cheat Sheet = Hoja rápida de **constraints (restricciones)** en Pacemaker. Las constraints controlan **dónde**, **cuándo** y **en qué orden** se ejecutan los recursos del clúster. == Tipos de Constraints == * **Location** → Dónde puede o no ejecutarse un recurso * **Colocation** → Qué recursos deben (o no) ejecutarse juntos * **Order** → En qué orden se arrancan o paran los recursos --- == Location Constraints == Controla…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegaciónIr a la búsqueda

Pacemaker – Constraint Cheat Sheet

Hoja rápida de **constraints (restricciones)** en Pacemaker. Las constraints controlan **dónde**, **cuándo** y **en qué orden** se ejecutan los recursos del clúster.

Tipos de Constraints

  • **Location** → Dónde puede o no ejecutarse un recurso
  • **Colocation** → Qué recursos deben (o no) ejecutarse juntos
  • **Order** → En qué orden se arrancan o paran los recursos

---

Location Constraints

Controlan en qué nodo puede ejecutarse un recurso.

Ver location constraints

pcs constraint location

pcs constraint --full

Evitar que un recurso se ejecute en un nodo

pcs constraint location NOMBRE_RECURSO avoids NODO

Ejemplo: pcs constraint location fs_shared avoids nodo2

Forzar un recurso a un nodo

pcs constraint location NOMBRE_RECURSO prefers NODO=INFINITO

Ejemplo: pcs constraint location ip_shared prefers nodo1=INFINITY

Eliminar location constraint

pcs constraint delete ID_CONSTRAINT

---

Colocation Constraints

Definen qué recursos deben ejecutarse juntos (o separados).

Ver colocation constraints

pcs constraint colocation

Forzar que un recurso vaya con otro

pcs constraint colocation add RECURSO_A with RECURSO_B INFINITY

Ejemplo: pcs constraint colocation add fs_shared with vg_shared INFINITY

(Significa: *fs_shared solo puede ejecutarse donde esté vg_shared*)

Evitar que dos recursos estén juntos

pcs constraint colocation add RECURSO_A with RECURSO_B -INFINITY

---

Order Constraints

Controlan el orden de arranque y parada de recursos.

Ver order constraints

pcs constraint order

Arranque secuencial

pcs constraint order start RECURSO_A then start RECURSO_B

Ejemplo: pcs constraint order start vg_shared then start fs_shared

(Significa: primero se activa el VG, luego se monta el FS)

Parada inversa (implícita)

Pacemaker para automáticamente en orden inverso: fs_shared → vg_shared

---

Constraints y Resource Groups

Cuando se usan **resource groups**:

  • El **orden** está implícito
  • La **colocación** está implícita
  • **No es necesario** crear order/colocation manuales

Ejemplo de grupo: pcs resource group add SHARED vg_shared fs_shared ip_shared

✔ El clúster garantiza:

  • vg → fs → ip
  • Todos en el mismo nodo

---

Constraints Temporales (Failover Manual)

Mover un recurso o grupo

pcs resource move RECURSO

o

pcs resource move GRUPO

✔ Crea una **location constraint temporal** ✔ Se elimina automáticamente tras el movimiento

Ver constraints temporales

pcs constraint --full

Limpiar restricciones manuales

pcs resource clear RECURSO

o

pcs constraint clear

---

Buenas Prácticas

  • Usar **resource groups** siempre que sea posible
  • Evitar constraints permanentes innecesarias
  • Limpiar constraints tras pruebas
  • Revisar `pcs constraint --full` si un recurso no arranca
  • No forzar nodos salvo necesidad operativa

---

Troubleshooting

Un recurso no arranca

1. Revisar constraints: pcs constraint --full

2. Revisar estado: pcs status

3. Limpiar errores: pcs resource cleanup RECURSO

El recurso no se mueve

  • Probable constraint activa
  • Revisar y limpiar:

pcs resource clear RECURSO

---

Referencias