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.