Wéi Self-Heal and Re-Balance Operations am Gluster File System auszeféieren - Deel 2


A mengem fréieren Artikel iwwer 'Aféierung zu GlusterFS (Dateisystem) an Installatioun - Deel 1' war just e kuerzen Iwwerbléck iwwer de Dateiesystem a seng Virdeeler, déi e puer Basisbefehle beschreiwen. Et ass derwäert iwwer déi zwee wichteg Fonctiounen ze ernimmen, Self-Heal and Re-balance, an dësem Artikel ouni déi Erklärung iwwer GlusterFS wäert näischt sinn. Loosst eis d'Begrëffer Selbstheil a Re-Balance vertraut maachen.

Dës Feature ass verfügbar fir replizéiert Bänn. Ugeholl, mir hunn e replizéiert Volumen [Minimum Replikazuel 2]. Gitt un datt wéinst e puer Feeler een oder méi Zillen ënner de Replika Zillen fir eng Zäit erofgoen an de Benotzer geschitt eng Datei aus dem Montéierungspunkt ze läschen, deen nëmmen op den Online Zillen beaflosst gëtt.

Wann den offline Zille zu enger spéider Zäit online kënnt, ass et néideg datt dee Fichier vun dësem Zille geläscht gëtt och dh eng Synchroniséierung tëscht de Replika Zillen, déi als Heelung genannt ginn, muss gemaach ginn. Datselwecht ass de Fall mat der Schafung/Ännerung vu Dateien op offline Zillen. GlusterFS huet en inbuilt Self-heal Daemon fir dës Situatiounen ze këmmeren wann d'Zille online ginn.

Betruecht e verdeelt Volumen mat nëmmen engem Ziegel. Zum Beispill kreéiere mir 10 Dateien um Volume duerch Mountpunkt. Elo wunnen all d'Fichier'en op deemselwechte Brick well et nëmmen Brick am Volume ass. Wann Dir e méi Zille zum Volume bäidréit, musse mir vläicht d'total Zuel vun de Fichieren tëscht den zwee Zillen nei ausbalancéieren. Wann e Volume erweidert oder geschrumpft gëtt am GlusterFS, mussen d'Donnéeën tëscht de verschiddene Zillen, déi am Volume abegraff sinn, nei ausgeglach ginn.

Self-Healing am GlusterFS ausféieren

1. Erstellt e replizéiert Volumen mat dem folgenden Kommando.

$ gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

Bemierkung: D'Schafe vun engem replizéierte Volumen mat Zillen um selwechte Server kann eng Warnung erhéijen fir déi Dir musst weidergoen andeems Dir datselwecht ignoréiert.

2. Start a montéiert de Volume.

$ gluster volume start vol
$ mount -t glusterfs 192.168.1.16:/vol /mnt/

3. Schafen eng Datei vum Mount Punkt.

$ touch /mnt/foo

4. Z'iwwerpréiwen déi selwecht op zwee Replica Zillen.

$ ls /home/a/
foo
$ ls /home/b/
foo

5. Schéckt elo ee vun de Zillen offline andeems Dir de entspriechende Glusterfs Daemon ëmbréngt andeems Dir de PID aus Volumenstatusinformatioun kritt.

$ 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

Bemierkung: Kuckt d'Präsenz vum Selbstheil-Daemon um Server.

$ 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

Elo ass den zweete Brick offline.

6. Läschen d'Datei foo vum Mountpunkt a kontrolléiert den Inhalt vum Ziegel.

$ rm -f /mnt/foo
$ ls /home/a
$ ls /home/b
foo

Dir gesitt datt foo nach ëmmer am zweete Brick do ass.

7. Bréngt elo de Brick online zréck.

$ 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

Elo ass de Brick online.

8. Check den Inhalt vun Zillen.

$ ls /home/a/
$ ls /home/b/

De Fichier gouf vum zweete Brick vum Self-Heal Daemon geläscht.

Bemierkung: Am Fall vu gréissere Dateien kann et e bëssen Zäit daueren bis d'Selbstbehandlung erfollegräich gemaach gëtt. Dir kënnt den Heelstatus iwwerpréiwen andeems Dir de folgende Kommando benotzt.

$ gluster volume heal vol info

Re-Balance ausféieren am GlusterFS

1. Schafen eng verdeelt Volumen.

$ gluster create volume distribute 192.168.1.16:/home/c

2. Start a montéiert de Volume.

$ gluster volume start distribute
$ mount -t glusterfs 192.168.1.16:/distribute /mnt/

3. Schafen 10 Fichieren.

$ 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. Füügt en anere Brick op Volumen verdeelen.

$ gluster volume add-brick distribute 192.168.1.16:/home/d
$ ls /home/d

5. Maacht erëm Gläichgewiicht.

$ gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. Check den Inhalt.

$ ls /home/c
file1  file2  file5  file6  file8 

$ ls /home/d
file10  file3  file4  file7  file9

Dateien goufen nei ausgeglach.

Bemierkung: Dir kënnt de Re-Balance Status iwwerpréiwen andeems Dir de folgende Kommando ausginn.

$ 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:

Mat dësem plangen ech dës Serie op GlusterFS ofzeschléissen. Fillt Iech gratis hei ze kommentéieren mat Ären Zweifel iwwer d'Selbstheilung a Re-Balance Features.