GlusterFS · 13 min read · Dec 06, 2025

Come installare GlusterFS Scalable Network Filesystem su Debian 11

GlusterFS o Gluster File System è un file system distribuito gratuito e open-source sviluppato da RedHat. GlusterFS è un file system scalabile formato da diversi server in un’unica entità di file system che consente agli utenti di connettersi e montare il volume GlusterFS.

GlusterFS è un file system moderno che può gestire petabyte di dati. Inoltre, è facile da installare e mantenere, ed è anche facile da scalare.

In questo tutorial, installerai GlusterFS - file system di rete distribuito e scalabile - sui server Debian 11. Configurerai un volume GlusterFS che replica automaticamente i dati su più server e imposterai il file system ad alta disponibilità. Inoltre, imparerai anche a utilizzare ‘parted’, uno strumento di partizionamento Linux per configurare dischi aggiuntivi sui server Debian. Infine, verificherai la replica dei dati su GlusterFS tra più server Debian e verificherai anche l’alta disponibilità.

Prerequisiti

Per completare questo tutorial, devi avere i seguenti requisiti:

  • Due o tre server Debian 11.
  • Un utente non root con privilegi sudo/amministratore root.

Questo esempio utilizza tre server Debian 11 con i seguenti dettagli:

Hostname    IP Address  
--------------------------  
node1       192.168.5.50  
node2       192.168.5.56  
node3       192.168.5.57

Questo è tutto. Se questi requisiti sono pronti, inizia l’installazione di GlusterFS.

Configurazione del Nome Host e FQDN

Il primo passo che devi fare è configurare il nome host e il fqdn per tutti i tuoi server Debian che saranno utilizzati da GlusterFS. Puoi configurare il nome host tramite il comando ‘hostnamectl‘ e impostare il FQDN (Fully Qualified Domain Name) tramite il file ‘/etc/hosts‘.

Per impostare il nome host, inserisci il seguente comando su ciascun server.

# esegui su node1  
sudo hostnamectl set-hostname node1.home.lan  
  
# esegui su node2  
sudo hostnamectl set-hostname node2.home.lan  
  
# esegui su node3  
sudo hostnamectl set-hostname node3.home.lan

Successivamente, apri il file ‘/etc/hosts‘ su ciascun server utilizzando il tuo editor preferito. Per tutto questo tutorial, utilizzerai l’editor nano.

sudo nano /etc/hosts

Aggiungi le seguenti righe al file. Quando hai un indirizzo IP che si riferisce a più nomi host, sostituiscilo con le seguenti righe.

192.168.5.50  node1.home.lan  node1  
192.168.5.56  node2.home.lan  node2  
192.168.5.57  node3.home.lan  node3

Premi Ctrl+x per uscire, inserisci y per confermare, quindi premi ENTER per procedere.

Infine, verifica il fqdn su ciascun server emettendo il seguente comando.

hostname -f  
cat /etc/hosts

Riceverai un output simile a questo - Su node1, il fqdn dovrebbe essere node1.home.lan, su node2 è node2.home.lan, e su node3 dovrebbe essere node3.home.lan.

setup hostname and fqdn

Configurazione della Partizione del Disco

È consigliabile utilizzare un’unità/disk specifico per il deployment di GlusterFS. In questo esempio, ogni server Debian ha un disco aggiuntivo ‘/dev/vdb’ che sarà utilizzato per l’installazione di GlusterFS. E in questo passaggio, imparerai come impostare un nuovo disco su un sistema Linux tramite il terminale e il comando ‘fdisk’.

Per iniziare, emetti il seguente comando ‘fdisk‘ per verificare l’elenco dei dischi disponibili sul tuo server Debian.

sudo fdisk -l

Riceverai un output simile a questo - Ci sono due dischi disponibili su ‘node1‘, il ‘/dev/vda‘ dove è installato il sistema operativo, e ‘/dev/vdb‘ che non è ancora configurato.

list disks

