Itsehoito- ja tasapainotustoimintojen suorittaminen Gluster-tiedostojärjestelmässä - osa 2


Aikaisemmassa artikkelissani ”Johdatus GlusterFS: ään (tiedostojärjestelmä) ja asennus - osa 1” oli vain lyhyt kuvaus tiedostojärjestelmästä ja sen eduista, jotka kuvaavat joitain peruskomentoja. Tässä artikkelissa on syytä mainita kaksi tärkeää ominaisuutta, itsekorjaus ja tasapainotus, joita ilman GlusterFS: n selityksestä ei ole hyötyä. Olkaamme tutustuneet termeihin Itseparannus ja Uudelleen tasapainottaminen.

Tämä ominaisuus on käytettävissä replikoiduille volyymeille. Oletetaan, että meillä on kopioitu tilavuus [kopioiden vähimmäismäärä 2]. Oletetaan, että joidenkin vikojen vuoksi yksi tai useampi tiili kopiointitiilien joukossa laskee jonkin aikaa ja käyttäjä sattuu poistamaan tiedoston kiinnityskohdasta, joka vaikuttaa vain online-tiiliin.

Kun offline-tiili tulee verkkoon myöhemmin, on välttämätöntä, että tiedosto poistetaan tästä tiilistä, eli myös synkronointi replikatiilien välillä, joita kutsutaan parantamiseksi, on tehtävä. Sama pätee tiedostojen luomiseen/muokkaamiseen offline-tiileissä. GlusterFS: llä on sisäänrakennettu itsensä parantava demoni, joka huolehtii näistä tilanteista aina, kun tiilet tulevat verkkoon.

Harkitse jaettua tilavuutta, jossa on vain yksi tiili. Esimerkiksi luomme 10 tiedostoa levylle liitospisteen kautta. Nyt kaikki tiedostot asuvat samalla tiilellä, koska äänenvoimakkuudessa on vain tiili. Lisäämällä vielä yksi tiili tilavuuteen voidaan joutua tasapainottamaan tiedostojen kokonaismäärä uudelleen kahden tiilin välillä. Jos äänenvoimakkuutta laajennetaan tai supistetaan GlusterFS: ssä, tiedot on tasapainotettava uudelleen eri osiin sisältyvien tiilien kesken.

Itseparannuksen suorittaminen GlusterFS: ssä

1. Luo replikoitu taltio seuraavalla komennolla.

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

Huomaa: Replikoidun levyn luominen tiilillä samalle palvelimelle saattaa herättää varoituksen, jota sinun on jatkettava sivuuttamatta samaa.

2. Käynnistä ja asenna äänenvoimakkuus.

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

3. Luo tiedosto liitospisteestä.

$ touch /mnt/foo

4. Tarkista sama kahdella replikatiilellä.

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

5. Lähetä nyt yksi tiileistä offline-tilassa tappamalla vastaava glusterfs-daemon käyttämällä äänenvoimakkuuden tilatiedoista saatuja PID-tunnuksia.

$ 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

Huomautus: Katso palvelimen itseparannusdemonin esiintyminen.

$ 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

Nyt toinen tiili on offline-tilassa.

6. Poista tiedosto foo kiinnityskohdasta ja tarkista tiilen sisältö.

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

foo on edelleen siellä toisessa tiilissä.

7. Tuo nyt tiili takaisin verkkoon.

$ 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

Nyt tiili on verkossa.

8. Tarkista tiilien sisältö.

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

Tiedosto on poistettu toisesta tiilestä itseparannusdemonin avulla.

Huomaa: Suurempien tiedostojen tapauksessa voi kestää jonkin aikaa, ennen kuin itseparannusoperaatio onnistuu. Voit tarkistaa parantamistilan seuraavalla komennolla.

$ gluster volume heal vol info

Suoritetaan uudelleen tasapainotus GlusterFS: ssä

1. Luo jaettu levy.

$ gluster create volume distribute 192.168.1.16:/home/c

2. Käynnistä ja asenna äänenvoimakkuus.

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

3. Luo 10 tiedostoa.

$ 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. Lisää toinen tiili tilavuuteen jaa .

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

5. Tasapainota uudelleen.

$ gluster volume rebalance distribute start

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

6. Tarkista sisältö.

$ ls /home/c
file1  file2  file5  file6  file8 

$ ls /home/d
file10  file3  file4  file7  file9

Tiedostot on tasapainotettu uudelleen.

Huomaa: Voit tarkistaa uudelleensaldotilan antamalla seuraavan komennon.

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

Aion lopettaa tämän sarjan GlusterFS: llä. Voit vapaasti kommentoida täällä epäilystänne itseparannus- ja tasapainotustoiminnoista.