Gluster Dosya Sisteminde Kendini İyileştirme ve Yeniden Dengeleme İşlemleri Nasıl Gerçekleştirilir - Bölüm 2


'GlusterFS'ye Giriş (Dosya Sistemi) ve Kurulum - Bölüm 1' hakkındaki önceki makalemde, dosya sistemine ve bazı temel komutları açıklayan avantajlarına kısa bir genel bakış vardı. Bu makalede Kendini iyileştirme ve Yeniden dengeleme gibi iki önemli özellikten bahsetmeye değer; bunlar olmadan GlusterFS hakkında bir açıklama yapılmayacaktır. faydası yok. Kendini iyileştirme ve Yeniden dengeleme terimlerini tanıyalım.

Çoğaltılmış birimlerde Kendini iyileştirme ile neyi kastediyoruz?

Bu özellik çoğaltılmış birimler için kullanılabilir. Diyelim ki, çoğaltılmış bir birimimiz var [minimum kopya sayısı 2]. Bazı arızalar nedeniyle replika tuğlalardan bir veya daha fazla tuğlanın bir süreliğine çöktüğünü ve kullanıcının bağlama noktasından yalnızca çevrimiçi tuğlada etkilenecek bir dosyayı sildiğini varsayalım.

Çevrimdışı tuğla daha sonra çevrimiçi olduğunda, o dosyanın bu tuğladan da kaldırılması gerekir, yani iyileştirme adı verilen kopya tuğlaları arasında bir senkronizasyon yapılması gerekir. Çevrimdışı tuğlalarda dosyaların oluşturulması/değiştirilmesinde de durum aynıdır. GlusterFS, tuğlalar çevrimiçi olduğunda bu durumların üstesinden gelmek için yerleşik bir kendi kendini iyileştirme arka plan programına sahiptir.

Yeniden dengeleme ile neyi kastediyoruz?

Yalnızca bir tuğladan oluşan dağıtılmış bir hacim düşünün. Örneğin, birimde bağlama noktası aracılığıyla 10 dosya oluşturuyoruz. Artık birimde yalnızca tuğla olduğundan tüm dosyalar aynı tuğla üzerinde bulunuyor. Birime bir tuğla daha eklediğimizde, iki tuğla arasındaki toplam dosya sayısını yeniden dengelememiz gerekebilir. GlusterFS'de bir birim genişletilir veya küçültülürse verilerin, birimde yer alan çeşitli tuğlalar arasında yeniden dengelenmesi gerekir.

GlusterFS'de Kendi Kendini İyileştirme Gerçekleştirme

1. Aşağıdaki komutu kullanarak çoğaltılmış bir birim oluşturun.

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

Not: Aynı sunucuda tuğlalarla çoğaltılmış bir birimin oluşturulması, aynısını göz ardı ederek devam etmeniz gereken bir uyarıya neden olabilir.

2. Birimi başlatın ve bağlayın.

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

3. Bağlama noktasından bir dosya oluşturun.

touch /mnt/foo

4. Aynısını iki kopya tuğla üzerinde doğrulayın.

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

5. Şimdi birim durum bilgisinden alınan PID'i kullanarak karşılık gelen glusterfs arka plan programını öldürerek tuğlalardan birini çevrimdışına gönderin.

gluster volume status vol
Örnek Çıktı
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

Not: Sunucuda kendi kendini onaran arka plan programının varlığına bakın.

kill 3810
gluster volume status vol
Örnek Çıktı
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

Artık ikinci tuğla çevrimdışı.

6. Bağlama noktasından foo dosyasını silin ve tuğlanın içeriğini kontrol edin.

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

Görüyorsunuz ki foo ikinci tuğlada hâlâ orada.

7. Şimdi tuğlayı tekrar çevrimiçi hale getirin.

gluster volume start vol force
gluster volume status vol
Örnek Çıktı
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

Artık tuğla çevrimiçi.

8. Tuğlaların içeriğini kontrol edin.

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

Dosya, kendi kendini iyileştirme programı tarafından ikinci tuğladan kaldırıldı.

Not: Dosyaların daha büyük olması durumunda, kendi kendini onarma işleminin başarılı bir şekilde gerçekleştirilmesi biraz zaman alabilir. Aşağıdaki komutu kullanarak iyileşme durumunu kontrol edebilirsiniz.

gluster volume heal vol info

GlusterFS'de Yeniden Dengeleme Gerçekleştirilmesi

1. Dağıtılmış bir birim oluşturun.

gluster create volume distribute 192.168.1.16:/home/c

2. Birimi başlatın ve bağlayın.

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

3. 10 dosya oluşturun.

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. Birimi dağıtmak'a bir tuğla daha ekleyin.

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

5. Yeniden dengeleme yapın.

gluster volume rebalance distribute start

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

6. İçeriği kontrol edin.

ls /home/c
file1  file2  file5  file6  file8 

ls /home/d
file10  file3  file4  file7  file9

Dosyalar yeniden dengelendi.

Not: Aşağıdaki komutu vererek yeniden dengeleme durumunu kontrol edebilirsiniz.

gluster volume rebalance distribute status
Örnek Çıktı
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:

Bununla GlusterFS'deki bu seriyi bitirmeyi planlıyorum. Kendini İyileştirme ve Yeniden Dengeleme özellikleriyle ilgili şüphelerinizi buraya yorum olarak yazmaktan çekinmeyin.