Per iniziare a partizionare il disco ‘/dev/vdb‘, inserisci il seguente comando fdisk. Dovresti ottenere il nuovo prompt dello strumento fdisk e connetterti al disco ‘/dev/vdb‘.

sudo fdisk /dev/vdb
  • Per creare una nuova partizione, inserisci il comando ‘n‘.
  • Seleziona il tipo di partizione che desideri creare. ‘p‘ per primaria e ‘e‘ per estesa. In questo esempio, creerai una partizione primaria, quindi inserisci ‘p‘.
  • All’interno del disco ‘/dev/vdb‘, quante partizioni desideri creare? In questo esempio, creerai solo una partizione, quindi inserisci ‘1‘.
  • Scegli il primo settore per la nuova partizione. Puoi lasciarlo come default, quindi premi ENTER per continuare.
  • L’ultimo settore è dove definisci quanto grande vuoi che sia la partizione. Questo esempio sarà di circa 5GB, quindi inserisci ‘+5GB‘.
  • Infine, inserisci ‘w‘ per confermare e applicare le modifiche che hai effettuato sul disco ‘/dev/vdb‘.

L’output ‘La tabella delle partizioni è stata modificata‘ conferma che le modifiche sono state applicate al tuo disco.

create partition fdisk

Con questo, la tua nuova partizione è creata, ma ancora inutilizzabile. Perché devi formattare la tua nuova partizione in formati di file system specifici. Puoi inserire il seguente comando fdisk per assicurarti che la nuova partizione sul disco ‘/dev/vdb’ sia creata.

sudo fdiks -l

Riceverai un output simile a questo - Nella sezione ‘/dev/vdb‘, vedrai che la nuova partizione ‘/dev/vdb1‘ è creata con la dimensione ‘4.7GB‘.

list partition dev/vdb

Successivamente, emetti il seguente comando per formattare la tua nuova partizione ‘/dev/vdb1‘. In questo esempio, formatterai la partizione nel formato di file system ext4.

sudo mkfs -t ext4 /dev/vdb1

Riceverai quindi un output simile a questo - La nuova partizione ‘/dev/vda1‘ è formattata come file system ext4.

formating partition

Configurazione dell’Auto-Montaggio della Partizione

In questo passaggio, configurerai l’auto-montaggio della nuova partizione ‘/dev/vdb1‘ tramite il file ‘/etc/fstab‘. Creerai anche una nuova directory che sarà utilizzata per memorizzare i dati in GlusterFS.

Per prima cosa, crea una nuova directory di destinazione che sarà utilizzata per montare la nuova partizione ‘/dev/vdb1‘.

# esegui su node1  
mkdir -p /data/node1  
  
# esegui su node2  
mkdir -p /data/node2  
  
# esegui su node3  
mkdir -p /data/node3

Apri il file di configurazione ‘/etc/fstab‘ utilizzando il seguente comando dell’editor nano.

sudo nano /etc/fstab

Aggiungi la seguente riga al file. Con questo, la nuova partizione ‘/dev/vdb1‘ sarà montata automaticamente all’avvio del sistema.

# per node1  
/dev/vdb1    /data/node1    ext4    defaults    0    1  
  
# per node2  
/dev/vdb1    /data/node2    ext4    defaults    0    1  
  
# per node3  
/dev/vdb1    /data/node3    ext4    defaults    0    1

Successivamente, esegui il comando sottostante per montare la nuova partizione che hai configurato tramite il file ‘/etc/fstab‘. Se non ci sono errori, sei pronto per procedere.

sudo mount -a

Infine, esegui il comando sottostante per creare una nuova directory ‘brick0’ sulla partizione appena montata per ciascun server.

# esegui su node1  
mkdir -p /data/node1/brick0  
  
# esegui su node2  
mkdir -p /data/node2/brick0  
  
# esegui su node3  
mkdir -p /data/node3/brick0

Installazione del Server GlusterFS

