DRBD Setup · 6 min read · Jan 30, 2026

DRBD 8.3 Replica di Terzo Nodo Con Debian Etch

DRBD 8.3 Replica di Terzo Nodo Con Debian Etch

Guida all’Installazione e Configurazione per DRBD 8.3 + Debian Etch

Configurazione del Terzo Nodo

by Brian Hellman

Il recente rilascio di DRBD 8.3 include ora la funzionalità Il Terzo Nodo come componente disponibile gratuitamente. Questo documento tratterà le basi per impostare un terzo nodo su un’installazione standard di Debian Etch. Alla fine di questo tutorial avrai un dispositivo DRBD che può essere utilizzato come SAN, un target iSCSI, un server di file o un server di database.

Nota: i clienti supportati da LINBIT possono saltare la Sezione 1 e utilizzare i repository dei pacchetti.

LINBIT ha soluzioni per terzi nodi disponibili, si prega di contattarli a [email protected] per ulteriori informazioni.

Prefazione:

La configurazione è la seguente:

  • Tre server: alpha, bravo, foxtrot
  • alpha e bravo sono i nodi locali primario e secondario
  • foxtrot è il terzo nodo che si trova su una rete remota
  • Sia alpha che bravo hanno interfacce sulla rete 192.168.1.x (eth0) per la connettività esterna.
  • Esiste un collegamento incrociato su alpha e bravo (eth1) per la replica utilizzando 172.16.6.10 e .20
  • Heartbeat fornisce un IP virtuale di 192.168.5.2 per comunicare con il nodo di disaster recovery situato in una posizione geograficamente diversa

Sezione 1: Installazione della Sorgente

Questi passaggi devono essere eseguiti su ciascuno dei 3 nodi.

Prerequisiti:

  • make
  • gcc
  • librerie di sviluppo glibc
  • generatore di scanner flex
  • intestazioni per il kernel attuale

Inserisci quanto segue nella riga di comando come utente privilegiato per soddisfare queste dipendenze:

apt-get install make gcc libc6 flex linux-headers-uname -r libc6-dev linux-kernel-headers

Una volta installate le dipendenze, scarica DRBD. L’ultima versione può sempre essere ottenuta su http://oss.linbit.com/drbd/. Attualmente, è 8.3.

cd /usr/src/
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz

Dopo che il download è completo:

  • Decomprimere DRBD
  • Entrare nella directory sorgente
  • Compilare la sorgente
  • Installare DRBD

tar -xzvf drbd-8.3.0.tar.gz
cd /usr/src/drbd-8.3.0/
make clean all
make install

Ora carica e verifica il modulo:

modprobe drbd
cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11

Una volta completato su ciascuno dei tre nodi, continua alla sezione successiva.

Sezione 2: Configurazione di Heartbeat

Impostare un terzo nodo implica sovrapporre DRBD su DRBD. È necessario un IP virtuale a cui il terzo nodo possa connettersi, per questo imposteremo una semplice configurazione di Heartbeat v1. Questa sezione sarà eseguita solo su alpha e bravo.

Installa Heartbeat:

apt-get install heartbeat

Modifica il file authkeys:

vi /etc/ha.d/authkeys

auth 1
1 sha1 yoursupersecretpasswordhere

Una volta creato il file, cambia i permessi sul file. Heartbeat non si avvierà se questo passaggio non viene seguito.

chmod 600 /etc/ha.d/authkeys

Copia il file authkeys su bravo:

scp /etc/ha.d/authkeys bravo:/etc/ha.d/

Modifica il file ha.cf:

vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
    logfile /var/log/ha-log
    logfacility     local0
    keepalive 1
    deadtime 10
    warntime 5
    initdead 60
    udpport 694
    ucast eth0 192.168.1.10
    ucast eth0 192.168.1.20
    auto_failback off
    node alpha
    node bravo

Copia il file ha.cf su bravo:

scp /etc/ha.d/ha.cf bravo:/etc/ha.d/

Modifica il file haresources, l’IP creato qui sarà l’IP a cui il nostro terzo nodo si riferisce.

vi /etc/ha.d/haresources
alpha IPaddr::192.168.5.2/24/eth0

Copia il file haresources su bravo:

scp /etc/ha.d/haresources bravo:/etc/ha.d/

Avvia il servizio heartbeat su entrambi i server per attivare l’IP virtuale:

alpha:/# /etc/init.d/heartbeat start
bravo:/# /etc/init.d/heartbeat start

Heartbeat attiverà la nuova interfaccia (eth0:0).

Nota: potrebbe richiedere fino a un minuto a heartbeat per attivare l’interfaccia.

alpha:/# ifconfig eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:08:C7:DB:01:CC
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Sezione 3: Configurazione di DRBD

