Está en la página 1de 4

Como crear un Cluster SAN con Openfiler Parte II

Posted by: Miguel Angel Alonso Pomar Posted date: February 02, 2010 In: Almacenamiento, Manuales,
Publicaciones, Reviews, Scripts, Software, Soluciones, Virtualizacion, Virtualizacin, VMware, VSphere | comment
: 10
En la primera parte, te explique brevemente como
instalar y montar el motor DRDB.
En esta segunda parte, te explicare como configurar
el Hearbeat y a finalizar la instalacin y
configuracin de OpenFiler en una configuracin en
Cluster de alta disponibilidad.
Heartbeat
Para configurar heartbeat nos har falta crear dos
ficheros, authkeys y ha.cf. En authkeys definimos el
mtodo de autenticacin entre nodos del cluster.
Podis poner sencillamente esto:
auth 2
2 crc
Lo copiis al nodo 2 y atencin, aseguraos que los permisos sobre este fichero en ambos nodos es 600, ya que
de lo contrario heartbeat no arrancar. Ahora el ha.cf:
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
udpport 694
bcast eth0
keepalive 5
warntime 10
deadtime 120
initdead 120
auto_failback off
node batman
node robin
Importante: Aseguraos que la eth sobre la que vais a comprobar el heartbeat es la correcta (en mi caso solo
tengo una eth en cada servidor as que no hay mucha probabilidad de error). Ah y cambiad los nombre de los
nodos (lineas node) con el nombre de vuestros nodos. Cuando acabis, copiadlo al nodo 2 y aadid heartbeat al
inicio del sistema.
chkconfig level 2345 heartbeat on
Ahora es cuando tenemos que empezar a mover ficheros de configuracin a la particin que hemos creado para
el cluster y linkarlos, de manera que cuando hagamos el failover el nodo secundario monte dicha particin (que
est replicada con drbd) y pueda arrancar los servicios correctamente:
En nuestro nodo primario:
mkdir /cluster_metadata
mount /dev/drbd0 /cluster_metadata
mv /opt/openfiler/ /opt/openfiler.local
mkdir /cluster_metadata/opt
cp -a /opt/openfiler.local /cluster_metadata/opt/openfiler
ln -s /cluster_metadata/opt/openfiler /opt/openfiler
rm /cluster_metadata/opt/openfiler/sbin/openfiler
ln -s /usr/sbin/httpd /cluster_metadata/opt/openfiler/sbin/openfiler
rm /cluster_metadata/opt/openfiler/etc/rsync.xml
ln -s /opt/openfiler.local/etc/rsync.xml /cluster_metadata/opt/openfiler/etc/
mkdir -p /cluster_metadata/etc/httpd/conf.d
Como crear un Cluster SAN con Openler Parte II | Bl... http://www.josemariagonzalez.es/2010/02/02/como-crear...
1 de 4 13/11/13 14:39
rm /cluster_metadata/opt/openfiler/etc/rsync.xml
ln -s /opt/openfiler.local/etc/rsync.xml /cluster_metadata/opt/openfiler/etc/
mkdir -p /cluster_metadata/etc/httpd/conf.d
y editamos el fichero /opt/openfiler.local/etc/rsync.xml para que parezca algo as:
<?xml version=1.0 ?>
<rsync>
<remote hostname=10.188.188.2/> ## IP address of peer node.
<item path=/etc/ha.d/haresources/>
<item path=/etc/ha.d/ha.cf/>
<item path=/etc/ldap.conf/>
<item path=/etc/openldap/ldap.conf/>
<item path=/etc/ldap.secret/>
<item path=/etc/nsswitch.conf/>
<item path=/etc/krb5.conf/>
</rsync>
Tened en cuenta en hostname poner la IP del nodo 2. En el nodo 2 nos basta con:
mkdir /cluster_metadata
mv /opt/openfiler/ /opt/openfiler.local
ln -s /cluster_metadata/opt/openfiler /opt/openfiler
El link simbolico est roto, pero se arregla al hacer el failover, ya que se montar la particin en el directorio
/cluster_metadata. Hacemos lo mismo con el fichero /opt/openfiler.local/etc/rsync.xml, pero en el nodo 2 tenemos
que poner la IP del nodo 1.
Ahora la configuracin del heartbeat que trae openfiler. Esto slo hay que hacerlo en el nodo 1. Editamos
/cluster_metadata/opt/openfiler/etc/cluster.xml y lo dejamos tal que as:
<?xml version=1.0 ?>
<cluster>
<clustering state=on />
<nodename value=batman />
<resource value=MailTo::it@company.com::ClusterFailover/>
<resource value=IPaddr::192.168.1.10/24 />
<resource value=drbddisk::>
<resource value=LVM::vg0drbd>
<resource value=Filesystem::/dev/drbd0::/cluster_metadata::ext3::defaults,noatime>
<resource value=MakeMounts/>
</cluster>
Con esto lo que hacemos es definir a Batman (nodo 1) como el nodo primario. A su vez le decimos que aada un
recurso al cluster como una IP virtual (la ip del cluster) y que monte la particin de los ficheros de configuracin
del cluster.
Ahora, hay que hacer lo mismo que con los ficheros de configuracin del openfiler, pero con los de los diferentes
servicios. Por partes.
iSCSI
- en el nodo 1:
mv /etc/ietd.conf /cluster_metadata/etc/
ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf
mv /etc/initiators.allow /cluster_metadata/etc/
ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow
mv /etc/initiators.deny /cluster_metadata/etc/
ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny
- en el nodo 2:
rm /etc/ietd.conf
Como crear un Cluster SAN con Openler Parte II | Bl... http://www.josemariagonzalez.es/2010/02/02/como-crear...
2 de 4 13/11/13 14:39
- en el nodo 2:
rm /etc/ietd.conf
ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf
rm /etc/initiators.allow
ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow
rm /etc/initiators.deny
ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny
FTP
- En el nodo 1:
mv /etc/proftpd /cluster_metadata/etc/
ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd
- En el nodo 2:
rm -rf /etc/proftpd
ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd
SAMBA Y NFS.
Aqu tuve un pequeo problemita con el tuto de how to forge. Esto es lo que dice:
Nodo 1;
mkdir /cluster_metadata/etc
mv /etc/samba/ /cluster_metadata/etc/
ln -s /cluster_metadata/etc/samba/ /etc/samba
mkdir -p /cluster_metadata/var/spool
mv /var/spool/samba/ /cluster_metadata/var/spool/
ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba
mkdir -p /cluster_metadata/var/lib
mv /var/lib/nfs/ /cluster_metadata/var/lib/
ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs
mv /etc/exports /cluster_metadata/etc/
ln -s /cluster_metadata/etc/exports /etc/exports
Aunque esto, me dio error en el paso mv /var/lib/nfs/ /cluster_metadata/var/lib/. El caso es que hay un demonio
por ah que tiene algo que ver con rpc que bloquea el directorio. Para solucionarlo hice esto:
Reemplazar todas las ocurrencias de /var/lib/nfs/rpc_pipefs por /var/lib/rpc_pipefs en los ficheros
/etc/modprobe.conf.dist y /etc/idmapd.conf. Lo podeis hacer a manija o con este mini-script en perl:
perl -i.orig -pe
if (m,^[^#], and m,/var/lib/nfs/rpc_pipefs,)
{print #, $_; s,,/var/lib/rpc_pipefs,;}
\
/etc/modprobe.conf.dist \
/etc/idmapd.conf
service nfslock stop
service nfs stop
service rpcidmapd stop
/bin/umount -a -t rpc_pipefs
mv /var/lib/nfs/rpc_pipefs /var/lib/
/bin/mount -t rpc_pipefs sunrpc /var/lib/rpc_pipefs
service rpcidmapd start
Con esto movis el directorio rpc_pipefs fuera de la carpeta /var/lib/nfs asi que os dejara moverla. Luego, podis
deshacer el proceso (cambiad las expresiones en el script) para que los locks de nfs se guarden en la particin
compartida de configuracin del cluster, de manera que cuando se haga el failover, se conserven.
Nodo 2:
rm -rf /etc/samba/
ln -s /cluster_metadata/etc/samba/ /etc/samba
rm -rf /var/spool/samba/
ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba
rm -rf /var/lib/nfs/
ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs
Como crear un Cluster SAN con Openler Parte II | Bl... http://www.josemariagonzalez.es/2010/02/02/como-crear...
3 de 4 13/11/13 14:39
rm -rf /var/spool/samba/
ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba
rm -rf /var/lib/nfs/
ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs
rm -rf /etc/exports
ln -s /cluster_metadata/etc/exports /etc/exports
Hecho esto, creamos el primer volume group en el nodo 1:
vgcreate vg0drbd /dev/drbd1
lvcreate -L 400M -n lv001 vg0drbd
Tened siempre como mnimo un volume group con un logical volumen dentro porque si no el heartbeat no
arrancara. Luego lo podris borrar con la interfaz de openfiler y hacerlo al gusto, pero este es para que no de
error al arrancar.
Luego en el nodo 1:
rm /opt/openfiler/etc/httpd/modules
ln -s /usr/lib64/httpd/modules /opt/openfiler/etc/httpd/modules
(si tenis la arquitectura x86, como yo, le quitis el 64 al lib64 y listo)
Ahora reiniciamos openfiler,
service openfiler restart
Y tendremos que activar o desactivar algn servicio mediante la interfaz para que escriba el fichero /etc/ha.d
/haresources. Cuando lo tengamos, lo copiamos al nodo 2.
Y ahora solo queda aplicar el 2 axioma de la informtica, reiniciar. Reiniciamos los dos nodos, y al arrancar
deberamos tener el cluster activo. Ahora podis entrar a la interfaz de administracin a travs de la IP del cluster
(la que hayis definido previamente) y probar.
Si tenis algn problema, mirad en los ficheros de log del heartbeat (/var/log/ha-log y /var/log/ha-debug) de los
dos nodos, y probad a parar y arrancar el openfiler en los dos nodos, para ver que errores genera.
Ahora podemos exportar con iSCSI, de manera que con los ESXi podemos adjuntar el storage en dos o ms
servidores. Esto nos sirve para que si uno de los dos muere, podamos arrancar la mquina virtual directamente
en el otro, tal y como estaba cuando se par.
Bueno aqu os dejo este Post esta semana y espero poder volver a estar con vosotros la prxima semana para
contaros algo nuevo siempre y cuando desde mi humilde opinin.
Como crear un Cluster SAN con Openler Parte II | Bl... http://www.josemariagonzalez.es/2010/02/02/como-crear...
4 de 4 13/11/13 14:39

También podría gustarte