Configuración DRBD · 5 min read · Jan 28, 2026

Configuración de muestra de DRBD en CentOS 4.5

Configuración de muestra de DRBD en CentOS 4.5

¿Qué es DRBD?

DRBD es una abreviatura de Distributed Replicated Block Device. DRBD es un dispositivo de bloque diseñado para construir clústeres de alta disponibilidad. Esto se hace mediante la replicación de un dispositivo de bloque completo a través de una red (dedicada). Se puede ver como un RAID1 en red.

Requisitos previos de configuración:

Utilicé dos nodos con la siguiente configuración del sistema:

  1. cnode1.rnd (nombre de host) con la dirección IP 172.16.4.80. Sistema operativo CentOS 4.5, dos discos duros SCSI de 18 GB. En cuanto a la partición, utilicé el siguiente esquema en cnode1.rnd: /dev/sda1 / 13257MB ext3 primaria /dev/sda2 4095MB swap primaria /dev/sdb1 sin montar 128MB ext3 primaria (para los metadatos de DRBD) /dev/sdb2 sin montar 4306MB ext3 primaria (utilizado como Disco de DRBD)
  2. cnode2.rnd (nombre de host) con la dirección IP 172.16.4.81. Sistema operativo CentOS 4.5, un disco IDE de 10 GB. El siguiente esquema de partición se utilizó en cnode2.rnd: /dev/hda1 / 4503MB ext3 primaria /dev/hda2 769MB swap primaria /dev/hda3 sin montar 128MB ext3 primaria (para los metadatos de DRBD) /dev/hda4 sin montar 4306MB ext3; primaria (utilizado como Disco de DRBD)

Los tamaños y nombres de las particiones pueden variar según la capacidad del disco y los discos duros utilizados. Puede definir un esquema de partición según sus requisitos.

Mi archivo /etc/hosts en ambos nodos (cnode1.rnd y cnode2.rnd) se ve así:

127.0.0.1       localhost.localdomain       localhost
172.16.4.80     cnode1.rnd          cnode2
172.16.4.81     cnode2.rnd          cnode3

Instalación de DRBD:

Instale el software DRBD y el módulo del kernel de DRBD en cnode1.rnd y cnode2.rnd:

 yum install -y kmod-drbd drbd 

Cargue el módulo del kernel de DRBD con insmod:

 insmod /lib/modules/2.6.9-55.0.9.EL/extra/drbd.ko 

Verifique con lsmod que el módulo esté cargado. Si ve DRBD, entonces pase a la sección de configuración de muestra.

Configuración de DRBD:

El archivo de configuración de DRBD es /etc/drbd.conf. Así que editaremos este archivo y haremos los siguientes cambios en él y lo copiaremos al otro nodo ( /etc/drbd.conf será el mismo en ambos nodos).

En cnode1.rnd edite este archivo con cualquier editor. Estoy usando vi:

 vi /etc/drbd.conf 
resource r0 {
  protocol C;
        incon-degr-cmd "halt -f";
        startup {
    degr-wfc-timeout 120;    # 2 minutos.
  }
        disk {
    on-io-error   detach;
  }
        net {
  }
syncer {
        rate 3M;
        group 1;
        al-extents 257;
  }
  on cnode1.rnd {
    device    /dev/drbd0;
    disk      /dev/sdb2;
    address   172.16.4.80:7789;
    meta-disk /dev/sdb1[0];
  }
  on cnode2.rnd {
    device    /dev/drbd0;
    disk      /dev/hda4;
    address   172.16.4.81:7789;
    meta-disk /dev/hda3[0];
  }
}

Guarde sus cambios y cópielo al otro nodo (cnode2.rnd):

 scp /etc/drbd.conf [email protected]:/etc/ 

Ahora vamos a iniciar el demonio DRBD en ambos nodos, pero antes de esto queremos iniciar el demonio DRBD en el próximo reinicio. Para esto utilizaremos el comando chkconfig en ambos nodos.

 chkconfig --level 235 drbd on 
 /etc/init.d/drbd start 

