Nodo muerto en el grupo Marcapasos: "No se pudo completar el registro CIB"

Nodo muerto en el grupo Marcapasos: "No se pudo completar el registro CIB"

Tengo una situación en la que un clúster Pacemaker de dos nodos ya no funciona después de una actualización. Las versiones del paquete están pacemaker 1.1.16-1~bpo8+bajo corosync 2.4.2-3~bpo8+1Debian Jessie.

El marcapasos aún puede iniciarse en un nodo. crm_node -lluego enumera ese nodo como en línea, el segundo como perdido.

El marcapasos ya no puede iniciarse en el segundo nodo. Los siguientes mensajes de registro /var/log/corosync/logfileparecen pertinentes:

cib: info: validate_with_relaxng: Creating RNG parser context
pacemakerd: error: pcmk_child_exit: The cib process (1234) exited: Key has expired (127)
pacemakerd: notice: pcmk_process_exit: Respawning failed child process: cib
...
cib: info: validate_with_relaxng: Creating RNG parser context
pacemakerd: error: pcmk_child_exit: The cib process (1235) exited: Key has expired (127)
pacemakerd: notice: pcmk_process_exit: Respawning failed child process: cib
...
crmd: warning: do_cib_control: Couldn't complete CIB registration 1 times... pause and retry
...
crmd: warning: do_cib_control: Couldn't complete CIB registration 16 times... pause and retry 
crmd: notice: crm_shutdown: Shutting down cluster resource manager | limit=1200000ms
pacemakerd: notice: pcmk_shutdown_worker: Shutdown complete

Entonces parece que el segundo nodo intenta el registro CIB y cancela el inicio del marcapasos después de 16 intentos fallidos, y que el primer nodo considera al segundo muerto quizás porque no puede registrarse.

¿A quién se puede salir de una situación como ésta?

Respuesta1

La causa principal resultó ser una versión demasiado antigua del paquete libpe-rules2, que proporciona libpe-rules2.so. El paquete pacemakerde jessie-backportsrequiere solo >= 1.0.10(quizás un error en la descripción del paquete actual), pero la versión actual de libpe-rules2(también de jessie-backports) es 1.1.16.

La versión anterior de la biblioteca hacía que el proceso cibfallara debido a símbolos no definidos en la biblioteca dinámica. Esto se reveló al comenzar pacemakerd(y de hecho cib) con strace -f. La actualización apt-get install libpe-rules2resolvió la situación.

información relacionada