Weboldal keresés

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.