Introducción a GlusterFS (sistema de archivos) e instalación en RHEL/CentOS y Fedora

Introducción a GlusterFS (sistema de archivos) e instalación en RHEL/CentOS y Fedora

Vivimos en un mundo donde los datos crecen de manera impredecible y es nuestra necesidad de almacenar estos datos, ya sean estructurados o no, de manera eficiente. Los sistemas informáticos distribuidos ofrecen una amplia gama de ventajas sobre los sistemas informáticos centralizados. Aquí los datos se almacenan de forma distribuida con varios nodos como servidores.

 GlusterFS Storage  GlusterFS Storage Almacenamiento GlusterFS

El concepto de servidor de metadatos es ya no es necesario en un sistema de archivos distribuido. En sistemas de archivos distribuidos, ofrece un punto de vista común de todos los archivos separados entre diferentes servidores. Se accede a los archivos/directorios en estos servidores de almacenamiento de manera normal.

Por ejemplo, los permisos para archivos/directorios se pueden configurar como en el modelo de permisos del sistema habitual, es decir, el propietario, el grupo y otros. El acceso al sistema de archivos depende básicamente de cómo esté diseñado el protocolo en particular para que funcione en el mismo.

¿Qué es GlusterFS?

GlusterFS. es un sistema de archivos definido para ser utilizado en el espacio de usuario, es decir, Sistema de archivos en el espacio de usuario ( FUSE. . Es un sistema de archivos basado en software que cuenta con su propia característica de flexibilidad.

Mire la siguiente figura que representa esquemáticamente la posición de GlusterFS en un modelo jerárquico. Por defecto, el protocolo TCP será utilizado por GlusterFS.

 GlusterFS Design  GlusterFS Design GlusterFS Design Ventajas para GlusterFS

  1. Innovación. elimina los metadatos y puede mejorar drásticamente el rendimiento. mance que nos ayudará a unificar datos y objetos.
  2. Elasticidad. Adaptado al crecimiento y reducción del tamaño de los datos.
  3. Escalar linealmente. tiene disponibilidad de petabytes y más.
  4. Simplicidad. es fácil de administrar e independiente del kernel mientras se ejecuta en el espacio del usuario.

¿Qué hace que Gluster sea sobresaliente entre otros sistemas de archivos distribuidos?

  1. Se puede vender. la ausencia de un servidor de metadatos proporciona un sistema de archivos más rápido.
  2. Asequible. se implementa en hardware básico.
  3. Flexible. como dije anteriormente, GlusterFS es un sistema de archivos de software únicamente. Aquí los datos se almacenan en sistemas de archivos nativos como ext4, xfs, etc.
  4. Código abierto. actualmente GlusterFS es mantenido por Red Hat Inc, una empresa de código abierto de mil millones de dólares, como parte de Red Hat Storage.

Conceptos de almacenamiento en GlusterFS

  1. Bloque. el bloque es básicamente cualquier directorio que debe compartirse entre el grupo de almacenamiento de confianza.
  2. Trusted Storage Pool. es una colección de estos archivos/directorios compartidos, que se basan en el protocolo diseñado.
  3. Block Storage. Son dispositivos a través de los cuales los datos se mueven a través de sistemas en forma de bloques.
  4. Clúster. En Red Hat Storage, tanto el grupo de almacenamiento de confianza como el clúster tienen el mismo significado de colaboración de servidores de almacenamiento basados ​​en un protocolo definido.
  5. Sistema de archivos distribuido. un sistema de archivos en el que los datos se distribuyen en diferentes nodos donde los usuarios pueden acceder al archivo sin saber ala la ubicación real del archivo. El usuario no experimenta la sensación del acceso remoto.
  6. FUSE. es un módulo de kernel cargable que permite a los usuarios crear sistemas de archivos por encima del kernel sin involucrar ninguno de los códigos del kernel.
  7. glusterd. glusterd es el demonio de administración de GlusterFS, que es la columna vertebral del sistema de archivos que se ejecutará durante todo el tiempo siempre que los servidores estén en estado activo.
  8. POSIX. Interfaz de sistema operativo portátil (POSIX) es la familia de estándares definidos por IEEE como una solución a la compatibilidad entre variantes de Unix en forma de Interfaz programable de aplicación (API).
  9. RAID. la matriz redundante de discos independientes (RAID) es una tecnología que brinda una mayor confiabilidad de almacenamiento a través de la redundancia.
  10. Subvolumen. Un bloque después de haber sido procesado por al menos un traductor.
  11. Traductor. un traductor es ese fragmento de código que realiza las acciones básicas iniciadas por el usuario desde el punto de montaje. Conecta uno o más subvolúmenes.
  12. Volumen. un volumen es una colección lógica de ladrillos. Todas las operaciones se basan en los diferentes tipos de volúmenes creados por el usuario.

Diferentes tipos de volúmenes freestar.config.enabled_slots.push (LocationName: “tecmint_incontent”, slotId: “tecmint_incontent”) ;

También se permiten representaciones de diferentes tipos de volúmenes y combinaciones entre estos tipos de volúmenes básicos, como se muestra a continuación.

 Distributed Volume  Volumen distribuido Volumen distribuido  Volumen replicado  Volumen replicado Volumen replicado  Striped Volume  Volumen rayado Volumen distribuido en bandas Volumen replicado distribuido

Representación de un volumen replicado distribuido.

 Volumen replicado distribuido  Volumen replicado distribuido Volumen replicado distribuido

Instalación de GlusterFS en RHEL/CentOS y Fedora

En este artículo, instalaremos y configuraremos GlusterFS por primera vez me por alta disponibilidad de almacenamiento. Para esto, estamos tomando dos servidores para crear volúmenes y replicar datos entre ellos.

Paso: 1 Tenga al menos dos nodos

  1. Instale CentOS 6.5. (o cualquier otro OS) en dos nodos.
  2. Establezca nombres de host llamados “ servidor1. y “ servidor2. .
  3. Una conexión de red en funcionamiento.
  4. Disco de almacenamiento en ambos nodos llamado “/data/brick. .

Paso 2: Habilite EPEL y el repositorio GlusterFS

Antes de instalar GlusterFS en ambos servidores, necesitamos habilitar los repositorios EPEL. y GlusterFS. para satisfacer las dependencias externas. Utilice el siguiente enlace para instalar y habilitar el repositorio epel en ambos sistemas.

  1. Cómo habilitar el repositorio EPEL en RHEL/CentOS

A continuación, necesitamos Habilite el repositorio de GlusterFs en ambos servidores.

# wget-P/etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo Paso 3: Instalación de GlusterFS

Instale el software en ambos servidores.

# yum install glusterfs-server

Inicie el demonio de administración de GlusterFS.

# service glusterd start

Ahora verifique el estado del demonio.

# service glusterd status Salida de muestra service glusterd start service glusterd status glusterd.service-LSB: servidor glusterfs Cargado: cargado (/etc/rc.d/init.d/glusterd) Activo: activo (en ejecución) desde el lunes 13 de agosto de 2012 13: 02:11-0700; Hace 2s Proceso: 19254 ExecStart =/etc/rc.d/init.d/glusterd start (código = salido, estado = 0/SUCCESS) CGroup: name = systemd:/system/glusterd.service ├ 19260/usr/sbin/glusterd-p/run/glusterd.pid ├ 19304/usr/sbin/glusterfsd–xlator-option georep-server.listen-port = 24009-s localhost … └ 19309/usr/sbin/glusterfs-f/var/lib/glusterd/nfs/nfs-server.vol-p/var/lib/glusterd/… Paso 4: Configure SELinux e iptables

Abra ‘/etc/sysconfig/selinux. y cambie SELinux a modo “ permisivo. o “ desactivado. en ambos servidores. Guarde y cierre el archivo.

# Este archivo controla el estado de SELinux en el sistema. # SELINUX = puede tomar uno de estos tres valores: # Enforcing-Se aplica la política de seguridad de SELinux. # permisivo: SELinux imprime advertencias en lugar de hacer cumplir. # disabled: no se carga ninguna política de SELinux. SELINUX = disabled. # SELINUXTYPE = puede tomar uno de estos dos valores: # target-Los procesos específicos están protegidos, # mls-Protección de seguridad multinivel. SELINUXTYPE = target

A continuación, descargue las iptables en ambos nodos o necesite permitir el acceso al otro nodo a través de iptables.

# iptables-F Paso 5: Configure el grupo de confianza

Ejecute el siguiente comando en ‘ Server1. ‘.

gluster peer probe server2

Ejecute el siguiente comando en’ Server2. ‘.

gluster peer probe server1

Nota. una vez que se haya conectado este grupo, solo los usuarios de confianza pueden probar nuevos servidores en este grupo.

Paso 6: configurar un volumen GlusterFS

en ambos servidor1. y servidor2.

# mkdir/data/brick/gv0

Cree un volumen en cualquier servidor e inicie el volumen. Aquí, he tomado ‘ Server1. .

# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0 # gluster volume start gv0

A continuación, confirme el estado del volumen.

# gluster volume info

Nota. si el volumen no se inicia, los mensajes de error están registrados en ‘/var/log/glusterfs. en uno o ambos servidores.

Paso 7: Verifique el volumen de GlusterFS

Monte el volumen en un directorio en ‘/mnt. ‘.

# mount-t glusterfs server1:/gv0/mnt

Ahora puede crear, editar archivos en el punto de montaje como una vista única del sistema de archivos.

Funciones de GlusterFS

  1. Autocuración. si alguno de los ladrillos de un volumen replicado está inactivo y los usuarios modifican los archivos dentro del otro ladrillo, la-heal daemon entrará en acción tan pronto como el ladrillo esté activo la próxima vez y las transacciones ocurridas durante el tiempo de inactividad se sincronizarán en consecuencia.
  2. Reequilibrar. si agregamos un nuevo bloque a un volumen existente, donde anteriormente residía una gran cantidad de datos, podemos realizar una operación de reequilibrio para distribuir los datos entre todos los bloques, incluido el bloque recién agregado.
  3. Geo-replicación. proporciona copias de seguridad de los datos para la recuperación ante desastres. Aquí viene el concepto de volúmenes maestro y esclavo. De modo que si el maestro está inactivo, se puede acceder a todos los datos a través del esclavo. Esta función se utiliza para sincronizar datos entre servidores separados geográficamente. La inicialización de una sesión de replicación geográfica requiere una serie de comandos gluster.

Aquí está la siguiente captura de pantalla que muestra el módulo de replicación geográfica.