Soporte Técnico Premium para su infraestructura de virtualización por 1€/día
 

Tag Archive | "Openfiler"

Laboratorio VMware vSphere de bajo coste (II)


¡Buenos días! Como cada miércoles estoy aquí contigo para comentar temas del ecosistema de VMware.

Soy Jose Maria Gris y vamos a hacer algo que espero te sea interesante. Si hace unos días hablábamos de cómo hacer un pequeño laboratorio de bajo coste, hoy hablaremos de cómo hacer un laboratorio “near full” y con bajo coste.

Déjame recordarte que bajo ningún aspecto recomiendo poner esta configuración en producción, ya que no está soportada por los fabricantes y no ofrece las redundancias ni seguridades que precisaría. Esta configuración de elementos hardware es tan sólo referida a efectos de un laboratorio de test y formación.

Vale, una vez dicho lo que había que decir, pues vemos al tema. Que entendemos por un laboratorio que sea “near full”. Pues que podamos montar vSphere, e implementar HA, DRS e incluso FT. Como dicen en Valencia “tot per dos duros..”. ;)

La base de nuestro laboratorio será el ya viejo conocido ML110 en su versión G6 (ver post anterior) debidamente ampliado a 16GB de RAM. Su procesador X3430 nos permitirá establecer FT. Tan sólo nos falta un recurso compartido, poner una SAN… pero “dos duros…” . Pues aquí lo que podemos hacer es con una buena controladora virtualizar la SAN dentro de los propios ESX. Podemos poner un Openfiler, yo en mi caso lo que he virtualizado ha sido Datacore y además los he puesto en mirror. Aquí tenéis el diseño en overview:

DataCore SANmelody

Nota: El diseño es un poco antiguo pues yo he montado SANSimphony-V, pero lo que nos interesa es el diseño.

Y aquí tenemos el resultado. Un clúster de dos sockets y 8 núcleos con 32 GB de memoria y que me están soportando unas cuantas VMs, incluyendo una en FT. El resultado es magnífico.

Espero que os haya intesado. Saludos.

Posted in Estandars, Estrategia, ESX, ESXi, Hardware, Integración, Manuales, Virtualizacion, Virtualización, VMware, VMware, vSphereComments (7)

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

Posted in Cloud Computing, Manuales, Publicaciones, reviews, Software, Virtualización, vSphereComments (10)

Como crear un Cluster SAN con Openfiler – Parte I


¿Hola que tal de nuevo?. Pido mis disculpas a José María y todos nuestros lectores por el retraso en mis POSTS ya que he tenido un ligero contratiempo a lo largo de este mes que me ha hecho ir más lento con vosotros de lo que yo quisiera.

Una vez explicado esto, quería haceros llegar algo que ya he probado y que me ha sorprendido por su funcionamiento con un programa de almacenamiento SAN como es Openfiler (Código Abierto). Como realizar un Cluster entre SAN con Openfiler para la redundancia de nuestras VMs?.

Mirando en varios Blogs y otros donde ponían como realizarlo (HOW to) os transmito paso a paso como realizarlo. Aunque cabe reseñar antes de empezar, que todo se basa en el protocolo DRDB, el cual es básicamente una replicación continua vía TCP/IP mediante nuestra red Ethernet.

Lo primero es descargar e instalar openfiler en las dos máquinas. Hay una imagen para x86 o para x86_64 según las máquinas de que dispongáis. Durante la instalación, haced las particiones idénticas en los dos servidores, y cuando reiniciéis, os tendréis que asegurar que no se montan las particiones que se van a replicar entre los dos servidores. En mi caso, hice el siguiente particionado:

• /dev/hda1 — /boot – 150MB
• /dev/hda2 — / — 10GB
• /dev/hda3 – swap – 1024MB
• /dev/hda5 – 512MB – Será donde guardemos los ficheros de config para el cluster.
• /dev/hda6 – 12,9 GB – Haremos un share SMB
• /dev/hda7 – 12,9 GB – La usaremos como target iSCSI para VMWare

Para que nos quede un poco mas claro, las particiones que replicaremos serán las de datos y la de configuración del cluster. Las de sistema no será necesario replicarlas ya que el sistema está instalado en ambos nodos. Aseguraos también de que los dos nodos resuelven correctamente el nombre del otro y opcionalmente, montad la autentificación por claves de ssh, para no tener que escribir el password cada vez que hagáis un scp.

DRBD

Montar drbd es bastante sencillo. Lo primero que tenéis que hacer es aseguraros de que las particiones estén vacías, ya que es muy probable que durante la instalación hayáis creado un sistema de ficheros sobre ellas. Si fuese así:

dd if=/dev/zero of=/dev/hdaX bs=1M count=1

Con esto borráis las particiones y las dejáis impolutas para que podáis empezar a replicar. Lo siguiente, editamos el fichero /etc/drbd.conf en el nodo 1. Ahí tendremos que especificar un par de opciones generales y los arrays que váis a crear:

Ejemplo del fichero de configuración.

Luego lo copiamos al nodo 2. Una vez tenemos el fichero de configuración podemos crear los arrays (esto hay que hacerlo en ambos nodos):

• drbdadm create-md cluster_metadata
• drbdadm create-md vg0drbd
• drbdadm create-md vg1drbd

Y arrancamos el servicio drbd en los dos nodos. Si miráis el fichero /proc/drbd, veréis que el estado de los discos es inconsistente y que ambos nodos estan como secundarios. Así que en el nodo 1 hacéis:

• drbdsetup /dev/drbd0 primary -o
• drbdsetup /dev/drbd1 primary -o
• drbdsetup /dev/drbd2 primary –o

Con esto hemos puesto al nodo 1 como primario en todas las particiones que gestiona drbd. Ahora si miráis el /proc/drbd, veréis como está replicando los datos. Ahora hay que añadir drbd al inicio del sistema y ya de paso, creamos el sistema de ficheros en la partición que nos guardará los ficheros de configuración del cluster.

• chkconfig –level 2345 drbd on (en ambos nodos)
• mkfs.ext3 /dev/drbd0 (en el nodo 1)

En este punto, con los arrays creados, nos referiremos siempre al los dispositivos drbd para I/O para cualquier operación con discos.
Siguiente, editamos el fichero /etc/lvm/lvm.conf y cambiamos el filtro de esto:

• filter = [ "a/.*/" ]

a esto:

• filter = [ "r|/dev/hda*|" ]

y procedemos a crear el physical volume sobre drbd1 (el otro sera sobre drbd2, ya que el 0 no será gestionado por lvm).

• pvcreate /dev/drbd1

En la siguiente parte, te contare la parte del heartbeat y de como terminar la configuración de drdb.

Hasta la próxima semana.

Posted in Cloud Computing, Estrategia, ESX, ESXi, Manuales, Publicaciones, Software, VMware, VMware, vSphereComments (11)

Page 1 of 11

Sigue el blog Virtualización en Español

Blog Sponsors

Mi Empresa

JmG Virtual Consulting, expertos en Servicios y Soluciones de Virtualización y Cloud Computing

 

Síguenos en FaceBook

Descubre y domina VMware vSphere™ 5

Descubre y domina VMware vSphere™ 5. Por José María González

Descubre y domina la nueva versión de VMware vSphere™ 5 y aprovéchate de hasta un 20% de descuento al comprarlo online. Regístrate y recibe un capitulo de nuestro nuevo libro totalmente gratuito

 

 

Nuevo Site Recovery Manager 4 en español Consigue una copia gratuita del eBook



Nuevo VMware Site Recovery Manager 4 download gratis 

Nombre:
Email:


Anuncios