Descubrirá que DRBD ha comenzado el proceso de sincronización. Puede verlo en ejecución:

 /etc/init.d/drbd status 

o

 cat /proc/drbd 

Detalles técnicos de configuración de drbd.conf:

Protocolos:

  1. Una operación de escritura se completa tan pronto como los datos se escriben en el disco y se envían a la red.
  2. Una operación de escritura B se completa tan pronto como llega un reconocimiento de recepción.
  3. Una operación de escritura C se completa tan pronto como llega un reconocimiento de escritura.

Nombre de host:

Debe coincidir exactamente con la salida de

 uname -n 

Dispositivo:

El nodo de dispositivo a usar: /dev/drbd0 - dispositivo de bloque DRBD.

Dirección, Puerto:

La dirección inet y el puerto a los que vincularse localmente, o a los que conectarse al nodo asociado.

Meta-disco:

Los discos para almacenar metadatos. DRBD le permite colocar sus metadatos en el mismo dispositivo de respaldo donde coloca los datos de producción utilizables (metadatos internos), o en un dispositivo de bloque separado (metadatos externos). He asignado 128 MB para metadatos en un dispositivo de bloque de metadatos externo. Sin embargo, puede consultar la tabla a continuación para estimar los tamaños de metadatos

Tamaño del dispositivo de bloqueMetadatos de DRBD
1 GB2 MB
100 GB5 MB
1 TB33 MB
4 TB128 MB

incon-degr-cmd:

¿Qué se debe hacer en caso de que el clúster se inicie en modo degradado, pero sepa que tiene datos inconsistentes (el dispositivo de nivel inferior informa un error de io)?

on-io-error detach:

Si el dispositivo de nivel inferior informa un error de io, el nodo elimina su dispositivo de almacenamiento de respaldo y continúa en modo sin disco.

degr-wfc-timeout:

Esperar el tiempo de espera de conexión, si este nodo era un clúster degradado. Esto se utiliza en lugar de wfc-timeout (esperar el tiempo de espera del clúster).

Syncer:

Limitar el ancho de banda utilizado por el proceso de resynchronización.

grupo:

Todos los dispositivos en un grupo se resynchronizan en paralelo. La resynchronización de grupos se realiza de forma serial en orden ascendente.

Al-extents:

Realiza automáticamente la detección de áreas calientes. Con este parámetro controla cuán grande puede ser el área caliente. Cada extensión marca 4M del almacenamiento de respaldo (=dispositivo de nivel inferior). En caso de que un nodo primario abandone el clúster inesperadamente, las áreas cubiertas por el conjunto activo deben ser resincronizadas al volver a unirse el nodo fallido. La estructura de datos se almacena en el área de metadatos, por lo tanto, cada cambio de conjunto activo es una operación de escritura en el dispositivo de metadatos. Un número mayor de extensiones da tiempos de resincronización más largos pero menos actualizaciones a los metadatos.

Lo que se debe y no se debe hacer:

No intente montar un DRBD en estado secundario. ¡Una vez que configure DRBD, nunca lo eluda ni acceda directamente al dispositivo subyacente!

Probar DRBD:

Haga que cnode1.rnd sea primario y monte el dispositivo de bloque del nodo primario (cnode1.rnd) en /mnt/disk:

 drbdsetup /dev/drbd0 primary --do-what-I-say 
 mount /dev/drbd0 /mnt/disk 

Copie algunos archivos y carpetas en él:

 cp -r /root/documents /mnt/disk 

Ahora desmonte el dispositivo de bloque de DRBD y haga que el nodo primario sea “secundario”:

 umount /mnt/disk/ 
 drbdadm secondary all 

Haga que cnode2.rnd sea primario y monte el dispositivo de bloque en /mnt/disk:

 drbdsetup /dev/drbd0 primary --do-what-I-say 
 mount /dev/drbd0 /mnt/disk

Descubrirá que los documentos existen en cnode2.rnd.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.