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.