GlusterFS - Sistema de alta disponibilidad de datos

GlusterFS es un de sistema de almacenamiento de archivos distribuidos escalable. Trabaja sobre TCP / IP y se basa en un diseño de espacio de usuario amigable sin comprometer el rendimiento.

En este articulo se presentará la instalación de GlusterFS en una típica configuración cliente  > servidor.

Servidor A IP: 192.168.142.248

Servidor B IP: 192.168.142.246

Servidor A

Lo primero che hay que hacer es instalar los paquetes para compilar el programa y algunas librerías:

yum groupinstall 'Development Tools'

yum groupinstall 'Development Libraries'

yum install libibverbs-devel fuse-devel

Se descargan las fuentes (de la versión 3.0)

wget http://www.voztovoice.org/tmp/glusterfs-3.0.0.tar.gz

se descomprimen:

tar -xf glusterfs-3.0.0.tar.gz

se entra en la carpeta y se compila:

cd glusterfs-3.0.0

./configure --prefix=/usr

make

make install

Se averigua que la instalación haya tenido éxito:

glusterfs --version

glusterfs 3.0.0 built on Nov  4 2010 18:09:15
Repository revision: 2.0.1-886-g8379edd
Copyright (c) 2006-2009 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.

y se inicia con la configuración creando algunas carpetas:

mkdir /home/data

mkdir /etc/glusterfs

Se prepara el archivo de configuración del servidor:

nano /etc/glusterfs/glusterfsd.vol

volume posix
  type storage/posix
  option directory /home/data
end-volume

volume locks
  type features/locks
  subvolumes posix
end-volume

volume brick
  type performance/io-threads
  option thread-count 8
  subvolumes locks
end-volume

volume server
  type protocol/server
  option transport-type tcp
  option auth.addr.brick.allow 192.168.142.246
  subvolumes brick
end-volume

En el bloque volume server se pone la IP del cliente.

Se crea un enlace simbólico al programa:

ln -s /usr/sbin/glusterfsd /sbin/glusterfsd

Se instala el script de arranque y se inicia el servidor:

chkconfig --levels 35 glusterfsd on

/etc/init.d/glusterfsd start

Se averigua que esté corriendo:

/etc/init.d/glusterfsd status

glusterfsd (pid 6682) is running...

 

Servidor B

yum groupinstall 'Development Tools'

yum groupinstall 'Development Libraries'

yum install libibverbs-devel fuse-devel

Se descargan las fuentes (de la versión 3.0)

wget http://www.voztovoice.org/tmp/glusterfs-3.0.0.tar.gz

se descomprimen:

tar -xf glusterfs-3.0.0.tar.gz

se entra en la carpeta y se compila:

cd glusterfs-3.0.0

./configure --prefix=/usr

make

make install

Se averigua que la instalación haya tenido éxito:

glusterfs --version

glusterfs 3.0.0 built on Nov  4 2010 18:09:15
Repository revision: 2.0.1-886-g8379edd
Copyright (c) 2006-2009 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.

Se crean unas carpetas:

mkdir /mnt/glusterfs

mkdir /etc/glusterfs

y el archivo de configuración del cliente:

nano /etc/glusterfs/glusterfs.vol

volume remote
  type protocol/client
  option transport-type tcp
  option remote-host 192.168.142.248
  option remote-subvolume brick
end-volume

volume replicate
  type cluster/replicate
  subvolumes remote
end-volume

volume writebehind
  type performance/write-behind
  option cache-size 1MB
  subvolumes replicate
end-volume

volume cache
  type performance/io-cache
  option cache-size 512MB
  subvolumes writebehind
end-volume

En el bloque volume remote se pone la dirección IP del servidor.

Ahora podemos cargar la “partición” creada con el comando:

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

y verlo en la lista:

mount

/dev/xvda on / type ext3 (rw,grpquota,usrquota)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
glusterfs#/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse (rw,allow_other,default_permissions,max_read=131072)

Para que el proceso sea automático:

nano /etc/fstab

se añade la siguiente línea:

/etc/glusterfs/glusterfs.vol  /mnt/glusterfs  glusterfs  defaults  0  0
Una primera prueba es crear dos archivos en el cliente y mirar que pasa en el servidor:
touch /mnt/glusterfs/file1
touch /mnt/glusterfs/file2
Servidor B
ls –l /home/data

total 0
-rw-r--r-- 1 root root 0 Nov  4 18:41 file1
-rw-r--r-- 1 root root 0 Nov  4 18:41 file2

De la misma forma podemos crear enlaces simbólicos a los archivos de configuración de Asterisk y compartirlos entre los dos servidores.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "GlusterFS - Sistema de alta disponibilidad de datos" Suscribirse a VozToVoice - Todos los comentarios