In questo passaggio, installerai il pacchetto GlusterFS sui server Debian che saranno utilizzati per il cluster GlusterFS. Quindi, assicurati di eseguire i seguenti comandi sui server node1, node2 e node3.

Esegui il seguente comando apt per installare le dipendenze di base sul tuo sistema. Inserisci y quando richiesto e premi ENTER per procedere.

sudo apt install gnupg2 apt-transport-https software-properties-common

Output:

install dependencies

Scarica la chiave GPG per il repository GlusterFS tramite il comando curl. Quindi, converti la nuova chiave nel file ‘/usr/share/keyrings/glusterfs-archive-keyring.gpg‘.

curl https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

Successivamente, esegui il seguente comando per creare nuove variabili d’ambiente e aggiungere il repository GlusterFS al tuo sistema.

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')  
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')  
DEBARCH=$(dpkg --print-architecture)  
  
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

Output:

add repo

Una volta aggiunta la chiave GPG e il repository, esegui il seguente comando apt per aggiornare e rinfrescare l’indice dei pacchetti.

sudo apt update

Output:

update repo

Ora installa il pacchetto del server GLusterFS inserendo il seguente comando. Quando richiesto di confermare, inserisci y e premi ENTER.

sudo apt install glusterfs-server

Output:

install glusterfs

Dopo che GlusterFS è stato installato, esegui il seguente comando systemctl per avviare e abilitare il servizio GLusterFS. Con questo, GlusterFS dovrebbe essere in esecuzione su tutti i tuoi server ed è ora abilitato, il che significa che il servizio GlusterFS si avvierà automaticamente all’avvio del sistema.

sudo systemctl start glusterd  
sudo systemctl enable glusterd

Infine, esegui il seguente comando systemctl per verificare il servizio GlusterFS e assicurarti che il servizio sia in esecuzione e abilitato.

sudo systemctl status glusterd

Se tutto è andato a buon fine, dovresti ricevere un output simile a questo - L’output ‘attivo (in esecuzione)‘ conferma che GlusterFS è in esecuzione e l’output ‘…; abilitato;‘ conferma che GlusterFS è abilitato e si avvierà automaticamente all’avvio del sistema.

start verify glusterfs service

A questo punto, hai ora preparato un nuovo disco/partizione e installato il server GLusterFS. Successivamente, inizierai a creare e inizializzare il cluster GLusterFS.

Inizializzazione del Pool di Storage

In questo passaggio, configurerai il cluster GlusterFS con tre server Debian, node1, node2 e node3. Inizializzerai il cluster GlusterFS da ‘node1‘ e aggiungerai gli altri nodi ‘node2‘ e ‘node3‘ al cluster.

Prima di iniziare, assicurati che ciascun server sia accessibile tramite il nome host o fqdn. Puoi verificare questo emettendo il comando ping a ciascun server.

ping node2.home.lan  
ping node3.home.lan

Sul terminale di ‘node1’, esegui il seguente comando gluster per inizializzare il cluster GlusterFS con i membri del cluster node2 e node3.

sudo gluster peer probe node2.home.lan  
sudo gluster peer probe node3.home.lan

L’output ‘peer probe: successo‘ conferma che l’inizializzazione del cluster GlusterFS è avvenuta con successo.

initilize cluster storage pool

Successivamente, spostati sul terminale di ‘node2‘ ed emetti il seguente comando per verificare lo stato del cluster GlusterFS.

sudo gluster peer status

Dovresti ricevere un output simile a questo - Su ‘node2‘, puoi vedere il cluster GlusterFS con due peer, node1 e node3 con lo stato connesso.

status node2

Ora spostati sul terminale di ‘node3‘ ed esegui il seguente comando per verificare lo stato del cluster GLusterFS.

sudo gluster peer status

Output - Su ‘node3‘, puoi vedere il cluster GlusterFS con due peer, node1 e node2 con lo stato connesso.

status node3

Inoltre, puoi anche verificare l’elenco dei pool nel cluster GlusterFS tramite il seguente comando. Puoi eseguire questo comando sul server node1, node2 o node3.

