Tabla de Contenidos

Sistema de replicación de discos DRBD

Este documento muestra la instalación de un sistema de RAID 1 en red, uniendo particiones de dos servidores. Para este documento se utilizan los nombres primario.dominio.com y secundario.dominio.com que deben de resolver correctamente a la IP en cada uno de los servidores.

Estructura de red

Es conveniente que el flujo de datos DRBD tenga su propia interfaz de red para su tarea de sincronizar los discos. Para esto:

  1. Colocar una interfaz de red adicional en cada servidor
  2. Unirlas con un cable cruzado
  3. Asignarles una sub-red propia, en este ejemplo se usa:
    • address 172.16.50.1 primario.dominio.com
    • address 172.16.50.2 secundario.dominio.com
    • netmask 255.255.255.252
    • network 172.16.60.0
    • broadcast 172.16.60.3

Preparar particiones

Es necesario preparar dos particiones de igual tamaño en el disco de cada disco. No tiene que coincidir el dispositivo en cada uno, perfectamente pueden ser distinto dispositivo y los servidores pueden tener tablas de particiones diferente.

Esas particiones pueden ser formateadas en ext3 y no deben estar montadas

Preparación del kernel

Instalar los módulos pre-compilados del kernel y las herramientas de manejo de sistema de replicación de discos:

 apt-get install drbd0.7-module-$(uname -r) drbd0.7-utils

Preparar configuración

Editar el archivo /etc/drbd.conf y configurarlo adecuadamente

resource data {

  protocol C;

  startup { degr-wfc-timeout 120; }

  disk { on-io-error detach; }

  net { }

  syncer {
    rate 10M;
    group 1;
    al-extents 257;
  }

  on primario.dominio.com {
    device     /dev/drbd0;          # dispositivo a asignar
    disk       /dev/hda5;           # partición a utilizar
    address    172.16.50.1:7788;    # ip servidor
    meta-disk  internal;
  }

  on secundario.dominio.com {
    device    /dev/drbd0;
    disk      /dev/cciss/c0d0p1;
    address   172.16.50.2:7788;
    meta-disk internal;
  }

}

Este archivo debe ser idéntico en ambos servidores: primario.dominio.com y secundario.dominio.com

Iniciar raid y sincronizar

En primario.dominio.com y en secundario.dominio.com ejecutar:

# modprobe drbd
# drbdadm up all 

para levantar la vinculación de los dispositivos y crear el recurso.

Si todo anduvo correctamente y no hay errores, se pueden ver las conexiones establecidas a nivel de red:

# netstat -tun | grep 7788
tcp        0      0 172.16.50.1:7788     172.16.50.2:37308     ESTABLISHED-                   
tcp        0      0 172.16.50.1:52632    172.16.50.2:7788      ESTABLISHED-

Se puede iniciar la sincronización ejecutando en el servidor primario.dominio.com el siguiente comando:

# drbdsetup /dev/drbd0 primary --do-what-I-say
# drbdadm connect all

Es posible verificar que la sincronización se está ejecutando correctamente viendo los mensajes del proc:

# cat /proc/drbd
version: 0.7.21 (api:79/proto:74)
SVN Revision: 2326 build by root@primario.dominio.com, 2008-11-18 12:24:53
 0: cs:Connected st:Primary/Secondary ld:Consistent
    ns:70112 nr:4072 dw:159620 dr:549174 al:7 bm:348 lo:0 pe:0 ua:0 ap:0
        [==>..............] sync'ed: 3.1% (7000/7168)M
        finish: 1:14:16 speed: 2,644 (2,204) K/sec
 1: cs:Unconfigured

y alli se puede verificar que dodo está correctamente funcionando las veces que se desee repetir el comando.