Cara Melakukan Operasi Self-Heal dan Re-Balance di Sistem File Gluster - Bagian 2


Dalam artikel saya sebelumnya tentang 'Pengenalan GlusterFS (Sistem File) dan Instalasi – Bagian 1' hanyalah gambaran singkat tentang sistem file dan kelebihannya yang menjelaskan beberapa perintah dasar. Perlu disebutkan dua fitur penting, Self-heal dan Re-balance, dalam artikel ini yang tanpanya penjelasan tentang GlusterFS tidak akan berguna. tidak ada gunanya. Mari kita mengenal istilah Self-heal dan Re-balance.

Apa yang kami maksud dengan Self-heal pada volume yang direplikasi?

Fitur ini tersedia untuk volume yang direplikasi. Misalkan, kita memiliki volume yang direplikasi [jumlah replika minimum 2]. Asumsikan bahwa karena beberapa kegagalan, satu atau lebih batu bata di antara batu bata replika mati untuk sementara waktu dan pengguna kebetulan menghapus file dari titik pemasangan yang hanya akan terpengaruh pada batu bata online.

Ketika batu bata offline menjadi online di lain waktu, file tersebut juga perlu dihapus dari batu bata ini, yaitu sinkronisasi antara batu bata replika yang disebut penyembuhan harus dilakukan. Sama halnya dengan pembuatan/modifikasi file pada brick offline. GlusterFS memiliki daemon penyembuhan mandiri bawaan untuk menangani situasi ini setiap kali batu bata online.

Apa yang dimaksud dengan Penyeimbangan Kembali?

Pertimbangkan volume terdistribusi dengan hanya satu batu bata. Misalnya kita membuat 10 file pada volume melalui titik pemasangan. Sekarang semua file berada di satu bata yang sama karena hanya ada satu bata di volumenya. Saat menambahkan satu bata lagi ke volume, kita mungkin harus menyeimbangkan kembali jumlah total file di antara dua bata tersebut. Jika volume diperluas atau diperkecil di GlusterFS, data perlu diseimbangkan kembali di antara berbagai blok yang disertakan dalam volume.

Melakukan Self-heal di GlusterFS

1. Buat volume yang direplikasi menggunakan perintah berikut.

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

Catatan: Pembuatan volume yang direplikasi dengan batu bata di server yang sama dapat memunculkan peringatan sehingga Anda harus terus mengabaikannya.

2. Mulai dan pasang volume.

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

3. Buat file dari titik mount.

touch /mnt/foo

4. Verifikasi hal yang sama pada dua replika batu bata.

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

5. Sekarang kirim salah satu batu bata secara offline dengan mematikan daemon glusterfs yang sesuai menggunakan PID yang diperoleh dari informasi status volume.

gluster volume status vol
Contoh Keluaran
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

Catatan: Lihat keberadaan daemon penyembuhan mandiri di server.

kill 3810
gluster volume status vol
Contoh Keluaran
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

Sekarang batu bata kedua sedang offline.

6. Hapus file foo dari titik pemasangan dan periksa isi batanya.

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

Anda lihat foo masih ada di bata kedua.

7. Sekarang kembalikan bata tersebut secara online.

gluster volume start vol force
gluster volume status vol
Contoh Keluaran
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

Sekarang batu bata itu sudah online.

8. Periksa isi batu bata.

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

File telah dihapus dari bata kedua oleh daemon penyembuhan mandiri.

Catatan: Jika file berukuran besar, mungkin diperlukan waktu beberapa saat agar operasi pemulihan mandiri berhasil dilakukan. Anda dapat memeriksa status penyembuhan menggunakan perintah berikut.

gluster volume heal vol info

Melakukan Penyeimbangan Ulang di GlusterFS

1. Membuat volume terdistribusi.

gluster create volume distribute 192.168.1.16:/home/c

2. Mulai dan pasang volume.

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

3. Buat 10 file.

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. Tambahkan bata lain ke distribusikan volume.

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

5. Lakukan penyeimbangan kembali.

gluster volume rebalance distribute start

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

6. Periksa isinya.

ls /home/c
file1  file2  file5  file6  file8 

ls /home/d
file10  file3  file4  file7  file9

File telah diseimbangkan kembali.

Catatan: Anda dapat memeriksa status saldo ulang dengan mengeluarkan perintah berikut.

gluster volume rebalance distribute status
Contoh Keluaran
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:

Dengan ini saya berencana untuk mengakhiri seri ini di GlusterFS. Jangan ragu untuk berkomentar di sini jika Anda ragu mengenai fitur Self-heal dan Re-balance.