sudo gluster pool list

Con questo, hai ora inizializzato con successo il cluster GlusterFS con tre server Debian. Nel passaggio successivo, imparerai come creare un volume su GlusterFS e come montare il volume GlusterFS dalla macchina client.

Creazione di un Volume Replicato

Su GlusterFS, ci sono più tipi di volumi che puoi creare, tra cui volume Distribuito, volume Replicato, volume Distribuito Replicato, volume Disperso e volume Distribuito Disperso. Controlla la Documentazione ufficiale di GlusterFS per ottenere dettagli su ciascun tipo di volume.

In questo passaggio, creerai un nuovo volume GlusterFS con il tipo Replicato tra tre diversi server GlusterFS. Con questo, i tuoi dati saranno automaticamente copiati da un server all’altro all’interno del pool di storage e del cluster GlusterFS.

Esegui il seguente comando gluster per creare un nuovo volume replicato su GlusterFS. In questo esempio, creerai un nuovo volume ‘testVolume‘ con il tipo Replicato tra tre server node1, node2 e node3.

sudo gluster volume create testVolume replica 3 node1.home.lan:/data/node1/brick0 node2.home.lan:/data/node2/brick0 node3.home.lan:/data/node3/brick0

L’output ‘volume create: testVolume: successo: …‘ conferma che il nuovo volume ‘testVolume‘ è stato creato.

Successivamente, devi avviare il ‘testVolume‘ prima di poterlo utilizzare emettendo il seguente comando.

sudo gluster volume start testVolume

L’output ‘volume start: testVolume: successo‘ conferma che il ‘testVolume‘ è avviato e pronto.

Output:

Infine, ora puoi verificare le informazioni dettagliate sul ‘testVolume‘ tramite il comando gluster sottostante.

sudo gluster volume info

Riceverai un output simile a questo - Il ‘testVolume‘ con il tipo ‘Replicato‘, il trasferimento predefinito è ‘tcp‘, e tre diversi server node1, node2 e node3.

Output:

verify volume

Con questo, hai ora inizializzato il cluster GlusterFS con tre diversi server e creato un volume Replicato ‘testVolume’ su di esso. Nel passaggio successivo, imparerai come configurare la macchina client e montare il volume GLusterFS.

Montare il Volume GlusterFS sul Client

In questo passaggio, imparerai come montare un volume GlusterFS sulla macchina client, questo esempio utilizza una macchina basata su Ubuntu/Debian con il nome host ‘client‘. Ora, monterai il volume GlusterFS ‘testVolume‘ sulla macchina client e configurerai l’auto-montaggio tramite il file ‘/etc/fstab’.

Per prima cosa, apri il file ‘/etc/hosts‘ utilizzando il seguente comando dell’editor nano.

sudo nano /etc/hosts

Inserisci le seguenti righe nel file e assicurati di cambiare i dettagli degli indirizzi IP e dei nomi host con il server GLusterFS.

192.168.5.50  node1.home.lan  node1  
192.168.5.56  node2.home.lan  node2  
192.168.5.57  node3.home.lan  node3

Salva il file ed esci dall’editor quando hai finito.

Successivamente, esegui il seguente comando apt per installare il pacchetto ‘glusterfs-client’. Per montare il volume GlusterFS, devi installare il pacchetto ‘glusterfs-client‘ sulla tua macchina client.

sudo apt install glusterfs-client

Inserisci y quando richiesto e premi ENTER per procedere.

install glusterfs client

Dopo che il glusterfs-client è stato installato, crea una nuova directory ‘/data’ che sarà utilizzata come directory di montaggio target per il volume GlusterFS.

mkdir /data

Monta il volume GlusterFS ‘testVolume‘ nella directory ‘/data‘ tramite il comando di montaggio sottostante.

sudo mount.glusterfs node1.home.lan:/testVolume /data

