DRBD, noto anche come "Distributed Replicated Block Device", è una soluzione di archiviazione distribuita per Linux. Viene utilizzato per eseguire il mirroring dei dati su dispositivi a blocchi come dischi rigidi, partizioni e volumi logici da un server all'altro tramite una connessione di rete. Se un server si arresta in modo anomalo, è possibile utilizzare i dati dell'altro. DRBD garantisce anche l'alta disponibilità (HA) per le applicazioni Linux tramite il mirroring di rete.
In questo tutorial, ti mostreremo come installare DRBD e usarlo per replicare la partizione tra due server.
Prerequisiti
- Due nuove CentOS 8 VPS sulla piattaforma Atlantic.net Cloud con un dispositivo di archiviazione a blocchi collegato a ciascun VPS. Il server deve essere creato in USA-EAST1 (Orlando)
- Una password di root configurata su entrambi i server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo CentOS 8 come sistema operativo, con almeno 4 GB di RAM. Quindi, crea un dispositivo di archiviazione a blocchi e collegalo al tuo VPS. Successivamente, connettiti al tuo Cloud Server tramite SSH ed effettua il login utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al server CentOS 8, esegui il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.
dnf update -y
Fase 2:imposta il nome host su ciascun nodo
Innanzitutto, dovrai impostare un nome host su ciascun nodo.
Sul primo nodo, esegui il comando seguente per impostare il nome host.
hostnamectl set-hostname node1.example.com
Sul secondo nodo, esegui il comando seguente per impostare il nome host.
hostnamectl set-hostname node2.example.com
Una volta terminato, puoi procedere al passaggio successivo.
Fase 3:preparare il dispositivo di archiviazione su ciascun nodo
Successivamente, dovrai impostare il dispositivo di archiviazione della stessa dimensione su ciascun nodo per la tua risorsa DRBD. In questo tutorial, utilizzeremo l'archiviazione a blocchi /dev/sdb su ciascun nodo.
Su entrambi i nodi, crea una tabella di partizione GPT e una partizione con il seguente 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
Successivamente, verifica la partizione con il seguente comando:
fdisk -l
Dovresti ottenere la partizione /dev/sdb1 nel seguente output:
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
Fase 4 – Installa DRBD
Importante :Ripeti questo processo su entrambi i nodi.
Puoi installarlo con il seguente 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 volta installato il repository, installa il pacchetto DRBD con il seguente comando:
dnf install drbd90-utils kmod-drbd90 -y
Una volta completata l'installazione, puoi procedere al passaggio successivo.
Fase 5:configurare la risorsa DRBD
Importante :Ripeti questo processo su entrambi i nodi.
Il file di configurazione DRBD predefinito si trova in /etc/drbd.conf e gli altri file si trovano all'interno della directory /etc/drbd.d/.
Per replicare il dispositivo di archiviazione tra due server, dovrai creare un nuovo file di configurazione all'interno della directory /etc/drbd.d/:
nano /etc/drbd.d/resource0.res
Aggiungi le seguenti righe:
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 :La risorsa0.res è la stessa su entrambi i nodi.
Dove:
- node1.example.com e node2.example.com sono i nomi host di ciascun nodo.
- /dev/drbd1 è il nome del dispositivo DRBD.
- /dev/sdb1 è il nome del dispositivo di archiviazione su ciascun nodo.
- Indirizzo IP nodo1 è l'indirizzo IP del primo nodo.
- Indirizzo IP del nodo2 è l'indirizzo IP del secondo nodo.
- 7789 è la porta DRBD.
Salva e chiudi il file quando hai finito.
Passaggio 6:inizializza e abilita la risorsa DRDB
Successivamente, dovrai inizializzare i metadati di DRBD su entrambi i nodi.
Eseguire il comando seguente su entrambi i nodi per inizializzare la risorsa DRBD:
drbdadm create-md resource0
Dovresti ottenere il seguente output:
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
Dopo aver inizializzato la risorsa DRBD su entrambi i nodi, dovrai abilitare la risorsa.
Esegui il comando seguente su entrambi i nodi per abilitare la risorsa.
drbdadm up resource0
Questo allegherà la risorsa con il suo dispositivo di supporto; quindi, imposta i parametri di replica e connette la risorsa al suo peer.
Sul primo nodo, controlla lo stato del DRBD con il seguente comando:
drbdadm status resource0
Dovresti ottenere il seguente output:
Passaggio 7:imposta la risorsa principale della sincronizzazione iniziale del dispositivo
A questo punto, DRBD è pronto per il funzionamento. Successivamente, dovrai dirgli quale nodo deve essere utilizzato come origine della sincronizzazione iniziale del dispositivo.
Sul primo nodo, avvia la sincronizzazione completa iniziale con il seguente comando:
drbdadm primary --force resource0
Ora controlla lo stato del primo nodo con il seguente comando:
drbdadm status resource0
Dovresti ottenere il seguente output:
Puoi anche ottenere la mappatura del dispositivo per un nome con il seguente comando:
lsblk
Dovresti vedere il nuovo dispositivo DRBD drbd1 nel seguente output:
Fase 8:crea un filesystem sul dispositivo DRBD
Successivamente, dovrai creare un filesystem sul dispositivo DRBD, montarlo e verificare se possiamo usarlo per l'archiviazione dei dati replicati.
Sul primo nodo, crea un filesystem ext4 sul dispositivo DRBD con il seguente comando:
mkfs.ext4 /dev/drbd1
Nota :questo processo può richiedere del tempo a seconda delle dimensioni del tuo spazio di archiviazione a blocchi.
Dovresti ottenere il seguente output:
Quindi, monta il dispositivo DRBD nella directory /opt utilizzando il comando seguente:
mount /dev/drbd1 /opt/
Quindi, crea alcuni file di test all'interno della directory /opt.
cd /opt touch file1 file2 file3 file4 file5 file6 file7 file8 file9
Successivamente, verifica il dispositivo montato con il seguente comando:
df -hT /opt
Dovresti vedere il seguente output:
Filesystem Type Size Used Avail Use% Mounted on /dev/drbd1 ext4 49G 53M 47G 1% /opt
Fase 9:monta il dispositivo DRBD sul secondo nodo
In questa sezione, monteremo il dispositivo DRBD sul secondo nodo e verificheremo se la replica funziona o meno.
Sul primo nodo , smonta il dispositivo DRBD e rendilo un nodo secondario con il seguente comando:
cd umount /opt drbdadm secondary resource0
Sul secondo nodo , rendi primario il secondo nodo con il seguente comando:
drbdadm primary resource0
Quindi, monta il dispositivo DRBD nella directory /opt con il seguente comando:
mount /dev/drbd1 /opt
Ora, esegui il seguente comando per stampare l'elenco dei file nella directory /opt:
ls /opt
Se tutto è a posto, tutti i file archiviati nel dispositivo DRBD dovrebbero essere lì:
Puoi anche controllare la partizione montata del dispositivo DRBD con il seguente comando:
df -hT /opt
Dovresti ottenere il seguente output:
Filesystem Type Size Used Avail Use% Mounted on /dev/drbd1 ext4 49G 53M 47G 1% /opt
Conclusione
Congratulazioni! Hai installato e configurato correttamente la replica con DRBD su CentOS 8. DRBD è un ottimo strumento se stai cercando di aumentare la disponibilità dei tuoi dati. Per ulteriori informazioni, è possibile visitare la documentazione DRBD. Prova DRBD oggi sul tuo account di hosting VPS da Atlantic.Net!