Académique Documents
Professionnel Documents
Culture Documents
Primero instalaremos Ubuntu server en nuestra simulacin de Clster H.A. Ambos servidores estarn corriendo el servicio Mysql.
Ambos servidores adems tendrn una unidad de disco duro sin particionar asignada en /dev/sdb ambas del mismo tamao 1GB Completado este paso, procedemos a instalar por medio del repositorio Hearbeat, Pacemaker Drbd y Mysql.
# apt-get install heartbeat pacemaker # apt-get install drbd8-utils # apt-get install mysql-server
Heartbeat: es un servicio que nos provee de intercomunicacin entre servidores peers en una infraestructura de clster. Clster: conjunto de dispositivos enlazados servidores que actan en conjunto para proveer servicios Pacemaker: Servicio de administracin de recursos en alta disponibilidad DRBD: sistema distribuido de almacenamiento para plataformas Linux permite realizar un mirror remoto en red similar a RAID 1 ----------------------------------------------------------------------------------------------------------------------------------Server1 = 192.168.106.137 Server2 = 192.168.106.138
192.168.106.137 192.168.106.138
server1.cluster.com server2.cluster.com
server1 server2
Server1
192.168.106.137 192.168.106.138
server1.cluster.com server2.cluster.com
server1 server2
Server1
Server2 # nano /etc/hostname
Server2
Continuamos con la configuracin de Heartbeat ingresamos los siguientes parmetros en ambos servidores: Creamos el archivo ha.cf en el directorio ha.d ubicado en /etc # cd /etc/ha.d # nano ha.cf
autojoin none # ingresa nodos de forma manual bcast eth0 warntime 3 # mensaje error al fallar un nodo deadtime 6 #mensaje nodo muerto initdead 60 # nodo sin respuesta declara muerto keepalive 1 # comprueba si el otro nodo existe node server1 node server2 crm respawn # comprueba que pacemaker vive sino lo revive auto_failback on # levanta el segundo nodo al fallar 1
Generamos el certificado para que heartbeat realice una comunicacin segura en server1 y le asignamos los permisos de rw para el administrador
Server1/etc/ha.d# (echo -ne "auth 1\n1 sha1 ";\ > dd if=/dev/urandom bs=512 count=1 | openssl md5)\ > > /etc/ha.d/authkeys Server1/etc/ha.d# chmod 600 authkeys
Ahora configuramos pacemaker en el server1 y todo lo que realicemos en esta configuracin pasara directamente al server2 Server1# crm configuration crm(live)configure# property stonith-enabled="false" crm(live)configure# primitive virtual-ip ocf:heartbeat:IPaddr params ip="192.168.106.140" cidr_netmask="/24" nic="eth0" crm(live)configure# location virtual-ip-pref virtual-ip 100: server1 crm(live)configure#monitor virtual-ip 40s:20s crm(live)configure#commit
Finalizado esto, reiniciamos los servidores Lo que acabamos de realizar en cada paso fue: Deshabilitar el Sistema stonith shoot the other node in the head Stonith es un servicio que garantiza que un nodo este realmente muerto. Asignar una ip virtual por la cual ser accesado los request al servicio de mysql Y por ltimo definimos que el server1 sera el servidor maestro o principal.
Podemos observar en el apartado Current DC: que server1 es el nodo activo mientras que server2 se mantiene pasivo hasta que un problema ocurra.
Si revisamos la configuracin de red en los servidores, confirmaremos que tenemos una interfaz virtual con la ip 192.168.106.140 en la interfaz eth0:0 las cuales configuramos a travs del crm . (configuring and managing cluster resources CLI).
Configuracin DRBD
Ambos servidores deben estar sincronizados con el tiempo, por lo que instalaremos ntp Server1# apt-get install ntp ntpdate Server2# apt-get install ntp ntpdate
Creamos la particin en la unidad de almacenamiento que le agregamos a cada servidor de 1GB en mi caso se encuentra en /dev/sdb hecho esto creamos el recurso a compartir lo definir ac como db Server1# drbdadm create-md db Server2# drbdadm create-md db Iniciamos el servicio en ambos servidores Server1# service drbd start Server2# service drbd start
Definimos el servidor primario para el clster en mi caso server1 Server1# drbdadm -- --overwrite-data-of-peer primary db Ya sincronizados ambos nodos verificamos su estado Server1# cat /proc/drbd
Finalmente damos formato a la particin y la montamos en un directorio que crearemos llamado /db Server1# mkfs.ext3 /dev/drbd1 ; mkdir /db ; mount /dev/drbd1 /db
crm_resource -P
Server1# df -ha
Por ultimo en el server2 damos formato a la particin y creamos el directorio de montaje Server2# mkfs3.ext3 /dev/drbd1 ; mkdir /db
Revisamos el status de drbd en ambos servidores Server1# service drbd status Server2# service drbd status