Verifica l’elenco dei dischi montati sul tuo sistema tramite il comando df sottostante.

sudo df -h

Se tutto è andato a buon fine, dovresti vedere il volume GlusterFS ‘testVolume’ montato nella directory ‘/data’.

Output:

mount glusterfs

Successivamente, configurerai l’auto-montaggio del volume GlusterFS tramite il file ‘/ect/fstab‘.

Apri il file ‘/etc/fstab‘ utilizzando il seguente comando dell’editor nano.

sudo nano /etc/fstab

Aggiungi le seguenti righe al file. Con questo, il volume GlusterFS ‘testVolume‘ sarà montato automaticamente all’avvio.

node1.home.lan:/testVolume /data glusterfs defaults,_netdev 0 0

Salva ed esci dal file quando hai finito.

Ora hai finito la configurazione del client per montare il volume GlusterFS e configurato l’auto-montaggio del volume GlusterFS tramite il file ‘/etc/fstab’. Nel passaggio successivo, verificherai la replica e l’alta disponibilità del cluster GLusterFS.

Test di Replica e Alta Disponibilità

Sulla macchina client, sposta la directory di lavoro su ‘/data’ e crea nuovi file utilizzando il comando sottostante. Questo creerà nuovi file ‘1-15.md‘.

cd /data  
touch file{1..15}.md

Emetti il comando ls per ottenere l’elenco dei file nella directory corrente.

ls

Output:

Successivamente, spostati sul terminale di ‘node1‘ e vai alla directory ‘/data/node1/brick0‘. Quindi, emetti il comando ls per controllare l’elenco dei file e delle directory.

cd /data/node1/brick0  
ls

Dovresti vedere i file ‘1-15.md‘ disponibili su node1.

Output:

Spostati sul terminale di ‘node2‘ e vai alla directory ‘/data/node2/brick0‘. Quindi, emetti il comando ls per controllare l’elenco dei file e delle directory.

cd /data/node2/brick0  
ls

Dovresti vedere i file ‘1-15.md‘ disponibili su node2.

Output:

Spostati sul terminale di ‘node3‘ e vai alla directory ‘/data/node3/brick0‘. Quindi, emetti il comando ls per controllare l’elenco dei file e delle directory.

cd /data/node3/brick0  
ls

Dovresti vedere i file ‘1-15.md‘ disponibili su node3.

Output:

Con questo, i dati che hai creato dalla macchina client sono replicati su più server sul server GlusterFS.

Successivamente, per l’alta disponibilità di GLusterFS, puoi spegnere o arrestare il ‘node1‘ e verificare che la macchina client sia ancora connessa al cluster GlusterFS.

Spostati sul terminale di ‘node1‘ ed esegui il seguente comando per spegnere il server.

sudo poweroff

Successivamente, vai al terminale di ‘node2‘ ed esegui il seguente comando per controllare lo stato del cluster GLusterFS.

sudo gluster peer status

Dovresti ricevere un output simile a questo - Lo stato di node1 è ‘Disconnesso‘.

test ha

Spostati sul terminale client ed esegui il seguente comando per assicurarti che sei ancora connesso al cluster GlusterFS.

cd /data  
ls

Output:

Con questo, l’alta disponibilità del cluster GlusterFS è funzionante.

Conclusione

Hai installato il cluster GlusterFS con tre server Debian 11 in questo tutorial. Hai anche configurato un nuovo disco/partizione su Linux tramite fdisk e configurato l’auto-montaggio del disco/partizione Linux tramite il file /etc/fstab. Inoltre, hai imparato come creare un volume Replicato su GlusterFS e configurare una macchina client basata su Debian/Ubuntu per montare il volume GlusterFS.

Con questo in mente, ora puoi sfruttare il tuo cluster GlusterFS aggiungendo più dischi e server per avere un file system di rete ad alta disponibilità accessibile dalle tue reti. Puoi saperne di più sull’amministrazione di GlusterFS dalla Documentazione ufficiale di GlusterFS.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.