101 Secretos de VMware vSphere - por Jose Maria Gonzalez
 

Categorizados | Publicaciones, Software, reviews, vSphere

Como crear un Cluster SAN con Openfiler – Parte II

Como crear un Cluster SAN con Openfiler – Parte II

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 instalación y configuración de OpenFiler en una configuración en Cluster de alta disponibilidad.

Heartbeat

Para configurar heartbeat nos hará falta crear dos ficheros, authkeys y ha.cf. En authkeys definimos el método de autenticación entre nodos del cluster. Podéis poner sencillamente esto:

auth 2
2 crc

Lo copiáis al nodo 2 y atención, 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 acabéis, copiadlo al nodo 2 y añadid heartbeat al inicio del sistema.

chkconfig –level 2345 heartbeat on

Ahora es cuando tenemos que empezar a mover ficheros de configuración a la partición que hemos creado para el cluster y linkarlos, de manera que cuando hagamos el failover el nodo secundario monte dicha partición (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

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 partición 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 configuración del heartbeat que trae openfiler. Esto sólo 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 añada un recurso al cluster como una IP virtual (la ip del cluster) y que monte la partición de los ficheros de configuración del cluster.

Ahora, hay que hacer lo mismo que con los ficheros de configuración 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
• 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 pequeño 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 movéis el directorio rpc_pipefs fuera de la carpeta /var/lib/nfs asi que os dejara moverla. Luego, podéis deshacer el proceso (cambiad las expresiones en el script) para que los locks de nfs se guarden en la partición compartida de configuración 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
• 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 mínimo un volume group con un logical volumen dentro porque si no el heartbeat no arrancara. Luego lo podréis 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 tenéis la arquitectura x86, como yo, le quitáis el “64” al “lib64” y listo)

Ahora reiniciamos openfiler,

service openfiler restart

Y tendremos que activar o desactivar algún 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 informática, reiniciar. Reiniciamos los dos nodos, y al arrancar deberíamos tener el cluster activo. Ahora podéis entrar a la interfaz de administración a través de la IP del cluster (la que hayáis definido previamente) y probar.

Si tenéis algún 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 más servidores. Esto nos sirve para que si uno de los dos “muere”, podamos arrancar la máquina 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 próxima semana para contaros algo nuevo siempre y cuando desde mi humilde opinión.

Un saludo

Si le ha gustado este post, asegúrese de suscribirse a mi feed RSS!

Los lectores que leyeron este post, también leyeron:

  1. Como crear un Cluster SAN con Openfiler – Parte I
  2. Centro de respaldo virtual, ¿cómo crearlo? – Parte II
  3. vMA como syslog server con vilogger
  4. Actualizando VMware ESX con VMware vCenter Update Manager – Parte II
  5. Mejores prácticas para Cluster Microsoft en VMware vSphere 4.0

Este post fue escrito por:

Miguel Angel Alonso Pomar - who has written 28 posts on .

Miguel Angel Alonso Pomar, es experto en Virtualización de Sistemas en JMG Virtual Consulting, S.L., lideres y expertos en Soluciones y Servicios de Virtualizacion. Miguel Angel es Microsoft Certified Technology Specialist y Certified Professional, VMware Certified Professional, Citrix Certified Administrator Platinum y Red Hat Certfied Virtualization Administrator (RHCVA).

Contact the author

