Cómo configurar DRBD para replicar el almacenamiento en dos servidores CentOS 7

Cómo configurar DRBD para replicar el almacenamiento en dos servidores CentOS 7

El DRBD (representa Dispositivo de bloque replicado distribuido) es una solución de almacenamiento replicada distribuida, flexible y versátil para Linux. Refleja el contenido de dispositivos de bloque como discos duros, particiones, volúmenes lógicos, etc. entre servidores. Implica una copia de datos en dos dispositivos de almacenamiento, de modo que si uno falla, los datos del otro se pueden usar.

Puede pensar en ello como una configuración de red RAID 1 con los discos reflejados en los servidores. Sin embargo, opera de una manera muy diferente desde RAID e incluso Red Raid.

Originalmente, DRBD se utilizó principalmente en grupos de computadora de alta disponibilidad (HA), sin embargo, comenzando con la versión 9, se puede usar para implementar soluciones de almacenamiento en la nube.

En este artículo, mostraremos cómo instalar DRBD en CentOS y demostraremos brevemente cómo usarlo para replicar el almacenamiento (partición) en dos servidores. Este es el artículo perfecto para comenzar con el uso de DRBD en Linux.

Entorno de prueba

Para el propósito de este artículo, estamos utilizando dos nodos clúster para esta configuración.

  • Nodo1: 192.168.56.101 - Tecmint.tecmenta.lan
  • Nodo2: 192.168.56.102 - servidor1.tecmenta.lan

Paso 1: Instalación de paquetes DRBD

DRBD se implementa como un módulo de kernel de Linux. Constituye precisamente un controlador para un dispositivo de bloque virtual, por lo que se establece justo cerca de la parte inferior de la pila de E/S del sistema.

DRBD se puede instalar desde el Elrepo o Epel repositorios. Comencemos por importar la clave de firma de paquetes Elrepo y habilitemos el repositorio como se muestra en ambos nodos.

# rpm --import https: // www.Elrepo.org/rpm-gpg-key-elrepo.org # rpm -uvh http: // www.Elrepo.org/Elrepo-Release-7.0-3.El7.Elrepo.noarch.rpm 

Luego podemos instalar el módulo DRBD Kernel y las utilidades en ambos nodos ejecutando:

# yum instalación -y kmod-drbd84 DRBD84-UTILS 

Si usted tiene Selinux habilitado, debe modificar las políticas para eximir procesos DRBD de Selinux Control.

# Semanage Permisive -A DRBD_T 

Además, si su sistema tiene un firewall habilitado (firewalld), debe agregar el DRBD puerto 7789 en el firewall para permitir la sincronización de datos entre los dos nodos.

Ejecute estos comandos en el primer nodo:

# firewall-cmd --Permanent --add-rich-rule = 'regla familiar = "ipv4" dirección de origen = "192.168.56.102 "Port Port =" 7789 "Protocol =" TCP "Aceptar ' # Firewall-CMD-Reload 

Luego ejecute estos comandos en el segundo nodo:

# firewall-cmd --Permanent --add-rich-rule = 'regla familiar = "ipv4" dirección de origen = "192.168.56.101 "Port Port =" 7789 "Protocol =" TCP "Aceptar ' # Firewall-CMD-Reload 

Paso 2: Preparación de almacenamiento de nivel inferior

Ahora que tenemos DRBD Instalado en los dos nodos de clúster, debemos preparar un área de almacenamiento de tamaño aproximadamente de manera idéntica en ambos nodos. Esta puede ser una partición del disco duro (o un disco duro físico completo), un dispositivo de reducción de software, un volumen lógico LVM o un tipo de dispositivo de bloque que se encuentra en su sistema.

Para el propósito de este artículo, crearemos un dispositivo de bloque de bloque ficticio de tamaño 2GB utilizando el Comando DD.

 # dd if =/dev/cero of =/dev/sdb1 bs = 2024k Count = 1024 

Asumiremos que esta es una partición no utilizada (/dev/sdb1) en un segundo dispositivo de bloque (/dev/sdb) adjunto a ambos nodos.

Paso 3: Configuración de DRBD

