Blog

DRBD: Introducción y prueba de concepto

Introducción

En entornos de alta disponibilidad, la replicación de datos juega un papel crucial. DRBD (Distributed Replicated Block Device) es una solución popular en el mundo Linux que permite la replicación de bloques de datos entre servidores.

En este artículo, exploraremos DRBD y realizaremos una prueba de concepto para demostrar su funcionalidad.

¿Qué es DRBD?

DRBD es un sistema de almacenamiento distribuido que replica bloques de datos entre servidores Linux. Ofrece replicación en tiempo real y se integra con varios sistemas de archivos como ext3, ext4, XFS, etc. ya que se realiza a nivel de bloque.

DRBD es ampliamente utilizado en configuraciones de alta disponibilidad, almacenamiento compartido y sistemas de respaldo.

Características principales de DrBD:

  • Replicación en tiempo real de bloques de datos.
  • Configuraciones primario-secundario y primario-primario.
  • Integración con sistemas de archivos populares.
  • Detección y recuperación automática de fallos.
  • Configuración flexible y escalabilidad.

Prueba de Concepto

Para nuestra prueba de concepto, configuraremos una replicación simple entre dos servidores CentOS 8, utilizando dos máquinas virtuales (VM) como ejemplo.

Configuración del Entorno

Instalación de DRBD en ambos servidores, instalaremos el paquete drbd-utils:


apt-get install drbd-utils

En la configuración de DRBD, en el drbd-01 (primario) y en el drbd-02 (secundario) editamos el archivo /etc/drbd.conf:


resource rrecurso0 {
    device /dev/drbd0;
    disk /dev/sdb;
    meta-disk internal;

    on drbd-01 {
        address 10.20.30.100:7788;
        node-id 0;
    }

    on drbd-02 {
        address 10.20.30.101:7788;
        node-id 1;
    }
}

En este ejemplo, r0 es el recurso que vamos a replicar, /dev/sdb es el disco que vamos a usar y 10.20.30.100 y 10.20.30.101 son las direcciones IP de los servidores drbd-01 y drbd-02, respectivamente.

En inicialización y sincronización en el servidor drbd-01 (primario), iniciamos el recurso y lo ponemos en el estado primario:


drbdadm create-md recurso0
drbdadm up recurso0
drbdadm primary --force recurso0

inicializacion_servidor.png

En este punto, podemos ver el estado del recurso y verificar que el nodo primario tiene el rol de primario:


drbdadm status

nodo_primario_rol.png

Luego, en el servidor drbd-02 (secundario), creamos el recurso:


drbdadm create-md recurso0
drbdadm up recurso0

drbd-02_recurso.png

Verificación del estado de la replicación ejecutando nuevamente:


drbdadm status

verificacion_replicacion.png

Esperamos hasta que el recurso esté sincronizado:

recurso_sincronizado.png

Para realizar una prueba del funcionamiento, formateamos el volumen en el nodo primario, lo montamos en /mnt y escribimos un fichero de prueba:


mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /mnt
echo "Prueba DRBD" > /mnt/prueba.txt

Es importante tener en cuenta que cuando un nodo tiene el rol de “secundario”, su volumen no puede ser montado ni utilizado, pero esto no es totalmente cierto, ya que DRBD permite una configuración de 2 primarios (mediante el uso de la directiva allow-two-primaries).

Hay muchos puntos a tener en cuenta y limitaciones, los cuales no vamos a abarcar en este artículo.

Entonces, para poder montar el volumen en drbd-02 es necesario que dicho nodo pase a rol primario:

nodo_rol_primario.png

Montamos el volumen en /mnt y comprobamos que el fichero /mnt/prueba.txt contiene el texto “Prueba DRBD” que añadimos en el fichero desde el nodo drbd-01:

prueba_drbd.png

Conclusiones

DRBD ofrece una solución robusta y confiable para la replicación de datos en entornos Linux. Su facilidad de configuración y su capacidad para garantizar la alta disponibilidad lo convierten en una herramienta importante para los administradores de sistemas.

La prueba de concepto realizada demuestra la efectividad de DRBD en replicar datos entre servidores, garantizando así la integridad y disponibilidad de la información.

Referencias

Sitio oficial de DRBD: www.drbd.org 
Documentación de DRBD: docs.linbit.com 

 

Newsletter de STR Sistemas

Suscríbete a nuestra newsletter para recibir contenido interesante del mundo DevOps y artículos escritos por nuestros técnicos

¡Usamos cookies propias y de terceros para mejorar tu experiencia en esta web! Si sigues navegando, consientes y aceptas estas cookies en tu ordenador, móvil o tablet.

Más información sobre las cookies y cómo cambiar su configuración en tu navegador aquí.

x