GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Creazione di un server di archiviazione autonomo simile a NFS con GlusterFS 3.2.x su Ubuntu 12.10

Questo tutorial mostra come configurare un server di archiviazione autonomo su Ubuntu 12.10. Invece di NFS, userò GlusterFS qui. Il sistema client sarà in grado di accedere allo storage come se fosse un filesystem locale.GlusterFS è un filesystem in cluster in grado di scalare fino a diversi petabyte. Aggrega vari blocchi di archiviazione su Infiniband RDMA o interconnessione TCP/IP in un unico file system di rete parallelo di grandi dimensioni. I mattoni di archiviazione possono essere realizzati con qualsiasi hardware di consumo come server x86_64 con RAID SATA-II e HBA Infiniband.

Non garantisco 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)

Poiché eseguiremo tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su 

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

# The following lines are desirable for IPv6 capable hosts
::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 Configurazione del server GlusterFS

server1.example.com:

GlusterFS è disponibile come pacchetto per Ubuntu 12.10, quindi possiamo installarlo come segue:

apt-get install glusterfs-server

Il comando

glusterfsd --version

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

[email protected]:~# glusterfsd --version
glusterfs 3.2.5 costruito il 31 gennaio 2012 07:39:58
Revisione del repository:git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc.
GlusterFS viene fornito con ASSOLUTAMENTE NESSUNA GARANZIA.
È possibile ridistribuire copie di GlusterFS secondo i termini del GNU General Public License.
[email protected]:~#

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.

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

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

[email protected]:~# gluster volume create testvol server1.example.com:/data
La creazione del volume testvol è riuscita. Avvia il volume per accedere ai dati.
[email protected]:~#

Avvia il volume:

gluster volume start testvol

È possibile che il comando precedente ti dica che l'azione non è andata a buon fine:

[email protected]:~# gluster volume start testvol
L'avvio di testvol volume non è riuscito
[email protected]:~#

Puoi controllare lo stato del volume con il comando

gluster volume info
[email protected]:~# gluster volume info

Nome volume:testvol
Tipo:Distribute
Stato:avviato
Numero di mattoni:1
Tipo di trasporto:tcp
Mattoni:
Brick1:server1. example.com:/data
[email protetta]:~#

Se ti dice che il volume è avviato, va tutto bene, altrimenti riaccendilo.

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

gluster volume set testvol auth.allow 192.168.0.101

Si noti che è possibile utilizzare caratteri jolly per gli indirizzi IP (come 192.168.*) e che è possibile specificare più indirizzi IP separati da virgole (es. 192.168.0.101,192.168.0.102).

Le informazioni sul volume dovrebbero ora mostrare lo stato aggiornato:

gluster volume info
[email protected]:~# gluster volume info

Nome volume:testvol
Tipo:Distribute
Stato:avviato
Numero di mattoni:1
Tipo di trasporto:tcp
Mattoni:
Brick1:server1. example.com:/data
Opzioni riconfigurate:
auth.allow:192.168.0.101
[email protected]:~#

3 Configurazione del client GlusterFS

client1.example.com:

Sul client, possiamo installare il client GlusterFS come segue:

apt-get install glusterfs-client

Quindi 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

[email protetta]:~# mount
/dev/mapper/client1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid, nodev)
sysfs su /sys tipo sysfs (rw,noexec,nosuid,nodev)
none su /sys/fs/fuse/connections tipo fusectl (rw)
none su /sys/kernel /debug tipo debugfs (rw)
none su /sys/kernel/security tipo securityfs (rw)
udev su /dev tipo devtmpfs (rw,mode=0755)
devpts su /dev/ pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
server1.example.com:/testvol on /mnt/glusterfs digita fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
[email protected]:~#

... e...

df -h

[Email Protected]:~#df -h
Dimensione del filesystem utilizzato Disponibile Usa%montato su
/dev/mapper/client1-root 30g 1,5g 27g 6%/
UDEV 237M 4.0K 237M 1%/dev
tmpfs 99m 224k 99m 1%/run
Nessuno 5,0m 0 5,0m 0%/run/blocco
Nessuno 246m 0 246m 0%/run/shm
/dev/sda1                    228M   25M  192M  12% /boot
server1.example.com:/testvol   30G  1.5G   27G   6% /mnt/glusterfs
[email protected]:~#

Invece di montare manualmente la condivisione GlusterFS sul client, è possibile 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 verificare 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

  • GlusterFS:http://www.gluster.org/
  • Documentazione di GlusterFS 3.2:http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Server autonomo Samba Ubuntu 7.10 (Gutsy Gibbon) con backend tdbsam

  2. Server autonomo Samba Ubuntu 8.10 con backend tdbsam

  3. Server autonomo Samba Ubuntu 9.10 con backend tdbsam

  4. Server autonomo Samba Ubuntu 12.10 con backend tdbsam

  5. Archiviazione distribuita su quattro nodi di archiviazione con GlusterFS 3.2.x su Ubuntu 12.10

Archiviazione ad alta disponibilità con GlusterFS su Ubuntu 18.04 LTS

Server autonomo Samba Ubuntu 12.04 con backend tdbsam

Creazione di un server di archiviazione autonomo simile a NFS con GlusterFS su Debian Lenny

Creazione di un server di archiviazione autonomo simile a NFS con GlusterFS 3.0.x su Debian Squeeze

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

Creazione di un server di archiviazione autonomo simile a NFS con GlusterFS su Fedora 12