El archivo de configuración principal de DRBD se encuentra en /etc/drbd.confusión y se pueden encontrar archivos de configuración adicionales en el /etc/drbd.d directorio.

Para replicar el almacenamiento, necesitamos agregar las configuraciones necesarias en el /etc/drbd.d/global_common.confusión Archivo que contiene las secciones globales y comunes de la configuración DRBD y podemos definir recursos en .resonancia archivos.

Hagamos una copia de seguridad del archivo original en ambos nodos, luego abra un nuevo archivo para editar (use un editor de texto de su gusto).

# MV /etc /DRBD.d/global_common.conf /etc /drbd.d/global_common.confusión.orig # vim /etc /drbd.d/global_common.confusión 

Agregue las siguientes líneas en ambos archivos:

Global Conteo de uso Sí;  común net protocolo c;  

Guarde el archivo y luego cierre el editor.

Vamos brevemente más luz en la línea Protocolo C. DRBD admite tres modos de replicación distintos (por lo tanto, tres grados de sincronicidad de replicación) que son:

  • Protocolo A: Protocolo de replicación asincrónica; Se usa con mayor frecuencia en escenarios de replicación de larga distancia.
  • Protocolo B: Protocolo de replicación semisíncrona, también conocida como protocolo sincrónico de memoria.
  • Protocolo C: Comúnmente usado para nodos en redes a corto plazo; Es, con mucho, el protocolo de replicación más utilizado en las configuraciones DRBD.

Importante: La elección del protocolo de replicación influye en dos factores de su implementación: proteccion y latencia. Y rendimiento, Por el contrario, es en gran medida independiente del protocolo de replicación seleccionado.

Paso 4: Agregar un recurso

A recurso es el término colectivo que se refiere a todos los aspectos de un conjunto de datos replicado en particular. Definiremos nuestro recurso en un archivo llamado /etc/drbd.d/prueba.resonancia.

Agregue el siguiente contenido al archivo, en ambos nodos (recuerde reemplazar las variables en el contenido con los valores reales para su entorno).

Tome nota del nombre de host, Necesitamos especificar el nombre de host de red que se puede obtener ejecutando el comando desanimado -n.

Prueba de recursos en TecMint.tecmenta.lan dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; dirección 192.168.56.101: 7789;  en el servidor1.tecmenta.lan dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; dirección 192.168.56.102: 7789;  

dónde:

  • en el nombre de host: La sección en los estados que alojan las declaraciones de configuración adjuntas se aplican a.
  • prueba: es el nombre del nuevo recurso.
  • dispositivo /dev /Drbd0: Especifica el nuevo dispositivo de bloque virtual administrado por DRBD.
  • disco /dev /sdb1: Es la partición del dispositivo de bloque, que es el dispositivo de respaldo para el dispositivo DRBD.
  • meta-disco: Define dónde DRBD almacena sus metadatos. Uso de medios internos que DRBD almacena sus meta datos en el mismo dispositivo físico de nivel inferior que los datos de producción reales.
  • DIRECCIÓN: Especifica la dirección IP y el número de puerto del nodo respectivo.

También tenga en cuenta que si las opciones tienen valores iguales en ambos hosts, puede especificarlos directamente en la sección de recursos.

Por ejemplo, la configuración anterior se puede reestructurar a:

prueba de recursos dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; en Tecmint.tecmenta.lan dirección 192.168.56.101: 7789;  en el servidor1.tecmenta.lan dirección 192.168.56.102: 7789;  

Paso 5: Inicializar y habilitar el recurso

Interactuar con DRBD, Utilizaremos las siguientes herramientas de administración que se comunican con el módulo del kernel para configurar y administrar recursos DRBD:

  • drbdadm: Una herramienta de administración de alto nivel del DRBD.
  • drbdsetup: Una herramienta de administración de nivel inferior para adjuntar dispositivos DRBD con sus dispositivos de bloque de respaldo, para configurar pares de dispositivos DRBD para reflejar sus dispositivos de bloque de respaldo e inspeccionar la configuración de la ejecución de dispositivos DRBD.
  • Drbdmeta: ¿Es la herramienta de gestión de meta datos?.

