El objetivo de este manual es conseguir mediante nbd y ocfs2 una configuración de sistema de ficheros en cluster como la que podemos ver a continuación (imágen obtenida de: http://www.fi.muni.cz/~kripac/orac-nbd/).
Descargamos el módulo de ocfs2 desde
http://oss.oracle.com/projects/ocfs2/files/
y las utilidades desde
http://oss.oracle.com/projects/ocfs2-tools/files/
instalamos ambos rpm con:
#rpm -ivh ocfs2-*.rpm
En el paso anterior hay que tener en cuenta el orden de instalación de los paquetes, ya que en primer lugar debemos instalar el paquete tools ya que el que contiene el módulo del kernel tiene dependencias con él.
Una vez instalados los paquetes configuramos el cluster, he aquí un ejemplo de configuración:
[root@server ~]# cat /etc/ocfs2/cluster.conf
node:
ip_port = 7777
ip_address = 192.168.1.10
number = 0
name = client1.domain
cluster = ocfs2
node:
ip_port = 7777
ip_address = 192.168.1.11
number = 1
name = client2.domain
cluster = ocfs2
cluster:
node_count = 8
name = ocfs2
Estos dos pasos deben realizarse en todos los equipos que formen parte del cluster, modificando adecuadamente el node_count del fichero de configuración. Una vez establecida la configuración, hacemos:
#/etc/init.d/o2cb load #/etc/init.d/o2cb online ocfs2
En todos los equipos y ya tenemos el cluster en marcha.
El kernel de CentOS 4.4 tiene compilado el módulo nbd por lo que para cargarlo simplemente hacemos:
#modprobe nbd
Por otro lado necesitamos las utilidades de espacio de usuario que desafortunadamente no se encuentran en rpm para CentOS pero si para SuSSe 10 sin más dependéncia adicional que la libc en la misma versión que CentOS por tanto podemos aprovecharlo:
http://rpmfind.net/linux/rpm2html/search.php?query=nbd&submit=Search+...
Descargamos el paquete y lo instalamos
#wget ftp://rpmfind.net/linux/SuSE-Linux/i386/update/10.0/rpm/i586/nbd-2.7.4-2.2.i586.rpm #rpm -ivh nbd-2.7.4-2.2.i586.rpm
Nuevamente, esto debe hacerse en todas las máquinas que vayan a formar parte del montaje nbd, es decir, clientes y servidor. Una vez instalado decidimos que dispositivo vamos a exportar (en nuestro caso /dev/hda1) y hacemos en el servidor nbd:
[root@server ~]# nbd-server 12345 /dev/hda1
Y en los clientes hacemos:
[root@client_n ~]# nbd-client ip_server 12345 /dev/nbd0
(12345 hace referencia al puerto). Y a partir de entonces tenemos disponible el device /dev/ndb0 como si de un dispositivo local se tratara.
Una vez configurado el nbd debemos formatear la unidad con sistema de ficheros ocfs2 y montarla en todos los equipos cliente, de la siguiente forma:
#mkfs.ocfs2 -b 4K -C 32K -N 4 -L label /dev/nbd0
Este comando lo ejecutaremos únicamente en uno de los clientes, a continuación ejecutamos en todos los clientes:
#mount -t ocfs2 /dev/nbd0 /mnt/ocfs
Con esto lograremos que todos los clientes compartan un dispositivo que alberga un servidor y que el sistema de ficheros ocfs2 se encarge de las particularidades del sistema de ficheros preservando su integridad.