Kaip atlikti savigydos ir subalansavimo operacijas Gluster failų sistemoje – 2 dalis
Ankstesniame mano straipsnyje „Įvadas į GlusterFS (failų sistemą) ir diegimas – 1 dalis“ buvo tik trumpa failų sistemos ir jos pranašumų apžvalga, aprašant kai kurias pagrindines komandas. Šiame straipsnyje verta paminėti dvi svarbias funkcijas Savęs išgydymas ir Atkurti pusiausvyrą, be kurių bus paaiškinta apie GlusterFS. jokios naudos. Susipažinkime su terminais Savęs išgydymas ir Atkurti pusiausvyrą.
Ką reiškia savęs išgydymas pakartotiniuose tomuose?
Ši funkcija pasiekiama pakartotiems tomams. Tarkime, turime pakartotą tomą [minimalus replikų skaičius 2]. Tarkime, kad dėl tam tikrų gedimų viena ar kelios plytelės tarp kopijų blokų kurį laiką sugenda ir vartotojas atsitiktinai ištrina failą iš prijungimo taško, kuris bus paveiktas tik internetinėje plytoje.
Kai neprisijungus naudojama plytelė prisijungia vėliau, tą failą taip pat reikia pašalinti iš šios plytelės, t. y. reikia atlikti sinchronizavimą tarp kopijų plytų, vadinamų gydymu. Tas pats pasakytina apie failų kūrimą/keitimą neprisijungus veikiančiose plytose. „GlusterFS“ turi įmontuotą savaiminio gydymo demoną, kad pasirūpintų tokiomis situacijomis, kai blokai prisijungia.
Ką turime omenyje sakydami iš naujo subalansuoti?
Apsvarstykite paskirstytą tūrį tik su viena plyta. Pavyzdžiui, sukuriame 10 failų tome per prijungimo tašką. Dabar visi failai yra toje pačioje plytoje, nes tome yra tik plyta. Pridėjus dar vieną plytą prie tomo, gali tekti iš naujo subalansuoti bendrą failų skaičių tarp dviejų plytų. Jei „GlusterFS“ apimtis išplečiama arba sumažinama, duomenis reikia iš naujo subalansuoti tarp įvairių į tomą įtrauktų elementų.
Savęs gydymas GlusterFS
1. Sukurkite pakartotą tomą naudodami šią komandą.
gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b
Pastaba: tame pačiame serveryje sukūrus pakartotą tomą su plytelėmis, gali atsirasti įspėjimas, dėl kurio turite tęsti, nepaisydami to.
2. Paleiskite ir prijunkite garsą.
gluster volume start vol
mount -t glusterfs 192.168.1.16:/vol /mnt/
3. Sukurkite failą iš prijungimo taško.
touch /mnt/foo
4. Tą patį patikrinkite dviejose kopijose.
ls /home/a/
foo
ls /home/b/
foo
5. Dabar išsiųskite vieną iš blokų neprisijungę, nužudydami atitinkamą glusterfs demoną naudodami PID, gautą iš apimties būsenos informacijos.
gluster volume status vol
Pavyzdžio išvestis
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
Pastaba: pažiūrėkite, ar serveryje yra savaiminio gydymo demonas.
kill 3810
gluster volume status vol
Pavyzdžio išvestis
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
Dabar antroji plyta neprisijungusi.
6. Ištrinkite failą foo iš prijungimo taško ir patikrinkite plytelės turinį.
rm -f /mnt/foo
ls /home/a
ls /home/b
foo
Matote, kad foo vis dar yra antroje juostoje.
7. Dabar grąžinkite plytą internetu.
gluster volume start vol force
gluster volume status vol
Pavyzdžio išvestis
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
Dabar plyta yra internete.
8. Patikrinkite plytų turinį.
ls /home/a/
ls /home/b/
Failą iš antrosios plytos pašalino savaiminio gydymo demonas.
Pastaba: jei failai didesni, gali praeiti šiek tiek laiko, kol savaiminio gydymo operacija bus sėkmingai atlikta. Galite patikrinti gydymo būseną naudodami šią komandą.
gluster volume heal vol info
Atkuria balansą GlusterFS
1. Sukurkite paskirstytą tomą.
gluster create volume distribute 192.168.1.16:/home/c
2. Paleiskite ir prijunkite garsą.
gluster volume start distribute
mount -t glusterfs 192.168.1.16:/distribute /mnt/
3. Sukurkite 10 failų.
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. Pridėkite kitą plytelę prie tomo paskirstymo.
gluster volume add-brick distribute 192.168.1.16:/home/d
ls /home/d
5. Iš naujo subalansuokite.
gluster volume rebalance distribute start
volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.
6. Patikrinkite turinį.
ls /home/c
file1 file2 file5 file6 file8
ls /home/d
file10 file3 file4 file7 file9
Failai buvo iš naujo subalansuoti.
Pastaba: galite patikrinti balanso būseną išduodami šią komandą.
gluster volume rebalance distribute status
Pavyzdžio išvestis
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:
Tuo planuoju užbaigti šią GlusterFS seriją. Nedvejodami pakomentuokite čia, jei turite abejonių dėl savęs išgydymo ir atkūrimo funkcijų.