10 Respuestas a “Como crear un Cluster SAN con Openfiler – Parte II”

  1. Diego says:

    Muy bueno le instructivo pero ojo que openfiler no es la panacea, si bien trae muchas funciones que tiene una facilidad impresionante a la hora de ser configuradas desde su interfase Web. Hay que reconocer que en algunos de sus módulos como ser el de samba dejan mucho que desear, al punto de ser casi inutilizable para ciertos propósitos. Lo mismo sucede con algunos tipos de hardware. En mi caso se realizo en un HP DL 180G5 con 7 discos de 1 TRB en el cual se presentaron muchos problemas para reconocer la controladora y luego los discos de 1 TRB. (Con lo cual desistí de armarlo). Curiosamente funciono mucho mejor con todo en todo hardware clon que se le cruzo en medio. (Debo reconocer que seguía teniendo algunos problemitas de manejos de recursos)
    Adicionalmente a esto note algo que me llamo aun mas la atención es que al replicar algunas de sus funcionalidades montadas en el mismo hardware pero en este caso bajo la distribución de Ubuntu Server el mismo se comporto de forma estable sin problemas de consumos de recursos ni de velocidad de respuesta en los servicios. (Mucho más rápidos). Eso si había que montarse todo a mano y desde la línea de comandos cosa que no es menor.

    Saludos

  2. miguel angel says:

    Así es Diego y te voy a dar toda la razón. Es extraordinario que con este programa Opensource se puedan hacer tantas cosas pero debo de decir que han de mejorar en la configurar de un cluster entre las SAn para evitar semejantes lineas de codigo,aunque tengo entendido que en su versión 3 están trabajando en ello.
    también me gustaria recalcar su falta de soporte en ISCSi-3 Modo Permanente sin el cual no se puede mediante ISCSI hacer un Cluster en los Servicios de 2008 y 2008 R2.(Openfiler 3 sguramente).
    Pero debo también decir por último que para ser un programa de codigo abierto en mis entornos de TEST y en algún que otro de producción funciona con notoriedad y a un alto nivel sobre todo en entornos de VMware y XenServer.

    Gracias Diego por estar ahí y haber leido el artículo.

    Un fuerte abrazo.

  3. Pietro says:

    Gran artículo. Muchísimas gracias por el aporte.
    Me recuerda mucho a uno publicado en:
    http://aloquevamos.com/wordpress/2009/12/como-pasar-el-rato-openfiler-en-ha/

    Si señor, gran trabajo ;)

    • Mikytron says:

      Cualquiera diría que está usted insinuando que ha usado el kernel “Anarosaquintana” con su función C&P superdesarrollada… valgamediós con las acusaciones infundadas. ¿No podría ser que por casualidades de la vida haya usado las mismas palabras (acentos incluidos) para explicar algo que es de dominio público?.

      • Pietro says:

        mmmmm… poder podría…
        Aprovecho para completar mi comentario anterior con una única frase (me he quedado con las ganas antes…)

        “con dos cojones!!”

  4. Daniel says:

    Hay una plataforma Open que se llama “My Know how”, es muy buena, el módulo de “post copy/paste” versión “Non SGAE” está muy bien, funciona mejor que el openfiler y no necesitas ha. Te ahorras mucho tiempo y entornos de test propios, otra tendencia más hacia el cloud computing.

    Podrías citar al autor original que horas le costó sacarlo y buena fe para compartirlo, que aquí “to se sabe” a la larga…

  5. Miguel Angel Alonso says:

    Así es, el autor original de dicho artículo,y que he olvidado de nombrar por un descuido imperdonable es el señor Javier Morado,por favor acepta mis disculpas.
    No volverá a ocurrir.

    • Mikytron says:

      :D
      Te honra. No creo que el autor se moleste mucho porque como habrás visto (si te has dado una vuelta) no se suele postear mucho en el blog ese, pero una mera referencia nunca va mal, y mas cuando directamente usted no se ha basado en ese texto, si no que lo ha fusilado tal cual.
      Saludos

    • Chiru says:

      Hola,

      El señor Javier Morado es un amigo que ni siquiera participa en el blog. Si miramos con un poco de atención el post de aloquevamos que citan mas arriba, vera que lo escribe Chiru (o sea yo).

      No hay que disculparse por nada, para eso está el post ahí para que la gente lo pueda ver, y como no tiene copyright ni nada, se lo pueden copiar sin problemas.

      Sólo que, por costumbre, no está de más citar las fuentes.

      Un saludo.

    • Hola Miguel, all

      Por favor Miguel, en lo sucesivo, los post que escribes en el Blog de Virtualizacion en Español, deben SIEMPRE llevar la referencia del autor del articulo origen, tenga este copyright o no. Esta es una de las premisas que se deben cumplir siempre en el blog, el net etiquete se debe cumplir siempre.

      rgds,
      J.

Trackbacks/Pingbacks


Deja un Comentario

Sigue el blog Virtualización en Español

Blog Sponsors

101 Secretos de VMware vSphere

101 Secretos de VMware vSphere por Jose Maria Gonzalez

Descubre todos los secretos de VMware vSphere 4 y aprueba el examen de certificación oficial VMware VCP-410 GARANTIZADO. Regístrate y recibe un capitulo del libro totalmente gratuito

 

Consigue una copia gratis de mi eBook



VMware Site Recovery Manager 1.1 download gratis 

Nombre:
Email:


Mi Empresa

JmG Virtual Consulting, expertos en Servicios y Soluciones de Virtualizacion

 

Anuncios

Info

El Blog de Virtualizacion en Español via RSS

 

Jose Maria Gonzalez en Linked

 

Subcríbete al blog

Introduce tu email::

Delivered by FeedBurner

 

Soporta el Blog

Soporta el Blog de Virtualizacion en Español

 

Sígueme en Twitter

Sigue el Blog de Virtualizacion en Español en Twitter

 



This page took 1.725 seconds to generate