Az öngyógyítási és kiegyensúlyozási műveletek végrehajtása a Gluster fájlrendszerben – 2. rész
A „Bevezetés a GlusterFS-be (Fájlrendszer) és telepítés – 1. rész” című korábbi cikkemben csak egy rövid áttekintést nyújtottam a fájlrendszerről és annak előnyeiről, néhány alapvető parancsot leírva. Ebben a cikkben érdemes megemlíteni a két fontos funkciót, az Öngyógyulást és az Visszaegyensúlyozást, amelyek nélkül a GlusterFS magyarázata lesz. semmi haszna. Ismerkedjünk meg az Öngyógyulás és az Egyensúly helyreállítása kifejezésekkel.
Mit értünk öngyógyítás alatt replikált köteteken?
Ez a funkció replikált kötetekhez érhető el. Tegyük fel, hogy van egy replikált kötetünk [minimális replikaszám 2]. Tételezzük fel, hogy bizonyos meghibásodások miatt a replika téglák közül egy vagy több tégla leáll egy időre, és a felhasználó véletlenül töröl egy fájlt a beillesztési pontról, amely csak az online téglát érinti.
Amikor az offline tégla egy későbbi időpontban online lesz, akkor ezt a fájlt is el kell távolítani ebből a téglából, azaz szinkronizálni kell a gyógyításnak nevezett replika téglákat. Ugyanez a helyzet a fájlok létrehozásával/módosításával offline téglákon. A GlusterFS beépített öngyógyító démonnal rendelkezik, amely gondoskodik ezekről a helyzetekről, amikor a tégla online állapotba kerül.
Mit értünk újraegyensúlyozás alatt?
Vegyünk egy elosztott kötetet csak egy téglával. Például 10 fájlt hozunk létre a köteten a csatlakoztatási ponton keresztül. Most az összes fájl ugyanazon a téglán található, mivel csak tégla van a kötetben. Ha hozzáadunk még egy téglát a kötethez, előfordulhat, hogy újra ki kell egyensúlyoznunk a fájlok teljes számát a két tégla között. Ha egy kötetet kibővít vagy csökkent a GlusterFS-ben, az adatokat újra ki kell egyensúlyozni a kötetben szereplő különféle téglák között.
Öngyógyítás végrehajtása a GlusterFS-ben
1. Hozzon létre egy replikált kötetet a következő paranccsal.
gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b
Megjegyzés: Ha ugyanazon a kiszolgálón téglákkal replikált kötetet hoz létre, figyelmeztetés jelenhet meg, amelyhez ezt figyelmen kívül kell hagynia.
2. Indítsa el és csatlakoztassa a hangerőt.
gluster volume start vol
mount -t glusterfs 192.168.1.16:/vol /mnt/
3. Hozzon létre egy fájlt a csatlakoztatási pontból.
touch /mnt/foo
4. Ellenőrizze ugyanezt két replika téglán.
ls /home/a/
foo
ls /home/b/
foo
5. Most küldje el az egyik kockát offline állapotba a megfelelő glusterfs démon megölésével a kötet állapotinformációiból kapott PID használatával.
gluster volume status vol
Minta kimenet
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
Megjegyzés: Tekintse meg az öngyógyító démon jelenlétét a szerveren.
kill 3810
gluster volume status vol
Minta kimenet
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
Most a második tégla offline állapotban van.
6. Törölje a foo fájlt a csatlakoztatási pontból, és ellenőrizze a tégla tartalmát.
rm -f /mnt/foo
ls /home/a
ls /home/b
foo
Látja, hogy a foo még mindig ott van a második téglában.
7. Most hozza vissza a téglát online.
gluster volume start vol force
gluster volume status vol
Minta kimenet
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
Most a tégla online.
8. Ellenőrizze a téglák tartalmát.
ls /home/a/
ls /home/b/
A fájlt eltávolította a második téglából az öngyógyító démon.
Megjegyzés: Nagyobb fájlok esetén eltarthat egy ideig, amíg az önjavító művelet sikeresen végrehajtódik. A gyógyulás állapotát a következő paranccsal ellenőrizheti.
gluster volume heal vol info
Egyensúly helyreállítása a GlusterFS-ben
1. Hozzon létre egy elosztott kötetet.
gluster create volume distribute 192.168.1.16:/home/c
2. Indítsa el és csatlakoztassa a hangerőt.
gluster volume start distribute
mount -t glusterfs 192.168.1.16:/distribute /mnt/
3. Hozzon létre 10 fájlt.
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. Adjon hozzá még egy téglát a elosztáshoz.
gluster volume add-brick distribute 192.168.1.16:/home/d
ls /home/d
5. Egyensúlyozza újra.
gluster volume rebalance distribute start
volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.
6. Ellenőrizze a tartalmat.
ls /home/c
file1 file2 file5 file6 file8
ls /home/d
file10 file3 file4 file7 file9
A fájlok újra kiegyensúlyozva lettek.
Megjegyzés: Az újraegyensúlyozás állapotát a következő parancs kiadásával ellenőrizheti.
gluster volume rebalance distribute status
Minta kimenet
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:
Ezzel a sorozatot a GlusterFS-en tervezem lezárni. Nyugodtan nyilatkozzon itt, ha kétségei vannak az Self-heal és Re-balance funkciókkal kapcsolatban.