Bueno, en esta entrada voy a poner cosas a tener en cuenta sobre la configuración de la alta disponibilidad con Heartbeat/Pacemaker. Me han ido surgiendo a medida que hacía la configuración y he ido viendo el porque se me producían.
Primero y antes de nada, no modificar directamente cib.xml, ya lo puse en el otro post, pero en la documentación se insite y de hecho hay tres pasos fundamentales a la hora de modificarlo que son los siguientes:
1º) No modificar directamente el cib.xml.
2º) Volver a leer el punto 1.
3º) El cluster se enterará si no se siguen los pasos 1 y 2, y por tanto rechazará usar esa configuración.
Para modificar el cib podremos usar las herramientas que nos proporciona Pacemaker, como son cibadmin y crm_*.
Para modificar directamente el paso sería el siguietne:
cibadmin -Q > cib_aux
modificar cib_aux
cibadmin -R --xml-file cib_aux
Aunque personalmente prefiero ir por partes, así, si quisies modificar solo los recurosos haría
cibadmin -Q -o resources > recursos
modificaría y después haría
cibadmin -R --xml-file recursos
Hay una herramienta para modificar attributos como crm_attribute, otra que nos permite mover los recursos de una máquina a otra crm_resource o modificarlos, etc...
ver la documentación para entender todos y cada uno de los crm_*
Recursos prohibidos en nodos:
Aquí he tenido un problemilla, obtenía errores en el nodo en el que no se debía arrancar el servicio y esto es debido a que, aunque no vaya a correr nunca el recurso en ese nodo (-INFINITE) el script lsb debe existir, aunque se suponga que nunca va a correr en ese nodo. :(
Errores "curiosos":
Errores en el log del estilo
"ERROR: unpack_rsc_op: Remapping NTP_monitor_0 (rc=1) on musicas to an ERROR"
que el crm_mon -i5 mostrará como
Failed actions:
NTP_monitor_0 (node=musicas, call=5, rc=1): complete
pueden surgir y dejarnos KO al no saber porque se producen, bueno pues tras leer y leer.... la causa se supone que es simplemente que al realizar un /etc/init.d/ntp status el resultado no devuelve un OK entre el texto mostrado. Esto parece que se debe a un tema de comptatibilidad con versiones anterios de Heartbeat/Pacemaker, pero para encontrar el porque nos surge el error si no sabemos ese "pequeño" tema de compatibilidad nos podemos romper la cabeza durante unos días. En fin, bastará con editar el archivo /etc/init.d/ntp y añadir un simple [OK] al final de la linea
* NTP server is running.
No se muy bien porque, pero no he conseguido que me funcione, así que lo que me ha resuelto el problema ha sido lo siguiente: Al definir el recurso indicamos que la clase es ocf y el provider yo.
primitive id="NTP" class="ocf" type="ntp" provider="yo"
Tras esto nos creamos el directorio /usr/lib/ocf/resources.d/yo y copiamos en él el script /etc/init.d/ntp. Una vez hecho esto sustituimos en el script status) por monitor) y modificamos el código para que devuelva 0 cuando está corriendo, 7 si está parado y cualquier otra cosa si es algún error. Con esto evitaremos que nos muestre el error que nos estaba dando. Si en algún momento consigo hacerlo funcionar con lsb abriré otra entrada.
Bueno, no he tardado mucho en encontrarlo así que no abriré otra entrada. La respuesta estaba en la propia página de Heartbeat: http://www.linux-ha.org/LSBResourceAgent. El /etc/init.d/ntp status devuelave un 4 en lugar de un 3 cuando el servicio está parado. Tema resuelto.
Otro tipo de error es el de (unmanaged) FAILED. Supongo que podrá deverse a varias cosas, pero una de ellas es la siguiente. Al hacer los scripts de los recursos, hay que tener en cuenta que éstos se ejecutarán de la misma forma que los que ponemos en el cron, por lo que deberemos poner el shell con el que queremos que se ejecuten y las variables de entorno que necesitemos, como PATH y demás. Digo esto porque tras comprobar de todas las maneras posibles los resultados de un script y ver que se ajustaban al estandar ocf me daba el error arriba descrito y es por la "tonteria" de no indicar éstas cosas.
Bueno por ahora esto es todo, espero ahorrar unos días de busquedas y roturas de cabeza buscando por ahí a que se deben estos comportamientos.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario