Glusterfs es un sistema de archivos de red escalable con capacidades de escalar a varios petabytes y manejar miles de clientes. Es un sistema de archivos distribuido y de código abierto que establece los recursos de almacenamiento en disco de varios servidores en un solo espacio de nombres. Es adecuado para tareas de uso intensivo de datos, como el almacenamiento en la nube y la transmisión de medios de datos.
En este tutorial, mostraré cómo configurar un servidor de almacenamiento de alta disponibilidad con GlusterFS en Ubuntu 18.04 LTS (Bionic Beaver). Usaremos 3 servidores ubuntu, 1 servidor como cliente y otros 2 como almacenamiento. Cada servidor de almacenamiento será un espejo del otro y los archivos se replicarán en ambos servidores de almacenamiento.
Requisitos
- 3 servidores Ubuntu 18.04
- 10.0.15.10 - gfs01
- 10.0.15.11 - gfs02
- 10.0.15.12 - cliente01
- Privilegios de raíz
¿Qué haremos?
- Preinstalación de GlusterFS
- Instalar servidor GlusterFS
- Configurar servidores GlusterFS
- Configurar cliente GlusterFS
- Prueba de replicación/duplicación
Paso 1:Preinstalación de GlusterFS
El primer paso que debemos hacer antes de instalar glusterfs en todos los servidores es configurar el archivo de hosts y agregar el repositorio GlusterFS a cada servidor.
Configurar archivo de hosts
Inicie sesión en cada servidor y obtenga el acceso raíz con el comando 'sudo su', luego edite el archivo '/etc/hosts'.
vim /etc/hosts
Pegue la configuración de hosts a continuación.
10.0.15.10 gfs01 10.0.15.11 gfs02 10.0.15.12 client01
Guardar y salir.
Ahora haga ping a cada servidor usando el nombre de host como se muestra a continuación.
ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01
Cada nombre de host se resolverá en la dirección IP de cada servidor.
Añadir repositorio GlusterFS
Instale el paquete software-properties-common en el sistema.
sudo apt install software-properties-common -y
Agregue la clave glusterfs y el repositorio ejecutando los comandos a continuación.
wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12
El comando actualizará todos los repositorios. Y ya agregamos el repositorio glusterfs a todos los sistemas.
Paso 2:instalar el servidor GlusterFS
En este paso, instalaremos el servidor glusterfs en los servidores 'gfs01' y 'gfs02'.
Instale glusterfs-server usando el comando apt.
sudo apt install glusterfs-server -y
Ahora inicie el servicio glusterd y permita que se inicie cada vez que se inicie el sistema.
sudo systemctl start glusterd
sudo systemctl enable glusterd
El servidor Glusterfs ya está funcionando en los servidores 'gfs01' y 'gfs02'.
Compruebe los servicios y la versión del software instalado.
systemctl status glusterd
glusterfsd --version
Paso 3:configurar servidores GlusterFS
Los servicios de Glusterd ahora están en funcionamiento, y el siguiente paso que haremos será configurar esos servidores creando un grupo de almacenamiento confiable y creando el volumen glusterfs distribuido.
Crear un grupo de almacenamiento de confianza
Desde el servidor 'gfs01', necesitamos agregar el servidor 'gfs02' al grupo de almacenamiento glusterfs.
Ejecute el siguiente comando.
gluster peer probe gfs02
Ahora veremos el resultado 'peer probe:success', y hemos agregado el servidor 'gfs02' al grupo de almacenamiento confiable.
Verifique el estado del grupo de almacenamiento y la lista usando los comandos a continuación.
gluster peer status
gluster pool list
Y verá que el servidor 'gfs02' está conectado al clúster de pares y está en la lista de grupos.
Configurar volumen GlusterFS distribuido
Después de crear el grupo de almacenamiento de confianza, crearemos un nuevo volumen glusterfs distribuido. Crearemos el nuevo volumen glusterfs basado en el directorio del sistema.
- Para la producción del servidor, se recomienda crear el volumen glusterfs usando una partición diferente, no usando un directorio del sistema.
Cree un nuevo directorio '/glusterfs/distributed' en cada servidor bot 'gfs01' y 'gfs02'.
mkdir -p /glusterfs/distributed
Y desde el servidor 'gfs01', cree el volumen glusterfs distribuido llamado 'vol01' con 2 réplicas 'gfs01' y 'gfs02'.
gluster volume create vol01 replica 2 transport tcp \
gfs01:/glusterfs/distributed \
gfs02:/glusterfs/distributed \
force
Ahora hemos creado el volumen distribuido 'vol01':inicie 'vol01' y verifique la información del volumen.
gluster volume start vol01
gluster volume info vol01
Y el siguiente es el resultado.
En esta etapa, creamos el volumen 'vol01' con el tipo 'Replicar' y 2 ladrillos en el servidor 'gfs01' y 'gfs02'. Todos los datos se distribuirán automáticamente a cada servidor de réplica y estamos listos para montar el volumen.
Debajo de la información del volumen 'vol01' del servidor 'gfs02'.
Paso 4:configurar el cliente GlusterFS
En este paso, montaremos el volumen glusterfs 'vol01' en el cliente de Ubuntu y debemos instalar glusterfs-client en el servidor del cliente.
Instale glusterfs-client en el sistema Ubuntu con el comando apt.
sudo apt install glusterfs-client -y
Ahora cree un nuevo directorio '/mnt/glusterfs' cuando se complete la instalación de glusterfs-client.
mkdir -p /mnt/glusterfs
Y monte el volumen glusterfs distribuido 'vol01' en el directorio '/mnt/glusterfs'.
sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs
Ahora compruebe el volumen disponible en el sistema.
df -h /mnt/glusterfs
Y obtendremos el volumen glusterfs montado en el directorio '/mnt/glusterfs'.
Adicional:
Para montar glusterfs de forma permanente en el sistema cliente de Ubuntu, podemos agregar el volumen a '/etc/fstab'.
Edite el archivo de configuración '/etc/fstab'.
vim /etc/fstab
Y pegue la configuración a continuación.
gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0
Guardar y salir.
Ahora reinicie el servidor y cuando esté en línea, obtendremos el volumen glusterfs 'vol01' montado automáticamente a través de fstab.
Paso 5:prueba de replicación/duplicación
En este paso, probaremos la duplicación de datos en cada nodo del servidor.
Monte el volumen glusterfs 'vol01' en cada servidor glusterfs.
En el servidor 'gfs01'.
mount -t glusterfs gfs01:/vol01 /mnt
En el servidor 'gfs02'.
mount -t glusterfs gfs02:/vol01 /mnt
Ahora regrese al cliente de Ubuntu y vaya al directorio '/mnt/glusterfs'.
cd /mnt/glusterfs
Cree algunos archivos usando el comando táctil.
touch file01 file02 file03
Ahora verifique en cada servidor, 'gfs01' y 'gfs02', y obtendremos todos los archivos que hemos creado desde la máquina cliente.
cd /mnt/
ls -lah
Aquí está el resultado del servidor 'gfs01'.
Y aquí está el resultado del servidor 'gfs02'.
Todos los archivos que creamos desde la máquina cliente se distribuirán a todos los servidores de nodos de volumen de glusterfs.