DRBD, también conocido como "dispositivo de bloques replicados distribuidos", es una solución de almacenamiento distribuido para Linux. Se utiliza para duplicar los datos en dispositivos de bloques como discos duros, particiones y volúmenes lógicos de un servidor a otro a través de una conexión de red. Si un servidor colapsa, entonces se pueden usar los datos del otro. DRBD también garantiza una alta disponibilidad (HA) para las aplicaciones de Linux mediante la duplicación en red.
En este tutorial, le mostraremos cómo instalar DRBD y usarlo para replicar la partición entre dos servidores.
Requisitos
- Dos CentOS 8 VPS nuevos en Atlantic.net Cloud Platform con un dispositivo de almacenamiento en bloque conectado a cada VPS. El servidor debe estar creado en USA-EAST1 (Orlando)
- Una contraseña raíz configurada en ambos servidores
Paso 1:crear un servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo, con al menos 4 GB de RAM. A continuación, cree un dispositivo de almacenamiento en bloque y conéctelo a su VPS. A continuación, conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
dnf update -y
Paso 2:configurar el nombre de host en cada nodo
Primero, deberá configurar un nombre de host en cada nodo.
En el primer nodo, ejecute el siguiente comando para configurar el nombre de host.
hostnamectl set-hostname node1.example.com
En el segundo nodo, ejecute el siguiente comando para configurar el nombre de host.
hostnamectl set-hostname node2.example.com
Una vez que haya terminado, puede continuar con el siguiente paso.
Paso 3:preparar el dispositivo de almacenamiento en cada nodo
A continuación, deberá configurar el dispositivo de almacenamiento del mismo tamaño en cada nodo para su recurso DRBD. En este tutorial, usaremos el almacenamiento en bloque /dev/sdb en cada nodo.
En ambos nodos, cree una tabla de particiones GPT y una partición con el siguiente comando:
parted -s -a optimal -- /dev/sdb mklabel gpt parted -s -a optimal -- /dev/sdb mkpart primary 0% 100% parted -s -- /dev/sdb align-check optimal 1
A continuación, verifique la partición con el siguiente comando:
fdisk -l
Debería obtener la partición /dev/sdb1 en el siguiente resultado:
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7e9dbe13 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 167770112 167768065 80G 83 Linux Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 4CBB1682-09B1-4785-B96C-2B9D2B3BEB53 Device Start End Sectors Size Type /dev/sdb1 2048 104855551 104853504 50G Linux filesystem
Paso 4:instalar DRBD
Importante :Repita este proceso en ambos nodos.
Puede instalarlo con el siguiente comando:
dnf -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Una vez instalado el repositorio, instale el paquete DRBD con el siguiente comando:
dnf install drbd90-utils kmod-drbd90 -y
Una vez completada la instalación, puede continuar con el siguiente paso.
Paso 5:configurar el recurso DRBD
Importante :Repita este proceso en ambos nodos.
El archivo de configuración DRBD predeterminado se encuentra en /etc/drbd.conf, y otros archivos se encuentran dentro del directorio /etc/drbd.d/.
Para replicar el dispositivo de almacenamiento entre dos servidores, deberá crear un nuevo archivo de configuración dentro del directorio /etc/drbd.d/:
nano /etc/drbd.d/resource0.res
Agregue las siguientes líneas:
resource resource0 { on node1.example.com { device /dev/drbd1; disk /dev/sdb1; address node1-ip-address:7789; meta-disk internal; } on node2.example.com { device /dev/drbd1; disk /dev/sdb1; address node2-ip-address:7789; meta-disk internal; } }
Nota :El resource0.res es el mismo en ambos nodos.
donde:
- nodo1.ejemplo.com y nodo2.ejemplo.com son los nombres de host de cada nodo.
- /dev/drbd1 es el nombre del dispositivo DRBD.
- /dev/sdb1 es el nombre del dispositivo de almacenamiento en cada nodo.
- Dirección IP del nodo 1 es la dirección IP del primer nodo.
- Dirección IP del nodo 2 es la dirección IP del segundo nodo.
- 7789 es el puerto DRBD.
Guarde y cierre el archivo cuando haya terminado.
Paso 6:inicializar y habilitar el recurso DRDB
A continuación, deberá inicializar los metadatos de DRBD en ambos nodos.
Ejecute el siguiente comando en ambos nodos para inicializar el recurso DRBD:
drbdadm create-md resource0
Deberías obtener el siguiente resultado:
md_offset 53684989952 al_offset 53684957184 bm_offset 53683318784 Found ext3 filesystem 2097152 kB data area apparently used 52425116 kB left usable by current configuration Even though it looks like this would place the new meta data into unused space, you still need to confirm, as this is only a guess. Do you want to proceed? [need to type 'yes' to confirm] yes initializing activity log initializing bitmap (1600 KB) to all zero Writing meta data... New drbd meta data block successfully created. success
Después de inicializar el recurso DRBD en ambos nodos, deberá habilitar el recurso.
Ejecute el siguiente comando en ambos nodos para habilitar el recurso.
drbdadm up resource0
Esto adjuntará el recurso con su dispositivo de respaldo; luego, establece los parámetros de replicación y conecta el recurso a su par.
En el primer nodo, verifique el estado del DRBD con el siguiente comando:
drbdadm status resource0
Deberías obtener el siguiente resultado:
Paso 7:establecer el recurso principal de la sincronización inicial del dispositivo
En este punto, DRBD está listo para funcionar. A continuación, deberá indicarle qué nodo debe utilizarse como fuente de la sincronización inicial del dispositivo.
En el primer nodo, inicie la sincronización completa inicial con el siguiente comando:
drbdadm primary --force resource0
Ahora, verifique el estado en el primer nodo con el siguiente comando:
drbdadm status resource0
Deberías obtener el siguiente resultado:
También puede obtener la asignación de dispositivos para un nombre con el siguiente comando:
lsblk
Debería ver el nuevo dispositivo DRBD drbd1 en el siguiente resultado:
Paso 8:cree un sistema de archivos en el dispositivo DRBD
A continuación, deberá crear un sistema de archivos en el dispositivo DRBD, montarlo y verificar si podemos usarlo para el almacenamiento de datos replicados.
En el primer nodo, cree un sistema de archivos ext4 en el dispositivo DRBD con el siguiente comando:
mkfs.ext4 /dev/drbd1
Nota :este proceso puede demorar un tiempo según el tamaño de su almacenamiento en bloque.
Deberías obtener el siguiente resultado:
Luego, monte el dispositivo DRBD en el directorio /opt usando el siguiente comando:
mount /dev/drbd1 /opt/
A continuación, cree algunos archivos de prueba dentro del directorio /opt.
cd /opt touch file1 file2 file3 file4 file5 file6 file7 file8 file9
A continuación, verifique el dispositivo montado con el siguiente comando:
df -hT /opt
Debería ver el siguiente resultado:
Filesystem Type Size Used Avail Use% Mounted on /dev/drbd1 ext4 49G 53M 47G 1% /opt
Paso 9:Monte el dispositivo DRBD en el segundo nodo
En esta sección, montaremos el dispositivo DRBD en el segundo nodo y comprobaremos si la replicación funciona o no.
En el primer nodo , desmonte el dispositivo DRBD y conviértalo en un nodo secundario con el siguiente comando:
cd umount /opt drbdadm secondary resource0
En el segundo nodo , haga que el segundo nodo sea primario con el siguiente comando:
drbdadm primary resource0
A continuación, monte el dispositivo DRBD en el directorio /opt con el siguiente comando:
mount /dev/drbd1 /opt
Ahora, ejecute el siguiente comando para imprimir la lista de archivos en el directorio /opt:
ls /opt
Si todo está bien, todos los archivos almacenados en el dispositivo DRBD deberían estar allí:
También puede verificar la partición montada del dispositivo DRBD con el siguiente comando:
df -hT /opt
Deberías obtener el siguiente resultado:
Filesystem Type Size Used Avail Use% Mounted on /dev/drbd1 ext4 49G 53M 47G 1% /opt
Conclusión
¡Felicidades! Ha instalado y configurado con éxito la replicación con DRBD en CentOS 8. DRBD es una gran herramienta si está buscando aumentar la disponibilidad de sus datos. Para obtener más información, puede visitar la documentación de DRBD. ¡Pruebe DRBD hoy en su cuenta de alojamiento VPS de Atlantic.Net!