Hvernig á að framkvæma sjálfsheilun og endurjafnvægisaðgerðir í Gluster File System - Part 2
Í fyrri grein minni um 'Inngangur að GlusterFS (skráakerfi) og uppsetningu - Part 1' var aðeins stutt yfirlit yfir skráarkerfið og kosti þess sem lýsti nokkrum grunnskipunum. Það er þess virði að minnast á þessa tvo mikilvægu eiginleika, sjálfsheilun og endurjafnvægi, í þessari grein án þeirra útskýringa á GlusterFS mun ekki vera að neinu gagni. Við skulum kynna okkur hugtökin sjálfsheilun og endurjafnvægi.
Þessi eiginleiki er fáanlegur fyrir endurtekið bindi. Segjum að við höfum endurtekið rúmmál [lágmarksfjöldi eftirlíkinga 2]. Gerum ráð fyrir að vegna einhverra bilana fari einn eða fleiri múrsteinar meðal eftirmynda múrsteinanna niður um stund og notandi eyðir skrá frá festingarpunktinum sem mun aðeins hafa áhrif á netmúrsteininn.
Þegar ótengdur múrsteinn kemur á netið síðar er nauðsynlegt að láta fjarlægja þá skrá úr þessum múrsteini, þ.e. samstillingu milli eftirmynda múrsteinanna sem kallast heilun þarf að fara fram. Sama er tilfellið með stofnun/breytingar á skrám á offline múrsteinum. GlusterFS er með innbyggðan sjálfsheilunarpúka til að sjá um þessar aðstæður hvenær sem múrsteinarnir verða á netinu.
Íhugaðu dreift rúmmál með aðeins einum múrsteini. Til dæmis búum við til 10 skrár á hljóðstyrknum í gegnum tengipunktinn. Nú eru allar skrárnar á sama múrsteini þar sem það er aðeins múrsteinn í hljóðstyrknum. Þegar við bætum einum múrsteini við rúmmálið gætum við þurft að koma jafnvægi á heildarfjölda skráa á milli múrsteinanna tveggja. Ef rúmmál er stækkað eða minnkað í GlusterFS, þarf að endurjafna gögnin á milli hinna ýmsu múrsteina sem eru í rúmmálinu.
Framkvæmir sjálfsheilun í GlusterFS
1. Búðu til endurtekið bindi með eftirfarandi skipun.
$ gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b
Athugið: Að búa til endurtekið bindi með múrsteinum á sama netþjóni gæti valdið viðvörun sem þú verður að halda áfram að hunsa það sama.
2. Byrjaðu og settu hljóðstyrkinn upp.
$ gluster volume start vol $ mount -t glusterfs 192.168.1.16:/vol /mnt/
3. Búðu til skrá frá tengipunkti.
$ touch /mnt/foo
4. Staðfestu það sama á tveimur eftirmyndum múrsteinum.
$ ls /home/a/ foo $ ls /home/b/ foo
5. Sendu nú einn af múrsteinunum án nettengingar með því að drepa samsvarandi glusterfs púkinn með því að nota PID sem fékkst úr upplýsingum um hljóðstyrksstöðu.
$ gluster volume status vol
Status of volume: vol Gluster process Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.1.16:/home/a 49152 Y 3799 Brick 192.168.1.16:/home/b 49153 Y 3810 NFS Server on localhost 2049 Y 3824 Self-heal Daemon on localhost N/A Y 3829
Athugið: Sjáðu tilvist sjálfsheilunarpúksins á þjóninum.
$ kill 3810
$ gluster volume status vol
Status of volume: vol Gluster process Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.1.16:/home/a 49152 Y 3799 Brick 192.168.1.16:/home/b N/A N N/A NFS Server on localhost 2049 Y 3824 Self-heal Daemon on localhost N/A Y 3829
Nú er annar múrsteinninn ótengdur.
6. Eyddu skránni foo frá festingarpunktinum og athugaðu innihald múrsteinsins.
$ rm -f /mnt/foo $ ls /home/a $ ls /home/b foo
Þú sérð að foo er enn þarna í öðrum kubb.
7. Komdu nú aftur með múrsteininn á netinu.
$ gluster volume start vol force $ gluster volume status vol
Status of volume: vol Gluster process Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.1.16:/home/a 49152 Y 3799 Brick 192.168.1.16:/home/b 49153 Y 4110 NFS Server on localhost 2049 Y 4122 Self-heal Daemon on localhost N/A Y 4129
Nú er múrsteinninn kominn á netið.
8. Athugaðu innihald múrsteina.
$ ls /home/a/ $ ls /home/b/
Skrá hefur verið fjarlægð úr öðrum múrsteini af sjálfslækningarpúknum.
Athugið: Ef um er að ræða stærri skrár getur það tekið nokkurn tíma fyrir sjálfslækningaraðgerðina að ganga vel. Þú getur athugað læknastöðuna með því að nota eftirfarandi skipun.
$ gluster volume heal vol info
Að framkvæma endurjafnvægi í GlusterFS
1. Búðu til dreifð bindi.
$ gluster create volume distribute 192.168.1.16:/home/c
2. Byrjaðu og settu hljóðstyrkinn upp.
$ gluster volume start distribute $ mount -t glusterfs 192.168.1.16:/distribute /mnt/
3. Búðu til 10 skrár.
$ touch /mnt/file{1..10} $ ls /mnt/ file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 $ ls /home/c file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
4. Bættu öðrum múrsteini við bindi dreifa.
$ gluster volume add-brick distribute 192.168.1.16:/home/d $ ls /home/d
5. Gerðu jafnvægi aftur.
$ gluster volume rebalance distribute start volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.
6. Athugaðu innihaldið.
$ ls /home/c file1 file2 file5 file6 file8 $ ls /home/d file10 file3 file4 file7 file9
Skrár hafa verið endurjafnaðar.
Athugið: Þú getur athugað stöðu endurjöfnunar með því að gefa út eftirfarandi skipun.
$ gluster volume rebalance distribute status
Node Rebalanced-files size scanned failures skipped status run time in secs --------- ----------- --------- -------- --------- ------- -------- ----------------- localhost 5 0Bytes 15 0 0 completed 1.00 volume rebalance: distribute: success:
Með þessu ætla ég að ljúka þessari seríu á GlusterFS. Ekki hika við að tjá sig hér með efasemdir þínar varðandi sjálfsheilun og endurjafnvægi eiginleika.