La configurazione per DRBD è fatta tramite il file drbd.conf. Questo deve essere lo stesso su tutti i nodi (alpha, bravo, foxtrot). Si prega di notare che il conteggio dell’uso è impostato su yes, il che significa che notificherà Linbit che hai installato DRBD. Non vengono raccolte informazioni personali. Si prega di vedere questa pagina per ulteriori informazioni :

global { usage-count yes; }

resource data-lower {
  protocol C;
  net {
    shared-secret "LINBIT";
  }
syncer {
    rate 12M;
}

  on alpha {
    device     /dev/drbd1;
    disk       /dev/hdb1;
    address    172.16.6.10:7788;
    meta-disk  internal;
  }

  on bravo {
    device    /dev/drbd1;
    disk      /dev/hdd1;
    address   172.16.6.20:7788;
    meta-disk internal;
  }
}

  resource data-upper {
  protocol A;
  syncer {
    after data-lower;
    rate 12M;
    al-extents 513;
  }
  net {
        shared-secret "LINBIT";
  }
  stacked-on-top-of data-lower {
        device /dev/drbd3;
        address 192.168.5.2:7788; # IP fornito da Heartbeat
        }

  on foxtrot {
    device     /dev/drbd3;
    disk       /dev/sdb1;
    address    192.168.5.3:7788; # IP pubblico del nodo di backup
    meta-disk  internal;
  }
}

Sezione 4: Preparazione Dei Dispositivi DRBD

Ora che la configurazione è in atto, crea i metadati su alpha e bravo.

alpha:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Scrittura dei metadati…
inizializzazione del registro delle attività
NON inizializzato bitmap
Nuovo blocco di metadati drbd creato con successo.

bravo:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Scrittura dei metadati…
inizializzazione del registro delle attività
NON inizializzato bitmap
Nuovo blocco di metadati drbd creato con successo.

Ora avvia DRBD su alpha e bravo:

alpha:/usr/src/drbd-8.3.0# /etc/init.d/drbd start
bravo:/usr/src/drbd-8.3.0# /etc/init.d/drbd start

Verifica che i dispositivi DRBD di livello inferiore siano connessi:

cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530844

Dì ad alpha di diventare il nodo primario:

NOTA: Come indica il comando, questo sovrascriverà qualsiasi dato su bravo: Ora è un buon momento per andare a prendere la tua bevanda preferita.

alpha:/# drbdadm – –overwrite-data-of-peer primary data-lower
alpha:/# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—
ns:3088464 nr:0 dw:0 dr:3089408 al:0 bm:188 lo:23 pe:6 ua:53 ap:0 ep:1 wo:b oos:16442556
[==>……………..] sincronizzato: 15.9% (16057/19073)M
fine: 0:16:30 velocità: 16,512 (8,276) K/sec

Dopo che la sincronizzazione dei dati è terminata, crea i metadati su data-upper su alpha, seguito da foxtrot.

Nota che la risorsa è data-upper e l’opzione –stacked è solo su alpha.

alpha:~# drbdadm –stacked create-md data-upper

Scrittura dei metadati…
inizializzazione del registro delle attività
NON inizializzato bitmap
Nuovo blocco di metadati drbd creato con successo.
successo

foxtrot:/usr/src/drbd-8.3.0# drbdadm create-md data-upper

Scrittura dei metadati…
inizializzazione del registro delle attività
NON inizializzato bitmap
Nuovo blocco di metadati drbd creato con successo.

Attiva la risorsa sovrapposta, quindi rendi alpha il primario di data-upper:

alpha:/# drbdadm --stacked adjust data-upper

foxtrot:~# drbdadm adjust data-upper
foxtrot:~# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@foxtrot, 2009-02-02 10:28:37
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent A r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530208

alpha:~# drbdadm –stacked – –overwrite-data-of-peer primary data-upper
alpha:~# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—
ns:19532532 nr:0 dw:1688 dr:34046020 al:1 bm:1196 lo:156 pe:0 ua:0 ap:156 ep:1 wo:b oos:0
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent A r—
ns:14512132 nr:0 dw:0 dr:14512676 al:0 bm:885 lo:156 pe:32 ua:292 ap:0 ep:1 wo:b oos:5018200
[=============>……] sincronizzato: 74.4% (4900/19072)M
fine: 0:07:06 velocità: 11,776 (10,992) K/sec

È di nuovo ora di bere!

Dopo che la sincronizzazione è completa, accedi al tuo dispositivo a blocchi DRBD tramite /dev/drbd3. Questo scriverà su entrambi i nodi locali e sul terzo nodo remoto. Nella tua configurazione di Heartbeat utilizzerai lo script “drbdupper” per attivare il tuo dispositivo /dev/drbd3. Divertiti!

DRBD® e LINBIT® sono marchi registrati di LINBIT, Austria.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.