GlusterFS · 7 min read · Nov 26, 2025
Come installare e configurare GlusterFS su Ubuntu

GlusterFS è un file system di rete gratuito, open source e scalabile sviluppato inizialmente da Gluster Inc. e successivamente da Redhat. È specificamente progettato per carichi di lavoro intensivi di dati come lo storage cloud, CDN e streaming multimediale. È in grado di gestire petabyte di dati e può quindi servire migliaia di client. Supporta vari protocolli come NFS, SMB, CIFS, HTTP e FTP. Con GlusterFS, puoi combinare diverse risorse di storage su disco in un unico namespace globale.
In questo tutorial impareremo come impostare un volume GlusterFS replicato su Ubuntu 18.04.
Requisiti
- Due server che eseguono Ubuntu 18.04 con 2 GB di HDD esterno ciascuno.
- Un indirizzo IP statico 172.20.10.5 è configurato su node1 e 172.20.10.6 è configurato su node2.
- Una password di root è configurata su entrambi i server.
Iniziare
Prima di iniziare, dovrai aggiornare entrambi i server con l’ultima versione. Puoi aggiornarli eseguendo il seguente comando su entrambi i server.
apt-get update -y
apt-get upgrade -yUna volta aggiornati entrambi i server, riavviali per applicare le modifiche.
Successivamente, dovrai impostare la risoluzione dei nomi host su entrambi i server in modo che ciascun server possa comunicare con l’altro per nome host. Puoi farlo modificando il file /etc/hosts su entrambi i server:
nano /etc/hostsAggiungi le seguenti righe:
172.20.10.5 node1
172.20.10.6 node2
Salva e chiudi il file quando hai finito.
Installa GlusterFS
Per prima cosa, dovrai installare il pacchetto GlusterFS su entrambi i server. Per impostazione predefinita, GlusterFS non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi dovrai aggiungere il repository GlusterFS su entrambi i server.
Prima, installa il pacchetto richiesto con il seguente comando:
apt-get install software-properties-common -ySuccessivamente, aggiungi il repository con il seguente comando:
add-apt-repository ppa:gluster/glusterfs-5Successivamente, installa il server GlusterFS con il seguente comando:
apt-get install glusterfs-server -yUna volta completata l’installazione, avvia il servizio GlusterFS e abilitalo per avviarsi all’avvio con il seguente comando:
systemctl start glusterd
systemctl enable glusterdPuoi anche controllare lo stato del servizio GlusterFS con il seguente comando:
systemctl status glusterdDovresti vedere il seguente output:
? glusterd.service - GlusterFS, un server di file system clusterizzato
Loaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-11-07 12:51:15 UTC; 48s ago
Main PID: 7199 (glusterd)
Tasks: 8 (limit: 505)
CGroup: /system.slice/glusterd.service
??7199 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
Nov 07 12:51:06 ubuntu systemd[1]: Starting GlusterFS, un server di file system clusterizzato...
Nov 07 12:51:15 ubuntu systemd[1]: Avviato GlusterFS, un server di file system clusterizzato.
Crea storage GlusterFS
Successivamente, dovrai creare una partizione sull’hard disk esterno (/dev/sdb) su entrambi i server.
Per creare una nuova partizione su /dev/sdb, esegui il seguente comando:
fdisk /dev/sdbDovresti vedere il seguente output:
Benvenuto in fdisk (util-linux 2.31.1).
Le modifiche rimarranno in memoria solo fino a quando non decidi di scriverle.
Fai attenzione prima di usare il comando di scrittura.
Il dispositivo non contiene una tabella delle partizioni riconosciuta.
Creata una nuova etichetta del disco DOS con identificatore disco 0x06091fe8.
Comando (m per aiuto): n
Tipo di partizione
p primaria (0 primaria, 0 estesa, 4 libera)
e estesa (contenitore per partizioni logiche)
Seleziona (predefinito p): p
Numero di partizione (1-4, predefinito 1):
Primo settore (2048-4194303, predefinito 2048):
Ultimo settore, +settori o +dimensione{K,M,G,T,P} (2048-4194303, predefinito 4194303):
Creata una nuova partizione 1 di tipo 'Linux' e di dimensione 2 GiB.
Comando (m per aiuto): w
La tabella delle partizioni è stata modificata.
Chiamando ioctl() per rileggere la tabella delle partizioni.
Sincronizzazione dischi.
Successivamente, formatta la partizione con il seguente comando:
mkfs.xfs /dev/sdb1Dovresti vedere il seguente output:
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131008 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=524032, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Successivamente, crea una directory per lo storage GlusterFS su entrambi i server con il seguente comando:
mkdir /glusterdataSuccessivamente, monta il disco /dev/sdb1 su una directory /glusterdata.
mount.xfs /dev/sdb1 /glusterdataSuccessivamente, rendi il montaggio persistente attraverso il riavvio modificando il file /etc/fstab:
nano /etc/fstabAggiungi la seguente riga:
/dev/sdb1 /glusterdata xfs defaults 0 0
Salva e chiudi il file, quindi esegui il seguente comando per applicare le modifiche:
mount -aOra puoi controllare la directory montata con il seguente comando:
df -hDovresti vedere il seguente output:
Filesystem Size Used Avail Use% Mounted on
udev 211M 0 211M 0% /dev
tmpfs 49M 1016K 48M 3% /run
/dev/sda2 30G 4.3G 25G 16% /
tmpfs 241M 12K 241M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 241M 0 241M 0% /sys/fs/cgroup
/dev/loop0 87M 87M 0 100% /snap/core/4486
tmpfs 49M 0 49M 0% /run/user/0
/dev/loop1 90M 90M 0 100% /snap/core/7917
/dev/sdb1 2.0G 35M 2.0G 2% /glusterdata
Configura il volume GlusterFS
Per prima cosa, dovrai creare un pool di storage fidato aggiungendo node2 su node1. Per farlo, esegui il seguente comando su node1:
gluster peer probe node2Puoi elencare il pool di storage con il seguente comando:
gluster pool listDovresti ottenere il seguente output:
UUID Hostname State
d049b519-9210-4bfa-a1c6-0d1454a88ea0 node2 Connected
dbb9252e-6082-4d31-aaef-1b99e0e0c369 localhost Connected
Successivamente, crea una directory brick su entrambi i nodi con il seguente comando:
mkdir /glusterdata/vol1Successivamente, crea un volume chiamato vol1 con due repliche:
gluster volume create vol1 replica 2 node1:/glusterdata/vol1 node2:/glusterdata/vol1Successivamente, avvia il volume utilizzando il seguente comando:
gluster volume start vol1Puoi controllare lo stato del volume creato con il seguente comando:
gluster volume statusDovresti ottenere il seguente output:
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glusterdata/vol1 49152 0 Y 7987
Brick node2:/glusterdata/vol1 49152 0 Y 18565
Self-heal Daemon on localhost N/A N/A Y 8010
Self-heal Daemon on node2 N/A N/A Y 18588
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
Puoi anche vedere le informazioni sul volume creato con il seguente comando:
gluster volume info vol1Dovresti ottenere il seguente output:
Volume Name: vol1
Type: Replicate
Volume ID: e093ae7a-70ac-42b8-ab3f-a8bd186c5740
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/glusterdata/vol1
Brick2: node2:/glusterdata/vol1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
Successivamente, monta il volume creato sulla directory /mnt su entrambi i nodi modificando il file /etc/fstab in modo che il tuo volume sia disponibile dopo l’avvio del server.
nano /etc/fstabAggiungi la seguente riga:
localhost:/vol1 /mnt glusterfs defaults,_netdev 0 0
Salva e chiudi il file quando hai finito. Quindi, esegui il seguente comando per applicare le modifiche:
mount -aTest di replicazione
Il server GlusterFS è ora installato e configurato. È tempo di testare la replicazione tra i due nodi.
Per prima cosa, crea due file su node1:
touch /mnt/file1 /mnt/file2Ora, vai su node2 e esegui il seguente comando:
ls -l /mnt/Dovresti vedere gli stessi file che hai creato su node1:
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 file1
-rw-r--r-- 1 root root 0 Nov 7 13:42 file2
Ora, ferma il servizio GlusterFS su node2 con il seguente comando:
service glusterd stopSuccessivamente, vai su node1 e controlla lo stato del peer:
gluster peer statusDovresti vedere che node2 è stato disconnesso:
Number of Peers: 1
Hostname: node2
Uuid: d049b519-9210-4bfa-a1c6-0d1454a88ea0
State: Peer in Cluster (Disconnected)
Puoi anche controllare lo stato del volume con il seguente comando:
gluster volume statusDovresti vedere il seguente output:
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glusterdata/vol1 49152 0 Y 7987
Self-heal Daemon on localhost N/A N/A Y 8010
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
Successivamente, crea altri due file su node1:
touch /mnt/file3 /mnt/file4Ora, vai su node2 e avvia il servizio GlusterFS con il seguente comando:
service glusterd startOra, controlla la directory /mnt su node2:
ls -l /mnt/Dovresti vedere che tutti i file da node1 sono stati replicati e sono ora disponibili.
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 file1
-rw-r--r-- 1 root root 0 Nov 7 13:42 file2
-rw-r--r-- 1 root root 0 Nov 7 13:44 file3
-rw-r--r-- 1 root root 0 Nov 7 13:44 file4
Conclusione
Congratulazioni! hai installato e configurato con successo un volume Glusterfs replicato a due nodi sul server Ubuntu 18.04. Puoi anche configurare un volume Glusterfs distribuito, un volume Glusterfs replicato distribuito, un volume Glusterfs a strisce e un volume Glusterfs distribuito a strisce.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.