NFS Server · 4 min read · Oct 09, 2025

Impostare un server NFS ad alta disponibilità

Questo è un “copia e incolla” HowTo!

Il modo più semplice per seguire questo tutorial è utilizzare un client della riga di comando/client SSH (come

PuTTY

per Windows) e semplicemente copiare e incollare i comandi (eccetto dove devi fornire informazioni proprie come indirizzi IP, nomi host, password,…). Questo aiuta a evitare errori di battitura.

Impostare un server NFS ad alta disponibilità

Versione 1.0
Autore: Falko Timme
Ultima modifica: 03/07/2006

In questo tutorial descriverò come impostare un server NFS ad alta disponibilità che può essere utilizzato come soluzione di archiviazione per altri servizi ad alta disponibilità come, ad esempio, un cluster di server web che vengono bilanciati. Se hai un cluster di server web con due o più nodi che servono lo stesso sito web, allora questi nodi devono accedere allo stesso pool di dati in modo che ogni nodo serva gli stessi dati, indipendentemente dal fatto che il bilanciatore di carico indirizzi l’utente al nodo 1 o al nodo n. Questo può essere realizzato con una condivisione NFS su un server NFS a cui tutti i nodi del server web (i client NFS) possono accedere.

Poiché non vogliamo che il server NFS diventi un altro “Punto Unico di Guasto”, dobbiamo renderlo altamente disponibile. Infatti, in questo tutorial creerò due server NFS che rispecchiano i loro dati l’uno all’altro in tempo reale utilizzando DRBD e che si monitorano a vicenda utilizzando heartbeat, e se un server NFS fallisce, l’altro subentra silenziosamente. Per l’esterno (ad esempio, i nodi del server web) questi due server NFS appariranno come un unico server NFS.

In questa configurazione utilizzerò Debian Sarge (3.1) per i due server NFS così come per il client NFS (che rappresenta un nodo del cluster del server web).

Voglio dire prima che questo non è l’unico modo per impostare un tale sistema. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che scelgo. Non rilascio alcuna garanzia che questo funzionerà per te!

1 La mia configurazione

In questo documento utilizzo i seguenti sistemi:

  • Server NFS 1: server1.example.com, indirizzo IP: 192.168.0.172; mi riferirò a questo come server1.
  • Server NFS 2: server2.example.com, indirizzo IP: 192.168.0.173; mi riferirò a questo come server2.
  • Indirizzo IP virtuale: utilizzo 192.168.0.174 come indirizzo IP virtuale che rappresenta il cluster NFS all’esterno.
  • Client NFS (ad esempio, un nodo del cluster del server web): client.example.com, indirizzo IP: 192.168.0.100; mi riferirò al client NFS come client.
  • La directory /data sarà rispecchiata da DRBD tra server1 e server2. Conterrà la condivisione NFS /data/export.

2 Installazione di base di server1 e server2

Prima impostiamo due sistemi Debian di base per server1 e server2. Puoi farlo come descritto nelle prime due pagine di questo tutorial: https://www.howtoforge.com/perfect_setup_debian_sarge. Come nome host, inserisci server1 e server2 rispettivamente, e come dominio inserisci example.com.

Per quanto riguarda il partizionamento, utilizzo il seguente schema di partizione:

/dev/sda1 – 100 MB /boot (primaria, ext3, Flag avviabile: attivo)
/dev/sda5 – 5000 MB / (logica, ext3)
/dev/sda6 – 1000 MB swap (logica)
/dev/sda7 – 150 MB non montata (logica, ext3)
(conterrà i metadati di DRBD)
/dev/sda8 – 26 GB non montata (logica, ext3)
(conterrà la directory /data)

Puoi variare le dimensioni delle partizioni a seconda della dimensione del tuo disco rigido, e i nomi delle tue partizioni potrebbero anche variare, a seconda dell’hardware (ad esempio, potresti avere /dev/hda1 invece di /dev/sda1 e così via). Tuttavia, è importante che /dev/sda7 abbia un po’ più di 128 MB perché utilizzeremo questa partizione per i metadati di DRBD che utilizza 128 MB. Inoltre, assicurati che /dev/sda7 così come /dev/sda8 siano identici in dimensione su server1 e server2, e per favore non montarli (quando l’installer ti chiede:

Non è assegnato alcun punto di montaggio per il file system ext3 nella partizione #7 di SCSI1 (0,0,0) (sda).
Vuoi tornare al menu di partizionamento?

rispondi No)! /dev/sda8 sarà la nostra partizione dati (cioè, la nostra condivisione NFS).

Dopo l’installazione di base assicurati di dare a server1 e server2 indirizzi IP statici ( server1: 192.168.0.172, server2: 192.168.0.173), come descritto all’inizio di https://www.howtoforge.com/perfect_setup_debian_sarge_p3).

Successivamente, dovresti controllare /etc/fstab su entrambi i sistemi. Il mio appare così su entrambi i sistemi:

| # /etc/fstab: informazioni statiche sul file system. # # proc /proc proc defaults 0 0 /dev/sda5 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /boot ext3 defaults 0 2 /dev/sda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

Se scopri che il tuo appare così, ad esempio:

| # /etc/fstab: informazioni statiche sul file system. # # proc /proc proc defaults 0 0 /dev/hda5 / ext3 defaults,errors=remount-ro 0 1 /dev/hda1 /boot ext3 defaults 0 2 /dev/hda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

allora assicurati di utilizzare /dev/hda invece di /dev/sda nei seguenti file di configurazione. Assicurati anche che /dev/sda7 (o /dev/hda7) e /dev/sda8 (o /dev/hda8…) non siano elencati in /etc/fstab!

3 Sincronizzare l’ora di sistema

È importante che sia server1 che server2 abbiano la stessa ora di sistema. Pertanto installiamo un client NTP su entrambi:

server1/server2:

apt-get install ntp ntpdate

Successivamente puoi controllare che entrambi abbiano la stessa ora eseguendo

server1/server2:

date

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.