GNU/Linux >> Tutoriales Linux >  >> Debian

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

Este tutorial muestra cómo configurar un servidor de almacenamiento independiente en Debian Squeeze. 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)
  • cliente1.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 por si los nombres de host se pueden resolver o no).

2 Configuración del servidor GlusterFS

servidor1.ejemplo.com:

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

apt-get install glusterfs-server

El comando

glusterfs --version

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

[email protected]:~# glusterfs --version
glusterfs 3.0.5 compilado el 13 de julio de 2010 16:44:21
Revisión del repositorio:v3.0.5
Copyright (c) 2006-2009 Gluster Inc.
GlusterFS viene SIN GARANTÍA EN ABSOLUTO.
Usted puede redistribuir copias de GlusterFS bajo los términos de la Licencia Pública General GNU.
[ correo electrónico protegido]:~#

A continuación, creamos algunos directorios:

mkdir /data/
mkdir /data/export
mkdir /data/export-ns

Ahora creamos el archivo de configuración del servidor GlusterFS /etc/glusterfs/glusterfsd.vol (hacemos una copia de seguridad del archivo original /etc/glusterfs/glusterfsd.vol primero) que define qué directorio se exportará (/data/export) y qué el cliente puede conectarse (192.168.0.101 =client1.example.com):

cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig
cat /dev/null> /etc/glusterfs/glusterfsd.vol
vi /etc/glusterfs/glusterfsd.vol

127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1
192.168.0.101   client1.example.com     client1

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

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).

Luego iniciamos el servidor GlusterFS:

/etc/init.d/glusterfs-server start

3 Configuración del cliente GlusterFS

cliente1.ejemplo.com:

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

apt-get install glusterfs-client

Luego creamos el siguiente directorio:

mkdir /mnt/glusterfs

A continuación, creamos el archivo /etc/glusterfs/glusterfs.vol (primero hacemos una copia de seguridad del archivo /etc/glusterfs/glusterfs.vol original):

cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null> /etc/glusterfs/glusterfs.vol
vi /etc/glusterfs/glusterfs.vol

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

volume locks
  type features/locks
  option mandatory-locks on
  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.0.101 # Edit and add list of allowed clients comma separated IP addrs(names) here
  subvolumes brick
end-volume

¡Asegúrese de utilizar el nombre de host del servidor o la dirección IP correctos en la opción de línea de host remoto!

¡Eso es todo! Ahora podemos montar el sistema de archivos GlusterFS en /mnt/glusterfs con uno de los siguientes dos comandos:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

o

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

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

mount

[email protected]:~# mount
/dev/sda1 en / escriba ext3 (rw,errors=remount-ro)
tmpfs en /lib/init/rw escriba tmpfs (rw,nosuid,mode=0755)
proc en /proc tipo proc (rw,noexec,nosuid,nodev)
sysfs en /sys tipo sysfs (rw,noexec,nosuid,nodev)
udev en /dev tipo tmpfs (rw,mode=0755)
tmpfs en /dev/shm escriba tmpfs (rw,nosuid,nodev)
devpts en /dev/pts escriba devpts (rw,noexec,nosuid,gid=5,mode =620)
fusectl en /sys/fs/fuse/conexiones escriba fusectl (rw)
/etc/glusterfs/glusterfs.vol en /mnt/glusterfs escriba fuse.glusterfs (rw,allow_other,default_permissions, max_read=131072)
[correo electrónico protegido]:~#

... y...

df -h

[correo electrónico protegido]:~#df -h
Tamaño del sistema de archivos utilizado disponible%montado en
/dev/sda1 29g 778m 27g 3%/
tmpfs 249m 0 249m 0%/lib/init /RW
UDEV 244M 100K 244M 1%/dev
TMPFS 249M 0 249M 0%/dev/shm
/etc/Glusterfs/Glusterfs.vol
29G 1.2G 27G 5% /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  
volume remote
  type protocol/client
  option transport-type tcp
  option remote-host server1.example.com # can be IP or hostname
  option remote-subvolume brick
end-volume

volume writebehind
  type performance/write-behind
  option window-size 4MB
  subvolumes remote
end-volume

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

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

Si modificar /etc/fstab no ayuda, deshaga su cambio a /etc/fstab y agregue esta línea a /etc/rc.local en su lugar (antes de la línea de salida 0):

vi /etc/rc.local
[...]
/etc/glusterfs/glusterfs.vol  /mnt/glusterfs  glusterfs  defaults,_netdev  0  0

Esto asegura que el recurso compartido se monte después de que la red esté activa.

4 Enlaces

  • GlusterFS:http://www.gluster.org/
  • Debian:http://www.debian.org/

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

  2. Almacenamiento distribuido en cuatro nodos de almacenamiento con GlusterFS en Debian Lenny

  3. Almacenamiento replicado distribuido en cuatro nodos de almacenamiento con GlusterFS en Debian Lenny

  4. Distribución de cuatro nodos de almacenamiento con GlusterFS en Debian Lenny

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

Almacenamiento de alta disponibilidad con GlusterFS en Debian 8:espejo en dos servidores de almacenamiento

Almacenamiento de alta disponibilidad con GlusterFS en Ubuntu 18.04 LTS

Instale WordPress 5 con Apache en Debian 9

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

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

Configuración inicial del servidor con Debian 11

    [...]
    /bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs
    [...]