Como configurar DRBD

 

www.onlinetis.com

Distributed Replicated Block Device (DRBD) es un componente de software para el kernel de Linux que permite la replicación de datos en tiempo real entre servidores.1 Funciona a nivel de bloque, lo que lo hace independiente del sistema de archivos.2

Imagina que tienes dos servidores y quieres que siempre tengan una copia idéntica de un disco.3 DRBD hace precisamente eso: cuando se escribe un dato en el disco de un servidor (el primario), DRBD lo replica inmediatamente en el disco del otro servidor (el secundario).4 Si el servidor primario falla, el secundario puede tomar su lugar sin que se pierda ningún dato, asegurando la alta disponibilidad.5 Es como un RAID 1 (espejo), pero en lugar de hacerlo con discos locales, lo hace a través de la red entre diferentes máquinas.6


Características principales

  • Replicación síncrona y asíncrona: DRBD puede replicar los datos en tiempo real (síncrona) para asegurar que la información nunca se pierda, o de forma asíncrona para mejorar el rendimiento en redes de alta latencia.

  • Alta disponibilidad (HA): Es una solución fundamental para crear clústeres de alta disponibilidad.7 Si un nodo falla, el otro nodo "asume" el rol primario y continúa proporcionando el servicio.8

  • Modos de funcionamiento:

    • Primario-Secundario: Un nodo es el principal, donde se realizan todas las operaciones de escritura y lectura. El otro nodo es el secundario, que solo recibe la copia de los datos. Este es el modo más común para la alta disponibilidad.

    • Doble-Primario: Ambos nodos pueden ser primarios al mismo tiempo y acceder al recurso DRBD. Esto requiere un sistema de archivos de clúster como OCFS2 o GFS2 para evitar la corrupción de datos.

  • Flexible: Puede replicar cualquier dispositivo de bloque, como particiones, volúmenes lógicos de LVM o dispositivos RAID.9

  • Recuperación automática: Si un nodo se desconecta temporalmente, DRBD detecta los bloques que cambiaron durante la desconexión y los sincroniza de forma eficiente al volver a conectarse, sin necesidad de copiar todo el dispositivo de nuevo.

     

    Configurar Distributed Replicated Block Device (DRBD) implica varios pasos que se deben realizar en ambos servidores que formarán el clúster. Aquí te presento una guía básica y general del proceso.

    1. Instalación

    Primero, instala el paquete de DRBD en ambos servidores. El nombre del paquete puede variar ligeramente según la distribución de Linux que utilices.

    • En sistemas basados en Debian/Ubuntu:

      Bash
      sudo apt update
      sudo apt install drbd-utils
      
    • En sistemas basados en RHEL/CentOS:

      Bash
      sudo dnf install drbd-utils
      

    2. Configuración de la red

    Asegúrate de que los dos servidores puedan comunicarse entre sí a través de la red en el puerto que DRBD usará (el puerto por defecto es 7788). Verifica que no haya firewalls bloqueando este puerto.

    3. Configuración de DRBD

    La configuración de DRBD se realiza en el archivo /etc/drbd.d/global_common.conf y en un archivo de recursos específico, por ejemplo /etc/drbd.d/r0.res.

    Archivo de recursos (/etc/drbd.d/r0.res)

    Este archivo define el recurso replicado (por ejemplo, r0). Debes crearlo en ambos servidores con la misma configuración.

    Fragmento de código
    resource r0 {
        protocol C;
        meta-disk internal;
    
        on hostname1 {
            device /dev/drbd0;
            disk /dev/sdb1;
            address 192.168.1.100:7788;
            node-id 0;
        }
    
        on hostname2 {
            device /dev/drbd0;
            disk /dev/sdc1;
            address 192.168.1.101:7788;
            node-id 1;
        }
    
        connection {
            net {
                cram-hmac-alg sha1;
                shared-secret "MiSuperSecretoDRBD";
            }
        }
    }
    
    • resource r0: Define el nombre del recurso.

    • protocol C: Replicación síncrona.

    • device /dev/drbd0: El nombre del dispositivo virtual DRBD que será creado.

    • disk /dev/sdb1: La partición de disco local que DRBD usará para la replicación. Asegúrate de que sea una partición vacía y del mismo tamaño en ambos servidores.

    • address: La dirección IP y el puerto del servidor.

    4. Inicialización

    Una vez que el archivo de configuración está en su lugar, inicializa el recurso en ambos servidores.

    1. Crea el metadato en ambos servidores:

      Bash
      sudo drbdadm create-md r0
      
    2. Habilita el recurso en ambos servidores:

      Bash
      sudo drbdadm up r0
      
    3. Define el nodo primario: En uno de los servidores, designa el nodo como primario para que comience la sincronización inicial.

      Bash
      sudo drbdadm primary --force r0
      

      Ahora verás cómo DRBD comienza a sincronizar los datos del nodo primario al secundario. Puedes verificar el estado con sudo drbdadm status r0.

    5. Uso del dispositivo DRBD

    Una vez que la sincronización inicial se completa, el dispositivo DRBD (/dev/drbd0) está listo para ser utilizado.

    1. Crea un sistema de archivos: En el nodo primario, crea el sistema de archivos que desees (ext4, XFS, etc.).

      Bash
      sudo mkfs.ext4 /dev/drbd0
      
    2. Monta el dispositivo: Ahora puedes montar el dispositivo DRBD y empezar a usarlo.

      Bash
      sudo mkdir /mnt/data
      sudo mount /dev/drbd0 /mnt/data
      

    El nodo secundario siempre mostrará el dispositivo DRBD como "secundario", lo que significa que no se puede montar directamente. Si el nodo primario falla, tendrás que promover el nodo secundario a primario para poder montar y usar el dispositivo.

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC