GlusterFS · 4 min read · Feb 11, 2026

Creare un server di archiviazione autonomo simile a NFS con GlusterFS 3.2.x su Debian Wheezy

Questo tutorial mostra come impostare un server di archiviazione autonomo su Debian Wheezy. Invece di NFS, utilizzerò GlusterFS qui. Il sistema client sarà in grado di accedere all’archiviazione come se fosse un filesystem locale. GlusterFS è un filesystem clusterizzato in grado di scalare fino a diversi petabyte. Aggrega vari mattoni di archiviazione su Infiniband RDMA o TCP/IP in un grande filesystem di rete parallelo. I mattoni di archiviazione possono essere costituiti da qualsiasi hardware commerciale come server x86_64 con RAID SATA-II e HBA Infiniband.

Non rilascio alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

In questo tutorial utilizzo due sistemi, un server e un client:

  • server1.example.com: indirizzo IP 192.168.0.100 (server)
  • client1.example.com: indirizzo IP 192.168.0.101 (client)

Entrambi i sistemi dovrebbero essere in grado di risolvere il nome host dell’altro sistema. Se ciò non può essere fatto tramite DNS, dovresti modificare il file /etc/hosts in modo che appaia come segue su entrambi i sistemi:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # Le seguenti righe sono desiderabili per host compatibili con IPv6 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters |

(È anche possibile utilizzare indirizzi IP invece di nomi host nella configurazione seguente. Se preferisci utilizzare indirizzi IP, non devi preoccuparti se i nomi host possono essere risolti o meno.)

2 Impostare il Server GlusterFS

server1.example.com:

GlusterFS è disponibile come pacchetto per Debian Wheezy, quindi possiamo installarlo come segue:

apt-get install glusterfs-server

Il comando

glusterfsd --version

dovrebbe ora mostrare la versione di GlusterFS che hai appena installato (3.2.7 in questo caso):

root@server1:~# glusterfsd –version
glusterfs 3.2.7 built on Nov 12 2012 19:30:08
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. http://www.gluster.com
GlusterFS viene fornito senza ALCUNA GARANZIA.
Puoi ridistribuire copie di GlusterFS secondo i termini della GNU General Public License.
root@server1:~#

Se utilizzi un firewall, assicurati che le porte TCP 111, 24007, 24008, 24009-(24009 + numero di mattoni su tutti i volumi) siano aperte su server1.example.com.

Successivamente creiamo la condivisione chiamata testvol su localhost (= server1) nella directory /data (questa verrà creata se non esiste):

gluster volume create testvol server1.example.com:/data

root@server1:~# gluster volume create testvol server1.example.com:/data
La creazione del volume testvol è stata completata con successo. Si prega di avviare il volume per accedere ai dati.
root@server1:~#

Avvia il volume:

gluster volume start testvol

È possibile che il comando sopra ti dica che l’azione non è stata completata con successo:

root@server1:~# gluster volume start testvol
Avvio del volume testvol non riuscito
root@server1:~#

Puoi controllare lo stato del volume con il comando

gluster volume info
root@server1:~# gluster volume info

Nome Volume: testvol
Tipo: Distribuito
Stato: Avviato
Numero di Mattoni: 1
Tipo di Trasporto: tcp
Mattoni:
Brick1: server1.example.com:/data
root@server1:~#

Se ti dice che il volume è avviato, tutto va bene, altrimenti avvialo di nuovo.

Per impostazione predefinita, tutti i client possono connettersi al volume. Se desideri concedere accesso solo a client1.example.com (= 192.168.0.101), esegui:

gluster volume set testvol auth.allow 192.168.0.101

Si prega di notare che è possibile utilizzare caratteri jolly per gli indirizzi IP (come 192.168.*) e che puoi specificare più indirizzi IP separati da virgola (ad es. 192.168.0.101,192.168.0.102).

Le informazioni sul volume dovrebbero ora mostrare lo stato aggiornato:

gluster volume info
root@server1:~# gluster volume info

Nome Volume: testvol
Tipo: Distribuito
Stato: Avviato
Numero di Mattoni: 1
Tipo di Trasporto: tcp
Mattoni:
Brick1: server1.example.com:/data
Opzioni Riconfigurate:
auth.allow: 192.168.0.101
root@server1:~#

3 Impostare il Client GlusterFS

client1.example.com:

Sul client, possiamo installare il client GlusterFS come segue:

apt-get install glusterfs-client

Poi creiamo la seguente directory:

mkdir /mnt/glusterfs

Questo è tutto! Ora possiamo montare il filesystem GlusterFS su /mnt/glusterfs con il seguente comando:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

Ora dovresti vedere la nuova condivisione negli output di…

mount

root@client1:~# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
odev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 on /boot type ext2 (rw,relatime,errors=continue)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
root@client1:~#

… e…

df -h

root@client1:~# df -h
Filesystem                    Size  Used Avail Use% Mounted on
rootfs                         29G  1.2G   26G   5% /
udev                           10M     0   10M   0% /dev
tmpfs                         101M  240K  101M   1% /run
/dev/mapper/server1-root       29G  1.2G   26G   5% /
tmpfs                         5.0M     0  5.0M   0% /run/lock
tmpfs                         201M     0  201M   0% /run/shm
/dev/sda1                     228M   18M  199M   9% /boot
server1.example.com:/testvol   29G  1.2G   26G   5% /mnt/glusterfs
root@client1:~#

Invece di montare manualmente la condivisione GlusterFS sul client, potresti modificare /etc/fstab in modo che la condivisione venga montata automaticamente all’avvio del client.

Apri /etc/fstab e aggiungi la seguente riga:

vi /etc/fstab  

| [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |

Per testare se il tuo /etc/fstab modificato funziona, riavvia il client:

reboot

Dopo il riavvio, dovresti trovare la condivisione negli output di…

df -h

… e…

mount

4 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.