GNU/Linux >> Tutoriales Linux >  >> Cent OS

Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.2.x en CentOS 6.3

Este tutorial muestra cómo configurar un servidor de almacenamiento independiente en CentOs 6.3. En lugar de NFS, usaré GlusterFS aquí. El sistema cliente podrá acceder al almacenamiento como si fuera un sistema de archivos local. GlusterFS es un sistema de archivos en clúster capaz de escalar a varios peta-bytes. Agrega varios bloques de almacenamiento sobre la interconexión Infiniband RDMA o TCP/IP en un gran sistema de archivos de red paralelo. Los bloques de almacenamiento se pueden fabricar con cualquier hardware básico, como servidores x86_64 con SATA-II RAID e Infiniband HBA.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

En este tutorial utilizo dos sistemas, un servidor y un cliente:

  • servidor1.ejemplo.com:dirección IP 192.168.0.100 (servidor)
  • servidor2.ejemplo.com:dirección IP 192.168.0.101 (cliente)

Ambos sistemas deberían poder resolver el nombre de host del otro sistema. Si esto no se puede hacer a través de DNS, debe editar el archivo /etc/hosts para que tenga el siguiente aspecto en ambos sistemas:

vi /etc/hosts

(También es posible usar direcciones IP en lugar de nombres de host en la siguiente configuración. Si prefiere usar direcciones IP, no tiene que preocuparse si los nombres de host se pueden resolver o no).

2 Habilitar repositorios adicionales

servidor1/servidor2:

Primero importamos las claves GPG para paquetes de software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Luego habilitamos el repositorio EPEL6 en nuestros dos sistemas CentOS:

rpm --import https://fedoraproject.org/static/0608B895.txt

cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6- 7.noarch.rpm

yum install yum-priorities

Edite /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... y agregue la línea prioridad=10 a la sección [epel]:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1
192.168.0.101   server2.example.com     server2

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

3 Configuración del servidor GlusterFS

servidor1.ejemplo.com:

GlusterFS está disponible como paquete para EPEL, por lo que podemos instalarlo de la siguiente manera:

yum install glusterfs-server

Cree los enlaces de inicio del sistema para el demonio Gluster e inícielo:

chkconfig --levels 235 glusterd en
/etc/init.d/glusterd start

El comando

glusterfsd --version

ahora debería mostrar la versión de GlusterFS que acaba de instalar (3.2.7 en este caso):

[[email protected] ~]# glusterfsd --version
glusterfs 3.2.7 compilado el 11 de junio de 2012 13:22:28
Revisión del repositorio:git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc.
GlusterFS viene SIN GARANTÍA EN ABSOLUTO.
Puede redistribuir copias de GlusterFS bajo los términos de la Licencia Pública General GNU.
[[email protected] ~]#

Si usa un firewall, asegúrese de que los puertos TCP 111, 24007, 24008, 24009-(24009 + número de ladrillos en todos los volúmenes) estén abiertos en server1.example.com.

A continuación, creamos el recurso compartido llamado testvol en localhost (=server1) en el directorio /data (se creará si no existe):

gluster volume create testvol server1.example.com:/data

[[email protected] ~]# gluster volume create testvol server1.example.com:/data
La creación del volumen testvol se ha realizado correctamente. Inicie el volumen para acceder a los datos.
[[email protected] ~]#

Iniciar el volumen:

gluster volume start testvol

Puede verificar el estado del volumen con el comando

gluster volume info
[[email protected] ~]# gluster volume info

Nombre del volumen:testvol
Tipo:Distribuir
Estado:Iniciado
Número de ladrillos:1
Tipo de transporte:tcp
Bricks:
Brick1:servidor1. ejemplo.com:/datos
[[correo electrónico protegido] ~]#

Si te dice que el volumen se inició, todo está bien, de lo contrario, vuelve a iniciarlo.

De forma predeterminada, todos los clientes pueden conectarse al volumen. Si desea otorgar acceso únicamente a client1.example.com (=192.168.0.101), ejecute:

gluster volume set testvol auth.allow 192.168.0.101

Tenga en cuenta que es posible utilizar comodines para las direcciones IP (como 192.168.*) y que puede especificar varias direcciones IP separadas por comas (por ejemplo, 192.168.0.101,192.168.0.102).

La información del volumen ahora debería mostrar el estado actualizado:

gluster volume info
[[email protected] ~]# gluster volume info

Nombre del volumen:testvol
Tipo:Distribuir
Estado:Iniciado
Número de ladrillos:1
Tipo de transporte:tcp
Bricks:
Brick1:servidor1. ejemplo.com:/datos
Opciones reconfiguradas:
auth.allow:192.168.0.101
[[email protected] ~]#

 

4 Configuración del cliente GlusterFS

servidor2.ejemplo.com:

En el cliente, podemos instalar el cliente GlusterFS de la siguiente manera:

yum install glusterfs-client

Luego creamos el siguiente directorio:

mkdir /mnt/glusterfs

¡Eso es todo! Ahora podemos montar el sistema de archivos GlusterFS en /mnt/glusterfs con el siguiente comando:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

Ahora debería ver el nuevo recurso compartido en los resultados de...

mount

[[email protected] ~]# mount
/dev/mapper/vg_client1-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts en /dev/pts escriba devpts (rw,gid=5,mode=620)
tmpfs en /dev/shm escriba tmpfs (rw)
/dev/sda1 en /boot escriba ext4 (rw)
ninguno en /proc/sys/fs/binfmt_misc escriba binfmt_misc (rw)
sunrpc en /var/lib/nfs/rpc_pipefs escriba rpc_pipefs (rw)
server1.example.com:/testvol en /mnt/glusterfs escriba fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
[[email protected] ~]#

... y...

df -h

[[email protected] ~]# df -h
Sistema de archivos            Tamaño  Usado Avail Use% Montado en
/dev/mapper/vg_client1-LogVol00
                      9.7G  1.7G  9.5 G/
tmpfs 499m 0 499m 0%/dev/shm
/dev/sda1 504m 39m 440m 9%/boot
server1.example.com:/testvol
9.7g 1.7g 7.5g 19 19 % /mnt/glusterfs
[[correo electrónico protegido] ~]#

En lugar de montar el recurso compartido GlusterFS manualmente en el cliente, puede modificar /etc/fstab para que el recurso compartido se monte automáticamente cuando se inicie el cliente.

Abra /etc/fstab y agregue la siguiente línea:

vi /etc/fstab  
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Para probar si su /etc/fstab modificado está funcionando, reinicie el cliente:

reboot

Después del reinicio, debería encontrar el recurso compartido en las salidas de...

df -h

... y...

mount

5 Enlaces

  • GlusterFS:http://www.gluster.org/
  • Documentación de GlusterFS 3.2:http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
  • CentOS:http://www.centos.org/

Cent OS
  1. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.2.x en Ubuntu 12.10

  2. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS en Debian Lenny

  3. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.0.x en Debian Squeeze

  4. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.2.x en Debian Wheezy

  5. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS en CentOS 5.4

Cómo configurar bloques de servidor Nginx en CentOS 7

Almacenamiento de alta disponibilidad con GlusterFS en CentOS 7:espejo en dos servidores de almacenamiento

Almacenamiento de alta disponibilidad con GlusterFS en Ubuntu 18.04 LTS

Servidor independiente CentOS 6.4 Samba con tdbsam Backend

Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS en Fedora 12

Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS en Fedora 13

    [...]
    server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0