Erinevus lehekülje "GlusterFS kasutamine Debianiga" redaktsioonide vahel

Allikas: Kuutõrvaja
(GlusterFS seadistamine)
(GlusterFS süsteemi ettevalmistamine)
 
(ei näidata sama kasutaja 25 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
GlusterFS http://www.gluster.org/ failisüsteem on paralleelne võrgufailisüsteem.
+
GlusterFS http://www.gluster.org/ on paralleelne võrgufailisüsteem (ingl. k. parallel network file system).
  
 
===Eesmärk===
 
===Eesmärk===
9. rida: 9. rida:
 
                                     --|--------------|--------- teenuse kliendid internetis
 
                                     --|--------------|--------- teenuse kliendid internetis
 
                                       |              |
 
                                       |              |
                               www-1  _|_            _|_  www-2
+
                               www-1  _|_            _|_  www-2       GlusterFS kliendid
                                     |  |          |  |
+
                                     |  |          |  |  
         gfs-1:/srv/gfs -> /srv/www  |___|          |___|  gfs-2:/srv/gfs -> /srv/www
+
         gfs-1:/srv/gfs -> /srv/www  |___|          |___|  gfs-1:/srv/gfs -> /srv/www
                                      |  \        /  |
+
        gfs-2:/srv/gfs -> /srv/www   |  \        /  |   gfs-2:/srv/gfs -> /srv/www
 
                                       |    \    /    |
 
                                       |    \    /    |
 
                                       |      \/      |
 
                                       |      \/      |
19. rida: 19. rida:
 
                                 --|----|--------------|----|--
 
                                 --|----|--------------|----|--
 
                                   |                        |   
 
                                   |                        |   
                                 _|_  gfs-1              _|_  gfs-2  
+
                                 _|_  gfs-1              _|_  gfs-2   GlusterFS serverid
 
                                 |  |                    |  |  
 
                                 |  |                    |  |  
 
                                 |___|                    |___|  
 
                                 |___|                    |___|  
27. rida: 27. rida:
 
kus
 
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-1 on veebijuurika failisüsteem ühendatud külge natuke erilisel moel, mõlemast GlusterFS serverist, kirjutamised tehakse mõlema füüsilise salvestusressursi serveri gfs-1 ja gfs-2 failisüsteemidesse
* veebiserverile www-2 on veebijuurikas ühendatud külge sarnaselt  
+
* veebiserverile www-2 on veebijuurika failisüsteem ühendatud külge sarnaselt
 +
* nb! gfs serveritest on ressurss ühendatud külge mitte plokk-seadme tasemel, vaid failisüsteemi tasemel (nt sarnaselt NFS'ile)
  
 
===GlusterFS süsteemi ettevalmistamine===
 
===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.
+
Arvestades süsteemi jõudlust ja redundantsust võib olla 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 backportsidest või lähtetekstist. 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====
 
====Tarkvara paigaldamine serveritesse====
41. rida: 42. rida:
  
 
====Tarkvara paigaldamine klientidesse====
 
====Tarkvara paigaldamine klientidesse====
 +
 +
GlusterFS kliendis tuleb öelda loogiliselt võttes
  
 
   # apt-get install glusterfs-client
 
   # 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===
 
===GlusterFS seadistamine===
49. rida: 54. rida:
  
 
====Serverite seadistamine====
 
====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
 
Serverites sobib kasutada nt sellist seadistusfaili /etc/glusterfs/glusterfsd.vol
54. rida: 64. rida:
 
   volume posix
 
   volume posix
 
     type storage/posix
 
     type storage/posix
     option directory /srv/www
+
     option directory /srv/gfs
 
   end-volume
 
   end-volume
 
    
 
    
74. rida: 84. rida:
 
     option auth.addr.brick.allow *
 
     option auth.addr.brick.allow *
 
   end-volume
 
   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====
 
====Klientide seadistamine====
109. rida: 124. rida:
 
     subvolumes writebehind
 
     subvolumes writebehind
 
   end-volume
 
   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===
 
===Süsteemi käivitamine===
  
GlusterFS serverite käivitamise eel peavad olema väljajagatavad failisüsteemid külge monteeritud
+
GlusterFS töötamisega käivad kõigis arvutites protsessid.
 +
 
 +
====Serverid====
 +
 
 +
GlusterFS serverite käivitamise eel peavad olema väljajagatavad failisüsteemid GlusterFS serverites lokaalselt külge monteeritud
  
   # mount /dev/sdb /srv/www
+
   # mount /dev/sdb /srv/gfs
  
ning tuleb öelda
+
ning GlusterFS teenuse käivitamiseks tuleb öelda mõlemas serveris
  
 
   # /etc/init.d/glusterfs-server
 
   # /etc/init.d/glusterfs-server
  
GlusterFS kliendi poolel tuleb ühendada serveri ressurss külge öeldes
+
Serveri logi tekib faili
  
   # mount -t glusterfs /etc/glusterfs/glusterfs.vol /srv/www
+
   /var/log/glusterfs/glusterfsd.log
 +
 
 +
nt käivitamise kohta
 +
 
 +
  ================================================================================
 +
  Version      : glusterfs 2.0.1 built on May 26 2009 21:13:14
 +
  TLA Revision : 5c1d9108c1529a1155963cb1911f8870a674ab5b
 +
  Starting Time: 2009-06-27 11:43:12
 +
  Command line : /usr/sbin/glusterfsd -p /var/run/glusterfsd.pid -f /etc/glusterfs/glusterfsd.vol  
 +
  PID          : 1681
 +
  System name  : Linux
 +
  Nodename    : gfs-2
 +
  Kernel Release : 2.6.26-2-xen-amd64
 +
  Hardware Identifier: x86_64
 +
 
 +
  Given volfile:
 +
  +------------------------------------------------------------------------------+
 +
  1: volume posix
 +
  2:  type storage/posix
 +
  3:  option directory /srv/gfs
 +
  4: end-volume
 +
  5:
 +
  6: volume locks
 +
  7:  type features/locks
 +
  8:  subvolumes posix
 +
  9: end-volume
 +
10:
 +
11: volume brick
 +
12:  type performance/io-threads
 +
13:  option thread-count 8
 +
14:  subvolumes locks
 +
15: end-volume
 +
16:
 +
17: volume server
 +
18:  type protocol/server
 +
19:  option transport-type tcp
 +
20:  subvolumes brick
 +
21:  option auth.addr.brick.allow *
 +
22: end-volume
 +
 
 +
  +------------------------------------------------------------------------------+
 +
  [2009-06-27 11:43:12] N [glusterfsd.c:1152:main] glusterfs: Successfully started
 +
 
 +
====Kliendid====
  
===GlusterFS süsteemi kasutamine===
+
GlusterFS kliendi poolel tuleb ühendada serveri ressurss külge öeldes mõlemas kliendis
  
   # mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs
+
   # mount -t glusterfs /etc/glusterfs/glusterfs.vol /srv/www
  
Töötab glusterfs protsess
+
Seejärel tekib protsess
  
 
   # ps aux | grep glusterfs
 
   # ps aux | grep glusterfs
 
   root ... /usr/sbin/glusterfs --log-level=NORMAL --volfile=/etc/glusterfs/glusterfs.vol /mnt/glusterfs
 
   root ... /usr/sbin/glusterfs --log-level=NORMAL --volfile=/etc/glusterfs/glusterfs.vol /mnt/glusterfs
  
===Logi===
+
Kliendi logi tekib faili
 +
 
 +
  /var/log/glusterfs/glusterfs.log
 +
 
 +
===GlusterFS süsteemi kasutamine===
 +
 
 +
GlusterFS süsteemi kasutamine toimub nii nagu tavalise ext3 failisüsteemi kasutamine. Jõudlus on tõenäoliselt mõnevõrra tagasihoidlikum kui mõni muu lahendus, sest kasutatakse extended attribute'isid.
 +
 
 +
===Märkused===
  
TODO
+
* 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.
 +
* Kuna GlusterFS ei ole iseenesest failisüsteem, vaid töötab olemasoleva failisüsteemiga, siis on võimalik üle võrgu kasutusel olnud salvestusressursse vajadusel kasutada ka ilma GlusterFS toetuseta süsteemides, nt ühendada vastav plokkseadme külge asjasse mitte-puutuvasse arvutisse ja monteerida GlusterFS teenusena kasutatud ext3 failisüsteem lokaalselt külge.
 +
* Nagu igasuguste nn kõrgkäideldavate lahendusete puhul, peab ka GlusterFS kasutamisel arvestama, milliste riskidega konkreetne asjakorraldus tegeleb ja millistega mitte. Nt antud juhul ollakse kaitstud selle vastu kui ühe gfs serveri toiteplokk rikneb, samas ei olda kaitstud selle vastu kui süsteemiadministraator ühes www arvutis olles kataloogi /srv/www alt mõne vajaliku alamkataloogi sisu kogemata kustutab.
  
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===
141. rida: 219. rida:
 
* http://www.glusterfs.org/
 
* http://www.glusterfs.org/
 
* http://en.wikipedia.org/wiki/List_of_file_systems#Distributed_parallel_fault_tolerant_file_systems
 
* http://en.wikipedia.org/wiki/List_of_file_systems#Distributed_parallel_fault_tolerant_file_systems
 +
* [[:GlusterFS]]

Viimane redaktsioon: 3. september 2010, kell 00:21

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 veebijuurika failisüsteem ühendatud külge natuke erilisel moel, mõlemast GlusterFS serverist, kirjutamised tehakse mõlema füüsilise salvestusressursi serveri gfs-1 ja gfs-2 failisüsteemidesse
  • veebiserverile www-2 on veebijuurika failisüsteem ühendatud külge sarnaselt
  • nb! gfs serveritest on ressurss ühendatud külge mitte plokk-seadme tasemel, vaid failisüsteemi tasemel (nt sarnaselt NFS'ile)

GlusterFS süsteemi ettevalmistamine

Arvestades süsteemi jõudlust ja redundantsust võib olla 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 backportsidest või lähtetekstist. 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 töötamisega käivad kõigis arvutites protsessid.

Serverid

GlusterFS serverite käivitamise eel peavad olema väljajagatavad failisüsteemid GlusterFS serverites lokaalselt külge monteeritud

 # mount /dev/sdb /srv/gfs

ning GlusterFS teenuse käivitamiseks tuleb öelda mõlemas serveris

 # /etc/init.d/glusterfs-server

Serveri logi tekib faili

 /var/log/glusterfs/glusterfsd.log

nt käivitamise kohta

 ================================================================================
 Version      : glusterfs 2.0.1 built on May 26 2009 21:13:14
 TLA Revision : 5c1d9108c1529a1155963cb1911f8870a674ab5b
 Starting Time: 2009-06-27 11:43:12
 Command line : /usr/sbin/glusterfsd -p /var/run/glusterfsd.pid -f /etc/glusterfs/glusterfsd.vol 
 PID          : 1681
 System name  : Linux
 Nodename     : gfs-2
 Kernel Release : 2.6.26-2-xen-amd64
 Hardware Identifier: x86_64
 
 Given volfile:
 +------------------------------------------------------------------------------+
 1: volume posix
 2:   type storage/posix
 3:   option directory /srv/gfs
 4: end-volume
 5: 
 6: volume locks
 7:   type features/locks
 8:   subvolumes posix
 9: end-volume
10: 
11: volume brick
12:   type performance/io-threads
13:   option thread-count 8
14:   subvolumes locks
15: end-volume
16: 
17: volume server
18:   type protocol/server
19:   option transport-type tcp
20:   subvolumes brick
21:   option auth.addr.brick.allow *
22: end-volume
 
 +------------------------------------------------------------------------------+
 [2009-06-27 11:43:12] N [glusterfsd.c:1152:main] glusterfs: Successfully started

Kliendid

GlusterFS kliendi poolel tuleb ühendada serveri ressurss külge öeldes mõlemas kliendis

 # mount -t glusterfs /etc/glusterfs/glusterfs.vol /srv/www

Seejärel tekib protsess

 # ps aux | grep glusterfs
 root ... /usr/sbin/glusterfs --log-level=NORMAL --volfile=/etc/glusterfs/glusterfs.vol /mnt/glusterfs

Kliendi logi tekib faili

 /var/log/glusterfs/glusterfs.log

GlusterFS süsteemi kasutamine

GlusterFS süsteemi kasutamine toimub nii nagu tavalise ext3 failisüsteemi kasutamine. Jõudlus on tõenäoliselt mõnevõrra tagasihoidlikum kui mõni muu lahendus, sest kasutatakse extended attribute'isid.

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.
  • Kuna GlusterFS ei ole iseenesest failisüsteem, vaid töötab olemasoleva failisüsteemiga, siis on võimalik üle võrgu kasutusel olnud salvestusressursse vajadusel kasutada ka ilma GlusterFS toetuseta süsteemides, nt ühendada vastav plokkseadme külge asjasse mitte-puutuvasse arvutisse ja monteerida GlusterFS teenusena kasutatud ext3 failisüsteem lokaalselt külge.
  • Nagu igasuguste nn kõrgkäideldavate lahendusete puhul, peab ka GlusterFS kasutamisel arvestama, milliste riskidega konkreetne asjakorraldus tegeleb ja millistega mitte. Nt antud juhul ollakse kaitstud selle vastu kui ühe gfs serveri toiteplokk rikneb, samas ei olda kaitstud selle vastu kui süsteemiadministraator ühes www arvutis olles kataloogi /srv/www alt mõne vajaliku alamkataloogi sisu kogemata kustutab.

Kasulikud lisamaterjalid