Introduzione
Il dispositivo a blocchi replicato di distribuzione è un componente software opensource basato su Linux utilizzato in un cluster Linux che facilita la sostituzione dei sistemi di archiviazione condivisi mediante il mirroring di rete.
La funzione di replica senza interruzioni di un sistema DRBD rende obbligatorio averlo, in ogni cluster e con DRBD, il ripristino dei dati allo stato precedente è il più semplice possibile.
Questo tutorial dimostrerà la configurazione di un sistema DRBD tra due server Centos.
Consideriamo i due server Centos7 in un cluster, come Nodo 1 e Nodo 2 e prima di iniziare, assicurati di soddisfare tutti i requisiti indicati di seguito:
Prerequisiti
- Due server Centos (nodo 1 e nodo 2)
Per questo tutorial utilizzeremo due server CentOs 7. Questi due server verranno menzionati rispettivamente come Nodo 1 e Nodo 2 durante il tutorial
- Disco locale dedicato su ogni nodo.
Per configurare DRBD, devi disporre di partizioni disco dedicate su entrambi i nodi.
NotaSe stai configurando DRBD su istanze di E2E Networks, contatta il nostro team di supporto per quanto riguarda il partizionamento dei dischi locali.
- IP privati dedicati per il nodo 1 e il nodo 2
- Abilita il repository yum seguendo il link sotto indicato
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Quindi importa la chiave pubblica sul nodo 1 e sul nodo 2 utilizzando il seguente comando su entrambi i nodi:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
Installazione del pacchetto DRBD
Dopo aver importato la chiave pubblica, installa il pacchetto DRBD di seguito indicato su entrambi i nodi.
yum install -y kmod-drbd84-8.4.7 drbd84-utils
Dopo aver installato il pacchetto DRBD, riavviare entrambi i nodi manualmente utilizzando il comando
modprobe drbd
Per verificare se i moduli drbd sono caricati correttamente, usa il comando
lsmod | grep drbd
Se i moduli vengono caricati correttamente, vedrai i seguenti risultati.
drbd 405309 0 libcrc32c 12644 1 drbd
Configura configurazione DRBD
Il prossimo passo è configurare il DRBD in Linux. Per fare ciò dobbiamo creare un file di prova con estensione .res . Chiameremo il file test1.res e il percorso dovrebbe essere /etc/drbd.d/
vi /etc/drbd.d/test1.res
Copia il contenuto qui sotto nel file test1.res
resource test1 { protocol C; on node1 { device /dev/drbd0; disk /dev/sdb; address IP of node 1:7788; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sdb; address IP of node 2:7788; meta-disk internal; } }
Nota:sostituire gli indirizzi IP corrispondenti del nodo 1 e del nodo 2 al posto del testo evidenziato in rosso sopra.
Dopo questo copia questo file di configurazione anche sull'altro nodo usando il seguente comando
[root@DRBDtest1 ~]# cat /proc/drbdscp /etc/drbd.d/test1.res node2:/etc/drbd.d/
Avvia l'archiviazione dei metadati su entrambi i nodi utilizzando lo stesso comando in entrambi
[root@DRBDtest1 ~]# cat /proc/drbddrbdadm create-md test1
Riceverai il seguente messaggio nel terminale durante l'inizializzazione riuscita dei metadati su entrambi i nodi.
--== Thank you for participating in the global usage survey ==-- The server's response is: you are the 17960th user to install this version
Abilita funzione demone DRBD
Quindi inserisci i seguenti comandi in ciascuno dei nodi per abilitare la funzione DRBD Daemon.
[root@DRBDtest1 ~]# systemctl start drbd [root@DRBDtest1 ~]# systemctl enable drbd
L'esecuzione del comando precedente ti darà il seguente risultato
Created symlink from /etc/systemd/system/multi-user.target.wants/drbd.service to /usr/lib/systemd/system/drbd.service.
Il prossimo passo è abilitare il nodo primario che si ottiene usando il comando
[root@DRBDtest1 ~]# drbdadm primary test1
Dopo aver abilitato il nodo DRBD 1, verificarne lo stato tramite il comando
[root@DRBDtest1 ~]# cat /proc/drbd
Questo sarà il seguente risultato
version: 8.4.7-1 (api:1/proto:86-101) GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by phil@Build64R7, 2016-01-12 14:29:40 .......
Crea e monta filesystem su DRBD
Ora dovresti creare un file system e montarlo sul dispositivo DRDB seguendo i passaggi seguenti
[root@DRBDtest1 ~]# cat /proc/drbdmkfs.ext3 /dev/drbd0 [root@DRBDtest1 ~]# cat /proc/drbdmount /dev/drbd0 /mnt [root@DRBDtest1 ~]# cat /proc/drbdtouch /mnt/testfile [root@DRBDtest1 ~]# cat /proc/drbdll /mnt/
Test configurazione DRBD
Ora è il momento di testare le configurazioni DRBD che sono state impostate.
[root@DRBDtest1 ~]# umount /mnt [root@DRBDtest1 ~]# drbdadm secondary test1
Cambia il nodo secondario in nodo primario sul secondo nodo "nodo2"
[root@DRBDtest2 ~]# drbdadm primary test1 [root@DRBDtest2 ~]# mount /dev/drbd0 /mnt [root@DRBDtest2 ~]# ll /mnt
Ora i dati dal nodo 1 vengono replicati nel nodo 2 .