Después de agregar todas las configuraciones de recursos iniciales, debemos mencionar el recurso en ambos nodos.

# DrbDadm Create-MD Test 
Inicializar el almacenamiento de meta datos

A continuación, debemos habilitar el recurso, que adjuntará el recurso con su dispositivo de respaldo, luego establece parámetros de replicación y conecta el recurso a su par:

# prueba de drbdadm up 

Ahora, si ejecuta el comando LSBLK, notará que el dispositivo DRBD/volumen DRBD0 está asociado con el dispositivo de respaldo /dev/sdb1:

# lsblk 
Lista de dispositivos de bloque

Para deshabilitar el recurso, ejecute:

# Prueba de DrbDadm Down 

Para verificar el estado del recurso, ejecute el siguiente comando (tenga en cuenta que el Inconsistente/inconsistente Se espera el estado del disco en este punto):

# Prueba de estado DRBDADM o # DrbdSetup Test Status Test --verbose -Estadística # para un estado más detallado 
Verifique el estado de los recursos en los nodos

Paso 6: Establezca el recurso primario/fuente de sincronización inicial del dispositivo

En este punto, DRBD ahora está listo para la operación. Ahora debemos decirlo qué nodo debe usarse como fuente de la sincronización inicial del dispositivo.

Ejecute el siguiente comando en un solo nodo para iniciar la sincronización completa inicial:

# drbDadm primario -prueba de fuerza # prueba de estado DRBDADM 
Establecer el nodo primario para el dispositivo inicial

Una vez que se completa la sincronización, el estado de ambos discos debe ser A hoy.

Paso 7: Prueba de configuración de DRBD

Finalmente, necesitamos probar si el dispositivo DRBD funcionará bien para el almacenamiento de datos replicado. Recuerde, utilizamos un volumen de disco vacío, por lo tanto, debemos crear un sistema de archivos en el dispositivo y montarlo, para probarlo si podemos usarlo para el almacenamiento de datos replicado.

Podemos crear un sistema de archivos en el dispositivo con el siguiente comando, en el nodo donde comenzamos la sincronización completa inicial (que tiene el recurso con el rol principal):

# mkfs -t ext4 /dev /Drbd0 
Realizar el sistema de archivos en el volumen DRBD

Luego montelo como se muestra (puede darle al punto de montaje un nombre apropiado):

# mkdir -p/mnt/drdb_pri/ # Mount/dev/drbd0/mnt/drdb_pri/ 

Ahora copie o cree algunos archivos en el punto de montaje anterior y haga una lista larga usando el comando LS:

# CD/MNT/DRDB_PRI/ # LS -L 
Lista del contenido del volumen primario DRBD

Próximo, desmontar El dispositivo (asegúrese de que el montaje no esté abierto, cambie el directorio después de desmontarse para evitar cualquier error) y cambie el papel del nodo desde primario a secundario:

# Umount/Mnt/Drdb_pri/ # CD # DrbDadm Prueba secundaria 

En el otro nodo (que tiene el recurso con un rol secundario), hágalo primario, luego monte el dispositivo y realice una larga lista del punto de montaje. Si la configuración funciona bien, todos los archivos almacenados en el volumen deberían estar allí:

# DrbDadm Prueba primaria # mkdir -p/mnt/drdb_sec/ # Mount/dev/drbd0/mnt/drdb_sec/ # cd/mnt/drdb_sec/ # ls -l -l 
Pruebe la configuración de DRBD trabajando en el nodo secundario

Para obtener más información, consulte las páginas del hombre de las herramientas de administración del espacio de usuario:

# hombre drbdadm # hombre drbdsetup # hombre drbdmeta 

Referencia: La guía del usuario de DRBD.

Resumen

DRBD es extremadamente flexible y versátil, lo que la convierte en una solución de replicación de almacenamiento adecuada para agregar HA a casi cualquier aplicación. En este artículo, hemos mostrado cómo instalar DRBD en Centos 7 y demostró brevemente cómo usarlo para replicar el almacenamiento. Siéntase libre de compartir sus pensamientos con nosotros a través del formulario de comentarios a continuación.