Siempre en las empresas, organizaciones u otras entidades, se necesitan servicios Webs, Ftp, Firewalls, etc. Pero que ocurre si uno de nuestros servidores que esta entregando un servicio o mas de uno se cae por cualquier tipo de problema?.......cuack
Hoy les entregare un manual que cree para ustedes, cuando a mi me sucedio esto... solo vasta seguir los pasos y todo estara automatizado para una alta disponibilidad utilizando una hertbeat, ssh, rsync y cron
manual creado en fedora 6 (Kernel 2.6.18-1.2869.fc6)
I.- INSTALACION DE SOFTWARE Y CONFIGURACION
1. INSTALACION
• Instalación mediante Yum
Root@equipo# #yum search heartbeat
Root@equipo# #yum install heartbeat.i386
2. VERIFICACION DE HEARTBEAT
• Verificar si la instalación quedo en buen estado
Root@equipo# yum info heartbeat
Root@equipo# cd /etc/init.d
Root@equipo# ./heartbeat start
Root@equipo# ./heartbeat status
Si se muestra OK se puede continuar, de lo contrario se tienen que volver a realizar los pasos anteriores o instalar otra versión de heartbeat
3.CONFIGURACION DE HEARTBEAT
Ahora se deben de copiar los archivos haresources, authkeys y ha.cf que se encuentran en /usr/share/doc/heartbeat* (dependiendo la versión instalada) hacia /etc/ha.d
Comienza ahora la configuración de los archivos. La configuracion debe quedar mas o menos como estos:
HA.CF
## /etc/ha.d/ha.cf on node1
## This configuration is to be the same on both machines
## This example is made for version 2, comment out crm if using version 1
keepalive 1
deadtime 5
warntime 3
initdead 10
# serial /dev/ttyS0 /*interfaz si es que vamos a salir por Puerto serial-
bcast eth1 /*interfaz por donde salemos*/
auto_failback yes
node testsvr.intranet /*nodos*/
node testsvr2.intranet
crm on # comment out if using version 1.2.3
Después enviar el archivo a el Segundo nodo de esta forma # scp /etc/ha.d/ha.cf root@node2:/etc/ha.d/
HARESOURCE
Este archivo debe de quedar más o menos así:
## /etc/ha.d/haresources
## This configuration is to be the same on both nodes
testsvr.intranet 192.168.1.3 drbddisk Filesystem::/dev/drbd0::/data::ext3 named
testsvr2.intranet 192.168.1.2 drbddisk Filesystem::/dev/drbd0::/data::ext3 named
[servidor ] [ip a demostrar ] [file system] [demonios]
AUTHKEYS
## configuracion de seguridad que pueden se puede variar pueden ser(ssh)
auth 1
1 crc
Después le cambiamos el permiso que este tiene y se lo asignamos a nivel 600 de la siguiente forma:
Root@equipo# chmod 600 /etc/ha.d/authkeys
4. COPIA DE ARCHIVOS EN NODOS
Copiamos los archivos que modificamos en el segundo nodo sin realizarle ningún cambio
6. VERIFICAR LA FUNCIONALIDAD
Verificar primero la hora y fecha en ambos equipos o machines.
Ver si se esta viendo una maquina a la otra con:
Root@equipo# crm_mon -i2
II.- RSYNC
RESPALDOS CON RSYNC (1RA OPCION)
Esta opción sirve para cuando por ejemplo solo se quiere respaldar de una maquina solamente a otra por que se sobrecopían los archivos. Para lograr respaldo de rsynk con heatbeat en forma automatizada he creado un bash que lo puede realizar.
#!/bin/bash
echo "Iniciando Backup desde Secundario a Primario: archivos samba carpeta publico"
rsync -alptvo -delete -e ssh root@secundario.intranet:/usr/publico/ /usr/publico/
#echo "Backup de Publico realizada"
Este se tiene que guardar en una archivo que sea .sh y agregar al CRON de la maquina para que se ejecute cada cierto tiempo. El cron puede quedar como esto (archivo de configuración de cron es /etc/cronttab)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#PATH=/usr/local/sbin:/usr/local/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root /root/respaldo.sh /* con esta configuración se ejecuta a cada rato*/
RESPALDOS CON RSYNC (2DA OPCION)
con esta opción puedes llegar a ser que cuando un servidor se encuentre abajo no realice sincronización. Esto es posible mediante el siguiente script en bash de la cual realiza una comprobación de host y procesos de heartbreat. El codigo es el siguiente.
#!/bin/bash
#
#**********************************************************************
# Verificador de servicio Heartbeat para Rsync
#**********************************************************************
#
#
#
var1=primario.intranet
var2=/usr/lib/heartbeat/mgmtd
echo Vigia a la espera . . .
#result= crm_mon -1 | grep heartbeat |awk '/1/ {print $4}' > /root/.a001
result= ps x|grep "mgmtd -v" | awk '/3/ {print $5}'
if [ $var2=$result ]
rsync -alptvo -delete -e ssh root@secundario.intranet:/usr/publico/ /usr/publico/
echo "Backup Realizado .................. [ OK ]"
then
else
echo "Backup en espera .................. [ FALLO ]"
fi
exit
Posteriormente a esto hay que también agregarlo a cron para que lo ejecute dependiendo de el requerimiento quedando mas o menos así:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#PATH=/usr/local/sbin:/usr/local/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root /root/vigia.sh /* con esta configuración se ejecuta a cada rato*/
manual con licencia GPL sobre el blog
0 comentarios:
Publicar un comentario en la entrada