LinuxParty
DRBD (Cuyo significado es Distributed & Replicated Block Devices ) es una solución de almacenamiento distribuido, flexible y versátil replicado para Linux. Refleja el contenido de dispositivos de bloque como discos duros, particiones, volúmenes lógicos, etc. entre servidores. Se trata de una copia de datos en dos dispositivos de almacenamiento, de modo que si uno falla, los datos en el otro pueden ser utilizados.
Puede pensarlo como una configuración RAID 1 de red con los discos reflejados en los servidores. Sin embargo, funciona de una manera muy diferente a yb RAID e incluso RAID de red.
Originalmente, DRBD se usaba principalmente en grupos 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.
Entorno de prueba
Para los fines de este artículo, estamos utilizando dos nodos de clúster para esta configuración.
- Nodo1 : 192.168.56.101 - linux-party.linux-party.lan
- Nodo2 : 192.168.56.102 - server1.linux-party.lan
Paso 1: Instalación de paquetes DRBD
DRBD se implementa como un módulo de kernel de Linux. Precisamente constituye un controlador para un dispositivo de bloque virtual, por lo que se establece cerca de la parte inferior de la pila de E / S de un sistema.
DRBD se puede instalar desde los repositorios ELRepo o EPEL . 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 núcleo DRBD y las utilidades en ambos nodos ejecutando:
# yum install -y kmod-drbd84 drbd84-utils
Si tiene habilitado SELinux, debe modificar las políticas para eximir los procesos DRBD del control SELinux.
# semanage permissive -a drbd_t
Además, si su sistema tiene un firewall habilitado (firewalld), debe agregar el puerto DRBD 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='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept' # firewall-cmd --reload
Luego ejecute estos comandos en el segundo nodo:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept' # firewall-cmd --reload
Paso 2: preparación del almacenamiento de nivel inferior
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 del 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 bloque que se encuentre en su sistema.
Para el propósito de este artículo, crearemos un dispositivo de bloque ficticio de tamaño 2GB usando el 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 ) conectado a ambos nodos.
Paso 3: Configurar DRBD
El archivo de configuración principal de DRBD se encuentra en /etc/drbd.conf y se pueden encontrar archivos de configuración adicionales en el directorio /etc/drbd.d .
Para replicar el almacenamiento, necesitamos agregar las configuraciones necesarias en el archivo /etc/drbd.d/global_common.conf que contiene las secciones globales y comunes de la configuración DRBD y podemos definir recursos en archivos .res .
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 { usage-count yes; } common { net { protocol C; } }
Guarde el archivo y luego cierre el editor.
Sombra brevemente de dejar entrar más luz en la línea de protocolo C . DRBD admite tres modos de replicación distintos (por lo tanto, tres grados de sincronía de replicación) que son:
- protocolo A : protocolo de replicación asincrónica; se usa con mayor frecuencia en escenarios de replicación a larga distancia.
- protocolo B : protocolo de replicación semisíncrona, también conocido como protocolo síncrono de memoria.
- protocolo C : comúnmente utilizado para nodos en redes de corta distancia; 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: protección y latencia . Y el rendimiento , por el contrario, es en gran medida independiente del protocolo de replicación seleccionado.
Paso 4: Agregar un recurso
Un 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).
Tome nota de los hostnames (nombres de host) , necesitamos especificar el nombre de host de la red que se puede obtener ejecutando el comando uname -n .
resource test { on linux-party.linux-party.lan { device /dev/drbd0; disk /dev/sdb1; meta-disk internal; address 192.168.56.101:7789; } on server1.linux-party.lan { device /dev/drbd0; disk /dev/sdb1; meta-disk internal; address 192.168.56.102:7789; } } }
dónde:
- on hostname : la sección on indica a qué host se aplican las instrucciones de configuración adjuntas.
- test : es el nombre del nuevo recurso.
- device /dev/drbd0 : especifica el nuevo dispositivo de bloque virtual administrado por DRBD.
- disk /dev/sdb1 : es la partición del dispositivo de bloque que es el dispositivo de respaldo para el dispositivo DRBD.
- meta-disk : define dónde DRBD almacena sus metadatos. El uso interno significa que DRBD almacena sus metadatos en el mismo dispositivo físico de nivel inferior que los datos de producción reales.
- address : 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 para:
resource test { device /dev/drbd0; disk /dev/sdb1; meta-disk internal; on linux-party.linux-party.lan { address 192.168.56.101:7789; } on server1.linux-party.lan { address 192.168.56.102:7789; } }
Paso 5: Inicializar y habilitar recursos
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:
- drbdadm : una herramienta de administración de alto nivel de DRBD.
- drbdsetup : una herramienta de administración de nivel inferior para conectar dispositivos DRBD con sus dispositivos de bloque de respaldo, configurar pares de dispositivos DRBD para reflejar sus dispositivos de bloque de respaldo e inspeccionar la configuración de dispositivos DRBD en ejecución.
- Drbdmeta : es la herramienta de gestión de metadatos.
Después de agregar todas las configuraciones iniciales de recursos, debemos mostrar el recurso en ambos nodos.
# drbdadm create-md test
A continuación, debemos habilitar el recurso , que adjuntará el recurso con su dispositivo de respaldo, luego establecerá los parámetros de replicación y conectará el recurso a su par:
# drbdadm up test
Ahora, si ejecuta el comando lsblk , notará que el dispositivo DRBD / volumen drbd0 está asociado con el dispositivo de respaldo /dev/sdb1 :
# lsblk
Para deshabilitar el recurso, ejecute:
# drbdadm down test
Para verificar el estado del recurso, ejecute el siguiente comando (tenga en cuenta que en este punto se espera que el estado del disco sea Inconsistente ):
# drbdadm status test O # drbdsetup status test --verbose --statistics #para un estado más detallado
Paso 6: Establecer el recurso primario / fuente de sincronización inicial del dispositivo
En esta etapa, DRBD ya 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:
# drbdadm primary --force test # drbdadm status test
Una vez que se completa la sincronización, el estado de ambos discos debe ser UpToDate .
Paso 7: Prueba de la configuración de DRBD
Finalmente, necesitamos probar si el dispositivo DRBD funcionará bien para el almacenamiento de datos replicados. Recuerde, utilizamos 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 iniciamos la sincronización completa inicial (que tiene el recurso con función 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/ # 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
A continuación, desmonte 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 a secundario :
# umount /mnt/DRDB_PRI/ # cd # drbdadm secondary test
En el otro nodo (que tiene el recurso con una función secundaria), hágalo primario, 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í:
# drbdadm primary test # mkdir -p /mnt/DRDB_SEC/ # mount /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 de espacio de usuario:
# man drbdadm # man drbdsetup # man drbdmeta
Referencia : La Guía del usuario de DRBD .
Resumen
DRBD es extremadamente flexible y versátil, lo que lo convierte en una solución de replicación de almacenamiento adecuada para agregar HA a casi cualquier aplicación. En este artículo, mostramos cómo instalar DRBD en CentOS 7 y demostramos 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.
Otros artículos "drdbd" en LinuxParty:
Configurar un servidor RAID1 en Red con DRBD en Linux (1 de 2)
Configurar un servidor RAID1 en Red con DRBD en Linux (2 de 2)
-
Hardware
- Cómo Imprimir desde la Línea de Comandos en Linux y Solucionar Problemas con Impresoras en Red
- Los 5 mejores comandos de Linux para solucionar problemas (y cómo los uso)
- 5 comandos de Linux para encontrar rápidamente la información de tu Sistema Operativo
- El controlador de gráficos NVIDIA 560 Linux adoptará completamente módulos de kernel de GPU de código abierto
- El 84% de los usuarios de PC no están dispuestos a pagar más por un hardware con soporte para IA, según una encuesta
- ¿PC con Linux o Windows 11 Copilot+? TUXEDO presenta el portátil Snapdragon X Elite ARM
- La startup finlandesa 'Flow' afirma que puede multiplicar por 100 la potencia de cualquier CPU con su chip complementario
- China lanza el buque portacontenedores eléctrico más grande del mundo
- Testar el rendimiento de discos duros en Linux
- ¿Por qué los portátiles están soldando sus RAM a la placa?
- TUXEDO Sirius 16 Gen2, el portátil de juegos Linux completamente AMD, recibe un CPU Ryzen 7 más rápido
- Clonezilla Live ahora está parcheado contra la puerta trasera XZ, con tecnología Linux 6.7
- La computadora de escritorio LXQt 2.0 se lanza en abril con un nuevo menú de aplicaciones y portado a Qt 6
- Lanzamiento del controlador de gráficos NVIDIA 550.54.14 para Linux con muchas mejoras
- El firmware BIOS/UEFI de código abierto Libreboot agrega más soporte de hardware
Comentarios