![Configuración de HTTPS con Let's Encrypt SSL Certificate para Nginx en RHEL / CentOS 7/6](/f/65669dc8dd72da561849ab03e1fa6e74.png?width=100&height=100)
El DRBD (representa Dispositivo de bloque replicado distribuido) es una solución de almacenamiento replicado 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 los datos en dos dispositivos de almacenamiento, de modo que si uno falla, se pueden utilizar los datos del otro.
Puedes pensar en ello como un configuración de red RAID 1 con los discos reflejados en los servidores. Sin embargo, funciona de forma muy diferente a RAID e incluso a RAID de red.
Originalmente, DRBD se usó principalmente en clústeres de computadoras de alta disponibilidad (HA); sin embargo, a partir de 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 a usar DRBD en Linux.
A los efectos de este artículo, estamos utilizando un clúster de dos nodos para esta configuración.
DRBD se implementa como un módulo del kernel de Linux. Constituye precisamente un controlador para un dispositivo de bloque virtual, por lo que se establece justo en la parte inferior de la pila de E / S de un sistema.
DRBD se puede instalar desde el ELRepo o EPEL repositorios. Comencemos importando la clave de firma del paquete 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 del kernel DRBD y las utilidades en ambos nodos ejecutando:
# yum install -y kmod-drbd84 drbd84-utils.
Si usted tiene SELinux habilitado, debe modificar las políticas para eximir los procesos DRBD del control de SELinux.
# semanage permissive -a drbd_t.
Además, si su sistema tiene un firewall habilitado (firewalld), debe agregar el DRBD Puerto 7789 en el cortafuegos para permitir la sincronización de datos entre los dos nodos.
Ejecute estos comandos en el primer nodo:
# firewall-cmd --permanent --add-rich-rule = 'familia de reglas = "ipv4" dirección de origen = "192.168.56.102" puerto puerto = "7789" protocolo = "tcp" aceptar' # firewall-cmd --reload.
Luego ejecute estos comandos en el segundo nodo:
# firewall-cmd --permanent --add-rich-rule = 'familia de reglas = "ipv4" dirección de origen = "192.168.56.101" puerto puerto = "7789" protocolo = "tcp" accept' # firewall-cmd --reload.
Ahora que tenemos DRBD instalado en los dos nodos del clúster, debemos preparar un área de almacenamiento de tamaño aproximadamente idéntico en ambos nodos. Puede ser una partición de disco duro (o un disco duro físico completo), un dispositivo RAID de software, un Volumen lógico LVM o cualquier otro tipo de dispositivo de bloqueo que se encuentre en su sistema.
Para el propósito de este artículo, crearemos un dispositivo de bloque ficticio de tamaño 2GB utilizando la comando dd.
# dd if = / dev / zero 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.
El archivo de configuración principal de DRBD se encuentra en /etc/drbd.conf y archivos de configuración adicionales se pueden encontrar en el /etc/drbd.d directorio.
Para replicar el almacenamiento, necesitamos agregar las configuraciones necesarias en el /etc/drbd.d/global_common.conf archivo que contiene las secciones globales y comunes de la configuración de DRBD y podemos definir recursos en .res archivos.
Hagamos una copia de seguridad del archivo original en ambos nodos, luego abra un nuevo archivo para editarlo (use un editor de texto de su agrado).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig. # vim /etc/drbd.d/global_common.conf
Agregue las siguientes líneas en ambos archivos:
global {recuento de uso sí; } común {net {protocolo C; } }
Guarde el archivo y luego cierre el editor.
Sombreemos 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:
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.
A recurso es el término colectivo que se refiere a todos los aspectos de un conjunto de datos replicados en particular. Definiremos nuestro recurso en un archivo llamado /etc/drbd.d/test.res.
Agregue el siguiente contenido al archivo, en ambos nodos (recuerde reemplazar las variables en el contenido con los valores reales para su entorno).
Toma nota del nombres de host, necesitamos especificar el nombre de host de la red que se puede obtener ejecutando el comando uname -n.
prueba de recursos {en tecmint.tecmint.lan {dispositivo / dev / drbd0; disk / dev / sdb1; meta-disco interno; dirección 192.168.56.101:7789; } en server1.tecmint.lan {dispositivo / dev / drbd0; disk / dev / sdb1; meta-disco interno; dirección 192.168.56.102:7789; } } }
donde:
También tenga en cuenta que si las opciones tienen valores iguales en ambos hosts, puede especificarlas directamente en la sección de recursos.
Por ejemplo, la configuración anterior se puede reestructurar para:
prueba de recursos {dispositivo / dev / drbd0; disk / dev / sdb1; meta-disco interno; en tecmint.tecmint.lan {dirección 192.168.56.101:7789; } en server1.tecmint.lan {dirección 192.168.56.102:7789; } }
Para interactuar con DRBD, utilizaremos las siguientes herramientas de administración que se comunican con el módulo del kernel para configurar y administrar los recursos de DRBD:
Después de agregar todas las configuraciones de recursos iniciales, debemos abrir el recurso en ambos nodos.
# prueba drbdadm create-md.
A continuación, deberíamos habilitar el recurso, que adjuntará el recurso con su dispositivo de respaldo, luego establece los parámetros de replicación y conecta el recurso a su par:
# prueba drbdadm up.
Ahora si ejecuta el comando lsblk, notará que el dispositivo / volumen DRBD drbd0 está asociado con el dispositivo de respaldo /dev/sdb1:
# lsblk.
Para deshabilitar el recurso, ejecute:
# prueba de caída de drbdadm.
Para comprobar 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 status test --verbose --statistics #para un estado más detallado
En este punto, DRBD ahora está listo para funcionar. Ahora necesitamos decirle 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:
# prueba de fuerza primaria de drbdadm. # prueba de estado drbdadm.
Una vez que se completa la sincronización, el estado de ambos discos debe ser A hoy.
Finalmente, necesitamos probar si el dispositivo DRBD funcionará bien para el almacenamiento de datos replicados. Recuerde, usamos un volumen de disco vacío, por lo tanto, debemos crear un sistema de archivos en el dispositivo y montarlo para probar si podemos usarlo para el almacenamiento de datos replicados.
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 rol principal):
# mkfs -t ext4 / dev / drbd0
Luego móntelo como se muestra (puede darle al punto de montaje un nombre apropiado):
# mkdir -p / mnt / DRDB_PRI / # montaje / dev / drbd0 / mnt / DRDB_PRI /
Ahora copie o cree algunos archivos en el punto de montaje anterior y haga una lista larga usando comando ls:
# cd / mnt / DRDB_PRI / # ls -l
Próximo, desmontar el dispositivo (asegúrese de que el soporte no esté abierto, cambie el directorio después de desmontarlo para evitar errores) y cambie la función del nodo de primario para secundario:
# umount / mnt / DRDB_PRI / # CD. # prueba secundaria drbdadm.
En el otro nodo (que tiene el recurso con una función secundaria), conviértalo en principal, luego monte el dispositivo en él y realice una lista larga del punto de montaje. Si la configuración funciona bien, todos los archivos almacenados en el volumen deberían estar allí:
# prueba primaria drbdadm. # mkdir -p / mnt / DRDB_SEC / # montaje / dev / drbd0 / mnt / DRDB_SEC / # cd / mnt / DRDB_SEC / # ls -l
Para obtener más información, consulte las páginas de manual de las herramientas de administración del espacio de usuario:
# hombre drbdadm. # hombre drbdsetup. # hombre drbdmeta.
Referencia: La guía del usuario de DRBD.
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. No dude en compartir sus pensamientos con nosotros a través del formulario de comentarios a continuación.