Cos'è GlusterFS?
GlusterFS è un filesystem di rete/cluster open source e si basa su un design dello spazio utente impilabile. In questo tutorial, otterremo un'elevata disponibilità di archiviazione (ovvero la replica in tempo reale dei file) su due macchine Linux utilizzando GlusterFS. Sebbene glusterfs abbia trovato la sua applicazione in diverse aree come il cloud computing, i servizi di streaming multimediale e le reti di distribuzione di contenuti. In questo tutorial useremo il termine brick (è il filesystem di archiviazione che è stato assegnato a un volume).
Nel nostro caso, stiamo utilizzando due macchine Centos 6.2 e utilizzando i file statici di glusterfs della radice del documento Apache (/var/www/html) verranno replicati su queste macchine. Segui i passaggi seguenti per raggiungere questo obiettivo.
Passaggio 1 :Abilita il repository epel su entrambi i nodi:
# yum -y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Passaggio 2 :Abilita il repository GlusterFS su entrambi i nodi:
# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
Passaggio 3 :Installa tutti i pacchetti necessari usando yum su entrambi i nodi:
# yum -y install pyxattr python-webob1.0 python-paste-deploy1.5 python-sphinx10 git autoconf automake bison dos2unix flex fuse-devel libaio-devel libibverbs-devel libtool libxml2-devel lvm2-devel make openssl-devel pkgconfig python-devel python-eventlet python-netifaces python-paste-deploy python-simplejson python-sphinx python-webob readline-devel rpm-build systemtap-sdt-devel tar
Passaggio 4 :Installa il software GlusterFS su entrambi i nodi:
# yum install glusterfs{-fuse,-server} # yum install xfsdump xfsprogs
Passaggio 5 :Avvia il servizio GlusterFS su entrambi i nodi:
# /etc/init.d/glusterd start ; chkconfig glusterd on
Passaggio 6 :Aggiungi il modulo fuse al core Linux per il client GlusterFS su entrambi i nodi:
# /sbin/modprobe fuse
Per farlo funzionare dopo il riavvio del server:
# echo "modprobe fuse" > /etc/sysconfig/modules/fuse.modules # chmod +x /etc/sysconfig/modules/fuse.modules
Passaggio 7 :aggiungi entrambi i nodi su un archivio attendibile:
– Su "site1.thegeekdiary.com", esegui il comando seguente:
# gluster peer probe site2.thegeekdiary.com
Su "Site2.thegeekdiary.com", esegui il comando seguente:
# gluster peer probe site1.thegeekdiary.comNota :Se stiamo usando un firewall, assicurati che le porte TCP 111, 24007, 24008, 24009 siano aperte su site1.thegeekdiary.com e site2.thegeekdiary.com.
Per controllare lo stato dell'archiviazione attendibile, utilizzare il comando seguente:
# glusterfs peer status
Passaggio 8 :crea la directory sottostante su entrambi i nodi.
# mkdir -p /opt/gfs-data
Su Master Node, site1.thegeekdiary.com, esegui il comando seguente:
# gluster volume create apache replica 2 site1.thegeekdiary.com:/opt/gfs-data site2.thegeekdiary.com:/opt/gfs-data
Passaggio 9 :Ora avvia il volume su entrambi i nodi.
# gluster volume start apache
Ora monta i volumi su site1.thegeekdiary.com:
# mount.glusterfs site1.thegeekdiary.com:/apache /var/www/html
Monta anche il volume su site2.thegeekdiary.com:
# mount.glusterfs site2.thegeekdiary:/apache /var/www/html
Per il montaggio permanente aggiungi la voce sottostante nel file /etc/fstab.
site1.thegeekdiary.com:/apache /var/www/html glusterfs defaults,_netdev 0 0
Passaggio 10 :Test delle repliche dei file.
Vai alle cartelle /var/www/html, modifica i file da 'site1.thegeekdiary.com' controlla se le modifiche si riflettono su un altro nodo 'site2.thegeekdiary.com'.