Instalación Openfiler · 5 min read · Jan 31, 2026
Instalación y Configuración de Openfiler con DRBD y Heartbeat
Instalación y Configuración de Openfiler con DRBD y Heartbeat
Introducción
Openfiler es un sistema operativo de alto rendimiento diseñado para su uso como un dispositivo SAN/NAS. Esta configuración permitirá que dos dispositivos Openfiler trabajen en un escenario de alta disponibilidad Activo/Pasivo.
Requisitos
Hardware
- 2 x cajas que cumplan con las especificaciones mínimas de hardware de Openfiler.
- 2 x interfaces de ethernet en cada caja
- Medios de instalación de Openfiler 2.3.
- Ambas cajas deben tener discos del mismo tamaño en cada una para evitar inconsistencias en la replicación.
Software
Instalar Openfiler 2.3 en ambas cajas utilizando una configuración de disco como la siguiente:
- 3 GB de partición raíz (“/”)
- 2 GB de partición “swap”
- 512 MB de partición “/meta” (utilizada para DRBD0)
- Partición de datos configurada como un LVM no montado (utilizada para DRBD1)
Configuración
Red
Cada dispositivo Openfiler tendrá dos NIC: una para comunicarse con la LAN, la otra para comunicarse con el otro SAN (a través de cable directo). La primera se utilizará para la administración, para comunicarse directamente con cada nodo.
Una tercera interfaz “virtual” es utilizada por el servicio de heartbeat y es la que será utilizada por las computadoras en la LAN.
A continuación se muestra lo que se utiliza:
filer01
- Interfaz LAN (eth0) 192.168.1.18
- Interfaz de replicación (eth1) 10.188.188.1
filer02
- Interfaz LAN (eth0) 192.168.1.19
- Interfaz de replicación (eth1) 10.188.188.2
Dirección HA NAS/SAN (eth0) 192.168.1.17
- Esto se configura en el archivo cluster.xml (no intente configurarlo en ningún otro lugar)
Configuración del Nombre de Host
Para que ambos nodos puedan reconocerse entre sí por nombre, configure el archivo de hosts en cada computadora.
Modifique nuestro /etc/hosts (en filer01):
# No elimine la siguiente línea, o varios programas
# que requieren funcionalidad de red fallarán.
127.0.0.1 filer01 localhost.localdomain localhost
10.188.188.2 filer02Modifique nuestro /etc/hosts (en filer02):
# No elimine la siguiente línea, o varios programas
# que requieren funcionalidad de red fallarán.
127.0.0.1 filer02 localhost.localdomain localhost
10.188.188.1 filer01Claves Compartidas SSH
Para permitir que los dos dispositivos Openfiler se comuniquen entre sí sin tener que usar una contraseña, utilice claves compartidas SSH.
En filer01:
root@filer01 ~# ssh-keygen -t dsaPresione enter en los mensajes (no establezca una contraseña en la clave).
En filer02:
root@filer02 ~# ssh-keygen -t dsaPresione enter en los mensajes (no establezca una contraseña en la clave).
El comando anterior generará un archivo llamado “id_dsa.pub” en ~/.ssh/, que es la clave pública que deberá copiarse al otro nodo:
root@filer01 ~# scp .ssh/id_dsa.pub root@filer02:~/.ssh/authorized_keys2
root@filer02 ~# scp .ssh/id_dsa.pub root@filer01:~/.ssh/authorized_keys2
Configurar DRBD
DRBD es lo que mantendrá los datos entre los dos nodos consistentes.
En filer01:
root@filer01 ~# mv /etc/drbd.conf /etc/drbd.conf.orgLuego modifique drbd.conf (versión 8) según lo siguiente:
global {
# minor-count 64;
# dialog-refresh 5; # 5 segundos
# disable-ip-verification;
usage-count ask;
}
common {
syncer { rate 100M; }
}
resource cluster_metadata {
protocol C;
handlers {
pri-on-incon-degr "echo O > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo O > /proc/sysrq-trigger ; halt -f";
local-io-error "echo O > /proc/sysrq-trigger ; halt -f";
# outdate-peer "/usr/sbin/drbd-peer-outdater";
}
startup {
# wfc-timeout 0;
degr-wfc-timeout 120; # 2 minutos.
}
disk {
on-io-error detach;
}
net {
after-sb-0pri disconnect;
after-sb-1pri disconnect;
after-sb-2pri disconnect;
rr-conflict disconnect;
}
syncer {
# rate 10M;
# after "r2";
al-extents 257;
}
on filer01 {
device /dev/drbd0;
disk /dev/sda3;
address 10.188.188.1:7788;
meta-disk internal;
}
on filer02 {
device /dev/drbd0;
disk /dev/sda3;
address 10.188.188.2:7788;
meta-disk internal;
}
}
resource vg0drbd {
protocol C;
startup {
wfc-timeout 0; ## ¡Infinito!
degr-wfc-timeout 120; ## 2 minutos.
}
disk {
on-io-error detach;
}
net {
# timeout 60;
# connect-int 10;
# ping-int 10;
# max-buffers 2048;
# max-epoch-size 2048;
}
syncer {
after "cluster_metadata";
}
on filer01 {
device /dev/drbd1;
disk /dev/sda5;
address 10.188.188.1:7789;
meta-disk internal;
}
on filer02 {
device /dev/drbd1;
disk /dev/sda5;
address 10.188.188.2:7789;
meta-disk internal;
}
}Ambos hosts necesitan el mismo drbd.conf, así que el archivo drbd.conf de filer01 se copiará a filer02:
root@filer01 ~# scp /etc/drbd.conf root@filer02:/etc/drbd.confInicialice los metadatos en /dev/drbd0 (cluster_metadata) y /dev/drbd1 (vg0drbd) en ambos nodos:
root@filer01 ~# drbdadm create-md cluster_metadata
root@filer01 ~# drbdadm create-md vg0drbd
root@filer02 ~# drbdadm create-md cluster_metadata
root@filer02 ~# drbdadm create-md vg0drbd
Nota: si los comandos anteriores generan errores sobre la necesidad de poner a cero el sistema de archivos, use el siguiente comando:
root@filer01 ~# dd if=/dev/zero of=/dev/sda3Tenga cuidado con este comando y asegúrese de que esté en el disco correcto.
Antes de iniciar el servicio DRBD, asegúrese de que la partición utilizada para drbd0 (en el recurso cluster_metadata en el archivo drbd.conf) no esté ya montada (que lo estará por defecto si se creó durante la instalación).
root@filer01 ~# umount /dev/sda3Ahora, inicie DRBD en ambos hosts:
root@filer01 ~# service drbd start root@filer02 ~# service drbd startSi todo va bien, deberían conectarse y ejecutar “service drbd status” debería presentar una salida similar a la siguiente:
root@filer1 /# service drbd statusdrbd driver loaded OK; device status:
version: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p mounted fstype
0:cluster_metadata Connected Secondary/Secondary Inconsistent/Inconsistent C
1:vg0drbd Connected Secondary/Secondary Inconsistent/Inconsistent C
Una vez que ambos recursos drbd estén conectados y ambos nodos estén en estado Secundario (como arriba), establezca un nodo Primario:
root@filer01 ~# drbdsetup /dev/drbd0 primary -o
root@filer01 ~# drbdsetup /dev/drbd1 primary -o
Esto debería darle un resultado de estado similar a lo siguiente:
root@filer1 /# service drbd statusdrbd driver loaded OK; device status:
version: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p mounted fstype
… sync’ed: 17.9% (247232/297152)K
0:cluster_metadata SyncSource? Primary/Secondary UpToDate/Inconsistent C
1:vg0drbd PausedSyncS? Primary/Secondary UpToDate/Inconsistent C
Nota: si el LVM vg0drbd es grande, tomará mucho tiempo sincronizar (quizás toda la noche).
Habilite DRBD para que se inicie al arrancar:
root@filer01 ~# chkconfig –level 2345 drbd on
root@filer02 ~# chkconfig –level 2345 drbd on
Ahora cree el sistema de archivos cluster_metadata. Use esta partición de 512 MB para mantener todos los datos de configuración de Openfiler y los datos para los servicios que deberían estar disponibles en HA (por ejemplo, NFS, iSCSI, SMB).
root@filer01 ~# mkfs.ext3 /dev/drbd0No agregue esta partición a un /etc/fstab, ya que esto es gestionado por Heartbeat (y se configurará en breve).
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.