Sei sulla pagina 1di 5

Alta Disponibilidad en Linux: Heartbeat y Pacemaker

Para conseguir la Alta Diponibilidad de nuestros servicios, se detallar como llevar a cabo la configuracin de dos herramientas: Heartbeat: Encargado de revisar que cada nodo se halle funcionando. En caso un nodo falle migrar los recursos a otro nodo que tambi n se halle e!ecutando el servicio heartbeat Pacema"er: #erifica el estado de los recursos $o servicios% que le han sido asignados. En caso alg&n servicio falle, en caso se halla configurado, Pacema"er puede reiniciarlo.

'ientras heartbeat se encarga que revisar el estado de cada nodo( Pacema"er es el responsable de verificar el estado de los servicios que deseemos sean HA dentro de los nodos.

Configuracin
)e tienen dos $*% servidores, cada uno de los cuales est conectado a un mismo dispositivo de almacenamiento e+terno. ,ada uno de los servidores cuenta con un servicio m-sqld instalado: m-sql. $./*..01../2..1/% m-sql* $./*..01../2../2%

En ambos servidores se han instalado los paquetes heartbeat 3.+, pacema"er ..+, cluster4glue $con sus respectivas dependencias% El ob!etivo de la configuracin es garanti5ar la disponibilidad de la base de datos en caso uno de los dos nodos falle.

Editar el archivo /etc/hosts


.. E!ecutamos el siguiente comando para obtener el nombre asignado a cada servidor. uname 4a *. )e procede a editar el archivo /etc/hosts en ambos servidores agregando la siguiente l6nea: o )ervidor m-sql. ./*..01../2../2 m-sql* o )ervidor m-sql* ./*..01../2..1/ m-sql.

Editar el archivo /etc/ha.d/ha.cf


En cada uno de los servidores se edita el archivo de configuracin del heartbeat 7 8ogging debug . use9logd false logfacilit- daemon 7 'isc :ptions

traditional9compression off compression b5* coredumps true 7 ,ommunications udpport 0/. 7 bcast eth2 ucast eth2 ./*..01../2.; 7 <P del servidor con el que se comunicar 7 reempla5ar ; con .1/ o ./2 seg&n corresponda auto!oin none node m-sql. m-sql* 7 =hresholds $in seconds% "eepalive >22ms 7 ho? long bet?een heartbeats ?arntime > 7 late heartbeat ?arning deadtime .2 7 declare host dead initdead 32 7 first dead time @ * A deadtime 7 Enable Pacema"er crm -es

Editar el archivo /etc/ha.d/authkeys


Este archivo contiene el algoritmo - la palabra secreta que ser usada para establecer comunicacin los diversos servidores interconectados por heartbeat. )eleccionar el algoritmo que se desea utili5ar auth . crc 7 Bsar solo en desarrollo, no brinda seguridad alguna 7 * sha. )E,CE=4DEE 7 3 md> )E,CE=4DEE Fnicamente el usuario root debe poder modificar este archivo cho?n root.root GetcGha.dGauth"e-s chmod 022 GetcGha.dGauth"e-s

Iniciar Heartbeat
Para iniciar Heartbeat e!ecutar el siguiente comando en cada uno de los nodos: service heartbeat start

Configurar Pacemaker
Para configurar el Pacema"er, se har uso de la herramienta crm. Para verificar que nuestra configuracin ha sido la adecuada - los nodos pueden verse entre s6, e!ecutaremos la opcin: H crm node sho? 8a salida de este comando deber6a de ser similar a: m-sql.$3bda.ae24a0.I4I>f.41d0c43c/330.23eJI%: normal m-sql*$2d22d0/e4a0b04Id..4/ecf4f..JI/3*d1fe%: normal

Procederemos a verificar la lista de clases - proveedores: H crm ra classes 8a salida ser6a similar a: heartbeat lsb ocf / heartbeat pacemaker K4 Este es el valor que nos interesa, clase ocf - proveedor heartbeat stonith

Para conocer el listado de recursos que pacemaker puede administrar e!ecutamos: H crm ra list ocf Dentro de la salida mostrada, los valores que para este caso nos interesar6an son: Liles-stem: Cecurso que permite montar - desmontar automticamente unidades de disco. <Paddr: Cecurso que permite mover una misma <P virtual entre varios nodos. m-sql: Cecurso encargado de iniciar G detener el servicio m-sqld. Para conocer el listado de parmetros que recibe cada uno de los recursos, es necesario e!ecutar lo siguiente: H crm ra meta Knombre9del9recurso@ Procedemos a configurar cada uno de los servicios: H crm configure primitive Knombre del recurso@ Kclase@:Kproveedor@:Ktipo@ Mparams Kparmetro@NKvalor@ MKparmetro@NKvalor@...OO E!emplo: Hcrm configure primitive '-sql4rsc ocf:heartbeat:m-sql P params datadirNGmntGm-sql logNGmntGlogGm-sqld.log soc"etNGtmpGm-sql.soc" binar-NQGusrGbinGm-sqld9safeQ ,onfiguramos el tiempo de monitoreo para cada recurso H crm configure monitor Kinterval@M:Ktimeout@O

E!emplo: H crm configure monitor '-sql4rsc .2s:32s Es posible modificar los valore singresados hasta el momento $o agregar nuevos valores haciendo uso del comando: H crm configure edit En este punto verificaremos que los valores relacionados a la configuracin de los recursos sean similares a:

primitive Liles-stem4rsc ocf:heartbeat:Liles-stem P params deviceNQGdevGsdb.Q director-NQGmntQ fst-peNQe+t3Q P op monitor intervalNQ*2sQ timeoutNQI2sQ P op start intervalNQ2sQ timeoutNQ.22sQ P op stop intervalNQ2sQ timeoutNQ.22sQ primitive <Paddr4rsc ocf:heartbeat:<Paddr P params ipNQ./*..01../2..J/Q P op monitor intervalNQ>sQ timeoutNQ*2sQ P op start intervalNQ2sQ timeoutNQ/2sQ P op stop intervalNQ2sQ timeoutNQ.22sQ primitive '-sql4rsc ocf:heartbeat:m-sql P params datadirNQGmntGm-sqlQ pidNQGvarGrunGm-sqldGm-sqld.pidQ logNQGmntGlogGm-sqld.logQ soc"etNQGtmpGm-sql.soc"Q binar-NQGusrGbinGm-sqld9safeQ P op monitor intervalNQ.2sQ timeoutNQ32sQ P op start intervalNQ2sQ timeoutNQ.*2sQ P op stop intervalNQ2sQ timeoutNQ.*2sQ P meta target4roleNQ)tartedQ Procedemos a definir un orden en el que se iniciarn los recursos: order score4t-pe: Kfirst4rsc@M:Kaction@O Kthen4rsc@M:Kaction@O

E!emplo: H crm configure order order4. <RL<R<=E: Liles-stem4rsc '-sql4rsc H crm configure order order4* <RL<R<=E: <Paddr4rsc '-sql4rsc Nota Bn score de tipo <RL<R<=E significa el orden definido es de cumplimiento obligatorio. El siguiente paso consiste en indicar en qu nodos han de iniciarse los recursos. colocation Kid@ Kscore@: Krsc@M:Krole@O Krsc@M:Krole@O E!emplo: H crm configure colocation colocation4. <RL<R<=E: '-sql4rsc Liles-stem4rsc H crm configure colocation colocation4* <RL<R<=E: '-sql4rsc <Paddr4rsc Nota En este caso un score de tipo <RL<R<=E significa que ambos recursos especificados por cada colocation deben de ser iniciados en un mismo nodo. 8o que se busca es que tanto la direccin <P virtual, el montado de la unidad e+terna que contendr los valores de la base da datos - el servicio m-sqld sean iniciados en un mismo nodo, en caso el nodo fallara, el con!unto de recursos ser6an migrados al otro nodo. ,onfiguraremos el valor de la propiedad start4failure4is4fatal en false. Este paso es efectuado para que, en caso de error el servicio m-sqld se detuviera, este sea reiniciado automticamente por el Pacemaker en lugar de ser migrado al otro nodo. )i la cantidad de fallos alcan5ado por este recurso fuera igual al valor definido en migration4threshold, el con!unto de recursos sern migrados a otro nodo. H crm configure propert- start4failure4is4fatalNfalse H crm configure propert- stonith4enabledNfalse Linalmente para guardar la configuracin es necesario e!ecutar H crm configure commit

Nota 8a configuracin sern replicados entre los diferentes nodos de forma automtica. Para guardar una copia de la configuracin efectuada puede utili5arse el comando: H cibadmin 44quer- @ configuracion.+ml Para restaurarlo, puede hacerse uso de: H cibadmin 44replace 44+ml4file configuracion.+ml Para ma-or informacin pueden consultar el manual de Pacema"er: 'anual de Pacema"er

Potrebbero piacerti anche