Kako izvesti samozdravljenje in ponovno uravnoteženje v datotečnem sistemu Gluster - 2. del
V mojem prejšnjem članku o "Uvodu v GlusterFS (datotečni sistem) in namestitev - 1. del" je bil le kratek pregled datotečnega sistema in njegovih prednosti, ki opisujejo nekatere osnovne ukaze. Omeniti velja dve pomembni značilnosti, samozdravljenje in ponovno uravnoteženje, v tem članku, brez katerih razlaga o GlusterFS ne bo koristna. Spoznajmo izraza Samozdravljenje in ponovno uravnoteženje.
Ta funkcija je na voljo za podvojene zvezke. Recimo, da imamo repliciran volumen [najmanjše število kopij 2]. Predpostavimo, da se zaradi nekaterih napak ena ali več opek med kopijami replike za nekaj časa spusti in uporabnik iz točke vpetja izbriše datoteko, ki bo prizadeta samo na spletni opeki.
Ko se opeka brez povezave pozneje poveže, je treba odstraniti to datoteko iz te opeke, tj.sinhronizirati je treba kopije opek, ki se imenujejo celjenje. Enako velja za ustvarjanje/spreminjanje datotek na opekah brez povezave. GlusterFS ima vgrajen demon za samozdravljenje, ki poskrbi za te situacije, kadar opeke postanejo povezane.
Razmislite o porazdeljeni količini samo z eno opeko. Na primer, ustvarimo 10 datotek na nosilcu skozi točko priklopa. Zdaj so vse datoteke na isti opeki, saj je v obsegu samo opeka. Ko v volumen dodamo še eno opeko, bomo morda morali ponovno uravnotežiti skupno število datotek med dvema opekama. Če je volumen razširjen ali skrčen v GlusterFS, je treba podatke znova uravnotežiti med različnimi opekami, vključenimi v zvezek.
Izvajanje samozdravljenja v GlusterFS
1. Z naslednjim ukazom ustvarite podvojeni nosilec.
$ gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b
Opomba: Ustvarjanje repliciranega zvezka z opekami na istem strežniku lahko sproži opozorilo, pri katerem morate ignorirati istega.
2. Zaženite in namestite glasnost.
$ gluster volume start vol $ mount -t glusterfs 192.168.1.16:/vol /mnt/
3. Ustvarite datoteko iz točke pritrditve.
$ touch /mnt/foo
4. Enako preverite na dveh kopijah replike.
$ ls /home/a/ foo $ ls /home/b/ foo
5. Zdaj pošljite eno od opek brez povezave, tako da ubijete ustrezni demon glusterfs z uporabo PID-a, pridobljenega iz informacij o stanju nosilca.
$ 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
Opomba: Oglejte si prisotnost demona za samozdravljenje na strežniku.
$ 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
Zdaj je druga opeka brez povezave.
6. Izbrišite datoteko foo s točke namestitve in preverite vsebino opeke.
$ rm -f /mnt/foo $ ls /home/a $ ls /home/b foo
Veste, foo je še vedno tam v drugi opeki.
7. Zdaj vrnite opeko na spletu.
$ 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
Zdaj je opeka na spletu.
8. Preverite vsebino opeke.
$ ls /home/a/ $ ls /home/b/
Datoteko je z druge opeke odstranil demon za samozdravljenje.
Opomba: V primeru večjih datotek lahko traja nekaj časa, da se operacija samozdravljenja uspešno izvede. Stanje zdravljenja lahko preverite z naslednjim ukazom.
$ gluster volume heal vol info
Izvajanje ponovnega ravnotežja v GlusterFS
1. Ustvarite porazdeljeni nosilec.
$ gluster create volume distribute 192.168.1.16:/home/c
2. Zaženite in namestite glasnost.
$ gluster volume start distribute $ mount -t glusterfs 192.168.1.16:/distribute /mnt/
3. Ustvarite 10 datotek.
$ 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. Dodajte še eno opeko v zvezek distribuiraj .
$ gluster volume add-brick distribute 192.168.1.16:/home/d $ ls /home/d
5. Naredite ravnotežje.
$ gluster volume rebalance distribute start volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.
6. Preverite vsebino.
$ ls /home/c file1 file2 file5 file6 file8 $ ls /home/d file10 file3 file4 file7 file9
Datoteke so bile ponovno uravnotežene.
Opomba: Stanje ponovnega ravnotežja lahko preverite z izdajo naslednjega ukaza.
$ 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:
S tem nameravam zaključiti to serijo o GlusterFS. Tukaj lahko komentirate svoje dvome glede funkcij samozdravljenja in ponovnega ravnotežja.