Samba Cluster · 4 min read · Jan 29, 2026
Configuración de un Clúster Samba CTDB Activo/Activo Usando GFS y DRBD (CentOS 5.5) - Página 2
Este artículo explica cómo configurar un Clúster Samba CTDB Activo/Activo, utilizando GFS y DRBD. Preparado por Rafael Marangoni, del equipo de Servidor Linux de BRLink.
3. Instalación de Requisitos Previos y Paquetes del Clúster
Hay algunos paquetes que deben instalarse antes:
yum -y install drbd82 kmod-drbd82 sambaInstalemos Red Hat Cluster Suite:
yum -y groupinstall "Cluster Storage" "Clustering"4. Configuración de DRBD
Primero, necesitamos configurar /etc/drbd.conf en ambos nodos:
vi /etc/drbd.conf global {
usage-count yes;
}
common {
syncer {
rate 100M;
al-extents 257;
}
}
resource r0 {
protocol C;
startup {
become-primary-on both; ### Para Primario/Primario ###
degr-wfc-timeout 60;
wfc-timeout 30;
}
disk {
on-io-error detach;
}
net {
allow-two-primaries; ### Para Primario/Primario ###
cram-hmac-alg sha1;
shared-secret "mysecret";
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
}
on node1.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
on node2.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
} Los puntos principales de configuración son:
resource: se refiere al recurso que será gestionado por DRBD, nota que lo llamamos “r0”
disk: se refiere al dispositivo que DRBD utilizará (un disco o partición)
address: Dirección IP/puerto que DRBD utilizará (nota que apuntamos a interfaces cruzadas)
syncer: la tasa de transferencia entre los nodos (usamos 100M porque tenemos tarjetas Gigabit)
Si tienes dudas, por favor consulta la Guía de Usuarios de DRBD: www.drbd.org/users-guide-emb/
Después de esa configuración, podemos crear los metadatos en el recurso r0. En ambos nodos haz:
drbdadm create-md r0A continuación, necesitamos iniciar los servicios de DRBD, para crear el initdb. En ambos nodos (casi al mismo tiempo), haz:
/etc/init.d/drbd startPara poner los dos nodos como primarios, en ambos nodos haz:
drbdsetup /dev/drbd0 primary -oPara verificar el progreso de la sincronización y el estado del recurso DRBD, mira en /proc/drbd:
cat /proc/drbdAhora, necesitamos esperar el final de la sincronización. Esto puede tardar mucho tiempo, dependiendo del tamaño y rendimiento de tus discos. Y, por supuesto, la velocidad de las interfaces de red del clúster que se están utilizando con el cable cruzado).
Cuando el proceso de sincronización termine, podemos echar un vistazo al estado del recurso r0:
nodo1:
[root@node1 ~]# cat /proc/drbd[root@node1 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:2097052 nr:0 dw:0 dr:2097052 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
nodo2:
[root@node2 ~]# cat /proc/drbd[root@node2 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:0 nr:2097052 dw:2097052 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
Es importante notar que ambos servidores están actualizados (UpToDate/UpToDate) y son primarios (Primary/Primary).
Para aprender qué significa toda la información de estado, echa un vistazo a: www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd
Necesitamos hacer que el servicio DRBD se inicie automáticamente al arrancar:
chkconfig --level 35 drbd on5. Configuración de GFS
Ahora, debemos configurar GFS (Red Hat Global File System), que es un sistema de archivos de clúster para usar con DRBD:
Primero, necesitamos configurar /etc/cluster/cluster.conf en ambos nodos:
vi /etc/cluster/cluster.conf
A continuación, necesitamos iniciar el servicio cman, en ambos nodos (al mismo tiempo):
/etc/init.d/cman startDespués, podemos iniciar los otros servicios, en ambos nodos:
/etc/init.d/clvmd start
/etc/init.d/gfs start
/etc/init.d/gfs2 start
Necesitamos asegurarnos de que todos los servicios estén habilitados en la inicialización.
En ambos nodos, haz:
chkconfig –level 35 cman on
chkconfig –level 35 clvmd on
chkconfig –level 35 gfs on
chkconfig –level 35 gfs2 on
A continuación, formateamos el dispositivo, solo en un nodo:
gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/drbd0Ahora, creamos el punto de montaje y montamos el dispositivo drbd, en ambos nodos:
mkdir /clusterdata
mount -t gfs /dev/drbd0 /clusterdata
Vamos a insertar el dispositivo en fstab, en ambos nodos:
vi /etc/fstabInserta la siguiente línea:
/dev/drbd0 /clusterdata gfs defaults 0 0 A continuación, es bueno comprobar que el clusterfs está funcionando:
Solo en node1, haz:
tar -zcvf /clusterdata/backup-test.tgz /etc/Ahora, comprobamos si el archivo existe en node2.
Solo en node2, haz:
ls -l /clusterdata/ [root@node2 ~]# ls -l /clusterdata
total 12576
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
Ahora, probemos si node2 puede escribir.
Solo en node2, haz:
tar -zcvf /clusterdata/backup-test2.tgz /etc/Ahora, comprobamos si los dos archivos existen en node1.
Solo en node1, haz:
ls -l /clusterdata/ [root@no2 ~]# ls -l /clusterdata/
total 25160
-rw-r–r– 1 root root 12850665 Jul 23 16:03 backup-test2.tgz
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
Si todo está bien, por supuesto podemos eliminar los archivos de prueba.
Solo en un nodo, haz:
rm -f /clusterdata/backup* Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.