pdf cluster drbd
TRANSCRIPT
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 1/6
Tabla de Contenidos
DRBD how to Red Hat / Centos
Introducción
Instalación
Configurar /etc/drbd.conf
Levantamiento de los nodos
Realizar Sincronización inicial
Formatear el Sistema de Archivos
Montar la partición
Realizando Pruebas
Bajar nodo
Subir nodo
Finalizando Configuración
Activo-Activo
Troubleshooting
Red Lenta
Split-Brain
Referencias
DRBD how to Red Hat / Centos
El siguiente documento muestra como configurar espacio de disco compartido entre dos nodos usando
DRBD.
Introducción
DRBD (Distributed Replicated Block Device) es un sistema de almacenamiento distribuido para plataformas
basadas en linux. Consiste de un modulo de kernel, herramientas para manejar los discos y una serie de
1/6
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 2/6
scripts, que son usados normalmente en cluster de alta disponibilidad, es similar a un RAID 1, pero corre
bajo la Red.
Al hablar de DRBD, nos referimos al modulo de kernel y a las correspondientes herramientas de
administración.
Instalación
Podemos utilizar apt para instalar los paquetes DRBD disponibles en los repositorios de ATrpms, una buena
configuración del apt seria algo como:
rpm http://apt.sw.be redhat/el4/en/i386 dag
rpm http://mirror.centos.org centos/4.6/apt/i386 addons extras csgfs updates
repomd http://dl.atrpms.net el4-i386/atrpms/stable
Luego, para instalar:
apt-get install drbd drbd-kmdl-`uname -r`
Configurar /etc/drbd.conf
Ambos nodos tienen que tener el mismo archivo de configuración, un ejemplo típico sería:
resource "r0" {
protocol C;
startup {
wfc-timeout 60;
degr-wfc-timeout 120; ## 2 minutes.
}
disk {
on-io-error detach;
}
net {
allow-two-primaries;
}
syncer {
rate 80M;
}on maquina1.dominio.cl {
address 10.0.0.1:7790;
device /dev/drbd0;
disk /dev/mapper/vg00-home;
meta-disk internal;
}
on maquina2.dominio.cl{
address 10.0.0.2:7790;
device /dev/drbd0;
disk /dev/mapper/vg00-home;
meta-disk internal;
}
}
2/6
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 3/6
Si se tienen varias particiones en DRBD se tienen que usar puertos distintos en las distintas particiones. Si
las particiones del DRBD se estan usando, hay que desmontarlas y eliminar las referencias que puedan
existir en /etc/fstab.
Suba el servicio dbrd
service drbd start
Levantamiento de los nodos
Realizar en ambos nodos
drbdadm up all
Realizar Sincronización inicial
En un nodo realizar
drbdadm -- --overwrite-data-of-peer primary all
Para versiones anteriores a la 0.8 se tiene que realizar:
drbdadm -- --do-what-I-say primary all
Se puede observar el estado de la sincronización del drbd (en cualquier nodo), revisando el archivo
/proc/drbd, pudiendo apreciar algo parecido a esto:
version: 8.0.7 (api:86/proto:86)
GIT-hash: cf14288833afe95db396075f8530a5960d29e498 build by bachbuilder@,
2008-02-02 03:53:17
0: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
ns:3399432 nr:0 dw:0 dr:3406368 al:0 bm:204 lo:41 pe:322 ua:257 ap:0
[=============>......] sync'ed: 66.0% (1714/5023)M
finish: 0:00:39 speed: 44,920 (38,512) K/sec
resync: used:2/31 hits:212192 misses:208 starving:0 dirty:0 changed:208
act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0
1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
ns:1880964 nr:0 dw:0 dr:1901632 al:0 bm:111 lo:69 pe:421 ua:714 ap:0
[>...................] sync'ed: 2.1% (88189/90013)Mfinish: 1:20:29 speed: 18,664 (21,464) K/sec
resync: used:3/31 hits:117737 misses:117 starving:0 dirty:0 changed:117
act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0
Una vez finalizada la sincronización, el dispositivo esta usable y ya se puede realizar el proceso de
creación del sistema de archivos que se desee.
Formatear el Sistema de Archivos
Crear el sistema de archivos de las particiones del drbd en las distintas maquinas, para el caso de usarext3:
3/6
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 4/6
mke2fs /dev/drb0
O si usamos GFS:
gfs_mkfs -p lock_dlm -t cluster_name:resource_name -j 8 /dev/drbd0
-j indica el número de nodos del cluster que usarán GFS.
Montar la partición
Montar la particion, como cualquier otra
mount -t tipo /dev/drbd0 /mnt
Realizando Pruebas
Para realizar pruebas basta con crear archivos y revisar que estos esten en el nodo contrario al que se
crearon.
time dd if=/dev/zero of=FILE bs=4096 count=25600
Bajar nodo
En el caso de r0 con particion en /dev/drbd0:
umount /dev/drbd0
drbdadm down r0
Para el caso de dos primarios.
service gfs stop --> particiones configuradas en /etc/fstab
drbdadm down all
Subir nodo
En el caso de r0 con particion en /dev/drbd0:
drbdadm up r0Para el caso de dos primarios.
drbdadm -- --discard-my-data up all
drbdadm primary all
service gfs start
Finalizando Configuración
Habilitar los cambios al inicio de la maquina, puede ser editando /etc/rc.local y agregando al final de estearchivo el seteo de primario y secundario, ademas de montar la particion:
4/6
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 5/6
drbdsetup /dev/drbd0 primary
drbdsetup /dev/drbd1 primary
mount /dev/drbd0 /home
mount /dev/drbd1 /var/lib/mysql
Activo-Activo
Para un correcto funcionamiento en un cluster activo-activo es recomendable desactivar del inicio el serviciogfs (si se tienen definidas las particiones en /etc/fstab), ya que este servicio parte antes de que parta drbd.
service gfs off
Ademas de colocar en /etc/rc.local algo como:
drbdadm down all
drbdadm -- --discard-my-data up all
drbdadm primary all
service gfs start
NO olvidarse de activar el servicio drbd al inicio:
chkconfig drbd on
Troubleshooting
Red Lenta
Revisar MTU.
Usar Cable cruzado entre los nodos.Usar tarjetas de red de Giga.
Echar un vistazo a ethtool y verificar que esta a FD y a la velocidad maxima a que puede funcionar la tarjeta.
Split-Brain
Cuanto tenemos los dos nodos en modo stand alone, con un cs:StandAlone st:Secondary/Unknown
ds:UpToDate/DUnknown lo mas probable es que tengamos que realizar una resincronizacion de la data,
para ello basta con ejecutar:
root@bad-data# drbdadm -- --discard-my-data connect all
Luego en la otra maquina:
root@good-data# drbdadm connect all
Los nodos empezaran a resincronizarse, transfiriendo los datos desde el nodo con datos OK, al nodo con
los datos corruptos.
Referencias
http://www.drbd.org/documentation.htmlhttp://www.linux-ha.org/DRBD/FAQ#head-988086376cbd00bdcc9c9d199317af5f7550c5c1
http://www.drbd.org/fileadmin/drbd/doc/8.0.2/en/drbdsetup.html
5/6
5/11/2018 PDF Cluster Drbd - slidepdf.com
http://slidepdf.com/reader/full/pdf-cluster-drbd 6/6
http://www.drbd.org/fileadmin/drbd/doc/8.0.2/en/drbdadm.html
? by jmardones
6/6