Este es un sistema de archivos para sistemas distribuidos, muy usado en cluster de alta disponibilidad, a diferencia del NFS, que exporta directorios, el GFS se exporta en si mismo como un file system completo y su sistema evita la corrupción de datos especialmente si los archivos van a ser accedidos por diferentes computadoras.
Un uso común, sería un WEB server de alta disponibilidad, por ejemplo 5 computadoras importando el GFS y en el GFS almacenar los archivos del sitio, junto con un cluster de alta disponibilidad que mantenga para que en caso de que caigan varias de ellas, las restantes mantengan el sitio en línea y con todos sus archivos.
Igualmente puede usarse para almacenar bases de datos y básicamente cualquier servicio, como FTP y otros
A continuación un pequeño how t o de cómo implementarlo de forma rápida y básica
Paquetes requeridos
yum install lvm2-cluster rgmanager gfs2-utils gnbd kmod-gnbd
en /etc/hosts
agregar cada hosts
192.168.5.240 nodo1.lastdragon.net nodo1
192.168.5.241 nodo2.lastdragon.net nodo2
Formatear la particion o volumen designado
mkfs.gfs2 -p lock_dlm -t mycluster:gfs2_data -j 3 /dev/hda3
Crear o limpiar el archivo /etc/cluster/cluster.conf
para crear el cluster de almacenamiento
<?xml version=”1.0″?>
<cluster alias=”mycluster” config_version=”1″ name=”mycluster”>
<fence_daemon clean_start=”0″ post_fail_delay=”0″
post_join_delay=”3″/>
<clusternodes>
<clusternode name=”nodo1.lastdragon.net” nodeid=”1″ votes=”1″>
<fence>
<method name=”1″>
<device ipaddress=”nodo1.lastdragon.net” name=”gnbd”/>
</method>
</fence>
</clusternode>
<clusternode name=”nodo2.lastdragon.net” nodeid=”2″ votes=”1″>
<fence>
<method name=”1″>
<device ipaddress=”nodo2.lastdragon.net” name=”gnbd”/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman/>
<fencedevices>
<fencedevice agent=”fence_gnbd” name=”gnbd”
servers=”nodo1.lastdragon.net”/>
</fencedevices>
</cluster>
Se arrancan o reinician los servicios
service gfs2 restart
service cman restart
service rgmanager restart
service clvmd restart
el CMAN se queda en fence join hasta que no inicia los otros nodos
exportando el sistema de archivos GFS
montar la particion que se compartira
mount /dev/hda3 /gfs
modprobe gnbd
gnbd_serv
gnbd_export -d /dev/hda3 -e gfs2_gnbd
el parametro -e es el dispositivo que se exportara a los clientes
cuando
carguen sus modulos
para la exportacion
gnbd_export -R
gnbd_serv -k
importando el sistema de archivo
modprobe gnbd
gnbd_import -i nodo1.lastdragon.net
dentro de /dev/gnbd se crea gfs2_gnbd y es el dispositivo que sera
montado
mount /dev/gnbd/gfs2_gnbd /gfs
parar la importacion
gnbd_import -R
———————————
Gracias por compartir te felicito es un gran aporte
de nada =)
Chingon, como accesas los archivos? asi normal? cd /ruta/carpeta/? me recuerda el Google File System alias GFS..
Chito yo me quede en que el proveedor de Google era Red Hat y el FS es de autoria de Red Hat, asi que…. no dudo que el Google FS sea en realidad GFS de Red Hat y si asi se accesa como un sistema de archivos mas
interesante gracias
hola
justo necesito implementar un sistema asi para un proyecto de la universidad, me guie segun esta guia basica
pero me da problemas al inciar cman en ambos nodos
Loading modules… done
Mounting configfs… done
Starting ccsd… done
Starting cman… done
Starting daemons… done
Starting fencing… failed [FALLO]
probe bajando el firewall y selinux,sincronizando la hora con un servidor NTP, los nombres estan en el /etc/hosts y resueltos por dns, probe con una particion hd3 y despues con un disco hdb en maquina virtual.
estoy usando centos 5.3, 2.6.18.-128.el5 i386
estaria muy agradecido si me pudieras ayudar
saludos
hola, esta muy interesante su articulo, sucede que tengo un cluster HA con heartbeat+drbd+apache que esta formado por 2 nodos, en este caso mi drbd hace como raid1(discos espejos) en los dos nodos, pero queria saber si al implementar el gfs estos pasos se hacen en 1 sola maquina si los implemento en ambos nodos?, gracias