GlusterFS kasutamine Debianiga
Sisukord
Sissejuhatus
GlusterFS http://www.gluster.org/ on paralleelne võrgufailisüsteem (ingl. k. parallel network file system).
Eesmärk
Olgu eesmärgiks seada käima selline asjakorraldus
--|--------------|--------- teenuse kliendid internetis | | www-1 _|_ _|_ www-2 GlusterFS kliendid | | | | gfs-1:/srv/gfs -> /srv/www |___| |___| gfs-1:/srv/gfs -> /srv/www gfs-2:/srv/gfs -> /srv/www | \ / | gfs-2:/srv/gfs -> /srv/www | \ / | | \/ | | / \ | | / \ | --|----|--------------|----|-- | | _|_ gfs-1 _|_ gfs-2 GlusterFS serverid | | | | |___| |___| /dev/sdb -> /srv/gfs /dev/sdb -> /srv/gfs
kus
- veebiserverile www-1 on veebijuurikas ühendatud külge natuke erilisel moel, mõlemast GlusterFS serverist, kirjutamised tehakse mõlema füüsilise salvestusserveri gfs-1 ja gfs-2 failisüsteem
- veebiserverile www-2 on veebijuurikas ühendatud külge sarnaselt
GlusterFS süsteemi ettevalmistamine
Arvestades süsteemi jõudlust ja redundantsust on mõttekas gfs-1 ja gfs-2 arvutitena kasutada füüsilisi arvuteid. Käesolevas tekstis on kasutatud Debian GNU/Linux Squeeze operatsioonisüsteemi, mis on küll 2009 juunis nn Debian testing, kuid see-eest sisaldab paketihalduses kõike vajalikku GlusterFS kasutamiseks. Alternatiiv on paigaldada GlusterFS nt lähtetekstidest. Kuna GlusterFS lahendus tekitab võrgule tõenäoliselt koormust, siis on ettenägelik kasutada selle andmevahetuse jaoks eraldi võrgusegmenti, lisaks on see ka mõistliku turvakaalutlustel, sest GlusterFS ligipääsu kontrollimine töötab ip aadressi täpsusega.
Tarkvara paigaldamine serveritesse
GlusterFS serveritesse gfs-1 ja gfs-2 tuleb paigalda pakett
# apt-get install glusterfs-server
Tarkvara paigaldamine klientidesse
GlusterFS kliendis tuleb öelda loogiliselt võttes
# apt-get install glusterfs-client
kuid praktiliselt tuleb ka serveri pakett paigaldada. Seejärel jälgida, et serveri protsess asjatult kliendis ei käiks.
GlusterFS seadistamine
Mõlemad serverid tuleb seadistada samasuguselt ja mõlemad kliendid samuti samasuguselt.
Serverite seadistamine
Serverites tuleb väljajagatav plokkseade sobivalt ettevalmitada, nt moodustada ext3 failisüseem ning ühendada külge extended attributes toetusega
# mke2fs -j /dev/sdb # mount -o user_xattr /dev/sdb /srv/gfs
Serverites sobib kasutada nt sellist seadistusfaili /etc/glusterfs/glusterfsd.vol
volume posix type storage/posix option directory /srv/gfs end-volume volume locks type features/locks subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp subvolumes brick option auth.addr.brick.allow * end-volume
Seadistusfaili tuleks lugeda selliselt
- volume posix kirjeldab ära, et /srv/gfs on väljajagatav failisüsteem
- volume locks, volume brick ja volume server lisavad väljajagatavale failisüsteemile juurde omadusi, nt selle, et ta üldse üle etherneti võrgu välja jagatakse (option transport-type tcp)
Klientide seadistamine
Serverites sobib kasutada nt sellist seadistusfaili /etc/glusterfs/glusterfs.vol
volume remote1 type protocol/client option transport-type tcp option remote-host 192.168.10.55 option remote-subvolume brick end-volume volume remote2 type protocol/client option transport-type tcp option remote-host 192.168.10.56 option remote-subvolume brick end-volume volume replicate type cluster/replicate subvolumes remote1 remote2 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes replicate end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume
Seadistusfaili tuleks lugeda selliselt
- volume remote1 ja remote2 kirjeldavad võrgus asuvad GlusterFS ressursid, ip aadressidega
- volume replicate kirjeldab, et remote1 ja remote2 ressursse tuleb kasutada replikeerivas režiimis, st muudatused tuleb kliendil kirjutada mõlemale
- volume writebehind ja cache määratlevad lisaomadusi
Süsteemi käivitamine
GlusterFS serverite käivitamise eel peavad olema väljajagatavad failisüsteemid külge monteeritud
# mount /dev/sdb /srv/gfs
ning tuleb öelda
# /etc/init.d/glusterfs-server
GlusterFS kliendi poolel tuleb ühendada serveri ressurss külge öeldes
# mount -t glusterfs /etc/glusterfs/glusterfs.vol /srv/www
GlusterFS süsteemi kasutamine
Töötab glusterfs protsess
# ps aux | grep glusterfs root ... /usr/sbin/glusterfs --log-level=NORMAL --volfile=/etc/glusterfs/glusterfs.vol /mnt/glusterfs
Logi
TODO
Märkused
- Vahel moodustatakse mitmest arvutist, nt neljast sellised risti-rästi ühendatud salvestusressursiga süsteemid, et kuni kahe arvuti töötamast lakkamisel süsteem pakub teenust edasi. Sel juhul on kõik arvutid samaaegselt nii GlusterFS kliendid kui serverid.