Documentazione di Ubuntu → Ubuntu 10.04 → Guida a Ubuntu server → Cluster → DRBD

## DRBD

DRDB (Distributed Replicated Block Device) replica i device a blocchi tra diversi host. La replica è trasparente alle applicazioni sul sistema host e qualsiasi device a blocchi (disco fisso, partizione, RAID, volume logico) può essere replicato.

Per utilizzare drbd, per prima cosa è necessario installare i pacchetti necessari. In un terminale digitare:

    sudo apt-get install drbd8-utils

Se si sta usando il kernel virtuale come parte di una macchina virtuale, è necessario compilare il modulo drbd. Potrebbe anche essere più semplice installare il pacchetto linux-server nella macchina virtuale.

In questa sezione viene indicato come configurare drbd per replicare tra due host una partizione `/srv` separata con file system ext3. La dimensione della partizione non è rilevante, ma entrambe le partizioni devono avere la stessa dimensione.

### Configurazione

I due host in questo esempio sono chiamati drbd01 e drbd02 ed è necessario configurarne la risoluzione del nome attraverso DNS o con il file `/etc/hosts`. Per maggiori informazioni, consultare Capitolo 7, DNS (Domain Name Service).

- Per configurare drbd, sul primo host modificare il file `/etc/drbd.conf`:

      global { usage-count no; }
      common { syncer { rate 100M; } }
      resource r0 {
              protocol C;
              startup {
                      wfc-timeout  15;
                      degr-wfc-timeout 60;
              }
              net {
                      cram-hmac-alg sha1;
                      shared-secret "secret";
              }
              on drbd01 {
                      device /dev/drbd0;
                      disk /dev/sdb1;
                      address 192.168.0.1:7788;
                      meta-disk internal;
              }
              on drbd02 {
                      device /dev/drbd0;
                      disk /dev/sdb1;
                      address 192.168.0.2:7788;
                      meta-disk internal;
              }
      }

  All'interno del file `/etc/drbd.conf` sono disponibili molte opzioni, ma per questo esempio i valori predefinito sono sufficienti.

- Copiare il file `/etc/drbd.conf` sul secondo host:

      scp /etc/drbd.conf drbd02:~

- Sull'host drbd02, spostare il file in `/etc`:

      sudo mv drbd.conf /etc/

- Su entrambi gli host, avviare il demone drbd:

      sudo /etc/init.d/drbd start

- Utilizzando l'utilità drbdadm, inizializzare l'archivio dei meta-dati. Su ogni singolo server eseguire il seguente comando:

      sudo drbdadm create-md r0

- Sull'host drbd01, o su qualsiasi host primario configurato, digitare:

      sudo drbdadm -- --overwrite-data-of-peer primary all

- Una volta eseguito il comando precedente, i dati vengono sincronizzati con l'host secondario. Per visualizzare l'avanzamento, sull'host drbd02 digitare:

      watch -n1 cat /proc/drbd

  Per fermare l'operazione di controllo, premere Ctrl+c.

- Infine, aggiungere un file system a `/dev/drbd0` e montarlo:

      sudo mkfs.ext3 /dev/drbd0
      sudo mount /dev/drbd0 /srv

### Test

Per verificare che i dati siano effettivamente sincronizzati tra gli host, copiare alcuni file sull'host primario, drbd01, nella directory `/srv`:

    sudo cp -r /etc/default /srv

Smontare `/srv`:

    sudo umount /srv

Retrocedere il server primario a ruolo di secondario:

    sudo drbdadm secondary r0

Ora, promuovere il server secondario a primario:

    sudo drbdadm primary r0

Per completare, montare la partizione:

    sudo mount /dev/drbd0 /srv

Usando ls dovrebbe essere possibile vedere il file `/srv/default` copiato dal precedente host primario drbd01.

### Riferimenti

- Per maggiori informazioni riguardo DRBD, consultare il sito web di DRBD.

- The drbd.conf man page contains details on the options not covered in this guide.

- Also, see the drbdadm man page.

- The DRBD Ubuntu Wiki page also has more information.

Capitolo 20. Cluster |  | Capitolo 21. VPN