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:
- Colocar una interfaz de red adicional en cada servidor
- Unirlas con un cable cruzado
- 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.