Pada tutorial lanjutan ini saya akan membahas tentang replicated volume di glusterFs 3.10, kira-kira apa perbedaanya dengan distributed volume dan bagaimana keutungan dan kerugianya ketika kita sudah mengunakan metode ini didalam envirotnment yang sudah production. Ayoo kita bahas secara mendalam 🙂
Perbedaan Replicated volume dan Distributed volume adalah :
- pada distributed volume, semua file yang disampan pada cluster storage akan di distribusikan ke seluruh brick didalam volume, namun disitu tidak ada replikasi antar filenya.
- pada replicated volume, semua file yang disimpan pada cluster storage akan di replikasi ke semua brick didalam volume, dengan nilai replicasi sebanyak volume yang ada. namun untuk masalah banyaknya replikasi dapat disesuaikan dengan kebutuhan anda.
Keuntungan replicated volume adalah
- Data yang disimpan pada cluster storage, akan di replikasi ke semua volume. Sehingga ketika salah satu node mati, ketersediaan data masih ada di node yang lain
Kekurangan replcated volume adalah
- untuk menerapkan skema replicated volume memutuhkan node yang cukup banyak yaitu minimal 2 node dan misalkan kita punya 3 node dengan kapasitas masing-masing node adalah 5 GB, jika kita menggunakan replicated volume maka yang akan terbaca dalam sistem storage cluster hanya 5 GB saja.
Baik, kita sudah membahas keuntungan dan kekurangan replicated storage selanjutnya kita langsung mulai saja konfigruasinya. namun sebelum anda memulai konfigurasi replicated volume, maka saya sarankan anda harus menginstall glusterFSnya dulu disini dan membaca sedikit tentang distributed volume disini.
Jenis Replicated volume adalah disini file akan replikasi dengan jumlah tertentu diberbagai brick pada volume jadi file akan disimpan pada brick hpc01 , hpc02 dan hpc03 . Salah satu keuntungan utama dari volume replicate adalah bahwa jika satu brick gagal, maka data masih dapat diakses dari brick yang direplikasi. Volume tersebut digunakan untuk keandalan yang lebih baik dan redundansi data.
Jadi skema replicated volume yang akan dilab kan adalah seperti diatas, dimana nanti semua file yang tersimpan pada cluster storage akan di replikasi ke masing2 hpc.
setelah itu config cluster storage (cukup dilakukan pada satu node saja misal di hpc01 )
1 2 3 4 |
[root@hpc01 ~]# gluster peer probe hpc02 peer probe: success. [root@hpc01 ~]# gluster peer probe hpc03 peer probe: success. |
gluster peer probe berfungsi untuk membuat cluster pada glusterfs, sehingga semua node bisa saling berkominikasi dan menjadikannya satu cluster. setelah itu kita bisa melihat status cluster dengan cara seperti ini
1 2 3 4 5 6 7 8 9 10 |
[root@hpc01 ~]# gluster peer status Number of Peers: 2 Hostname: hpc02 Uuid: 3d8b736c-3d74-40c3-a629-86b1761e5eea State: Peer in Cluster (Connected) Hostname: hpc03 Uuid: ffdf6ff5-0372-40ac-93d4-e13d3fd7e451 State: Peer in Cluster (Connected) |
Pastikan state peer in cluster bernilai connected, utnuk semua node.
Sebelumnya kita harus membuat direktori atau brick pada semua node hpc
1 |
# mkdir /glusterfs/replica |
setalah itu buat volume dengan tipe replica yang dilakukan disalah satu node saja ( contoh : hpc01)
1 2 |
[root@hpc01 ~]# gluster volume create vol_replica replica 3 transport tcp hpc01:/glusterfs/replica hpc02:/glusterfs/replica hpc03:/glusterfs/replica volume create: vol_replica: success: please start the volume to access data |
Pada settingan diatas artinya file akan di replikasi sebanyak 3 kali (replica 3) yang akan di replikasi ke semua node, karena jumlah nodennya ada 3.
setelah succes membuat vol_replica maka volume tersebut supaya bisa diakses oleh client maka harus di start terlebih dahulu.
1 2 |
[root@hpc01 ~]# gluster volume start vol_replica volume start: vol_replica: success |
setelah itu, kita bisa memverifikasi volume replica dengan cara seperti berikut ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@hpc01 ~]# gluster volume info Volume Name: vol_replica Type: Replicate Volume ID: 3bece457-2d9a-41c5-aebd-6748e847b81f Status: Started Snapshot Count: 0 Number of Bricks: 1 x 3 = 3 Transport-type: tcp Bricks: Brick1: hpc01:/glusterfs/replica Brick2: hpc02:/glusterfs/replica Brick3: hpc03:/glusterfs/replica Options Reconfigured: transport.address-family: inet nfs.disable: on |
dan setelah itu kita bisa melihat status volume
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@hpc01 ~]# gluster volume status Status of volume: vol_replica Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick hpc01:/glusterfs/replica 49153 0 Y 13890 Brick hpc02:/glusterfs/replica 49153 0 Y 8601 Brick hpc03:/glusterfs/replica 49153 0 Y 17178 Self-heal Daemon on localhost N/A N/A Y 13910 Self-heal Daemon on hpc03 N/A N/A Y 17198 Self-heal Daemon on hpc02 N/A N/A Y 8621 Task Status of Volume vol_replica ------------------------------------------------------------------------------ There are no active volume tasks |
setelah cluster sotragenya terbentuk, maka selanjutnya adalah mengkonfigurasi client supaya dapat mengakses glusterfs.
[Client]
Untuk tahap terakhir adalah menginstall gluster client di sis client. pada dasarnya client utnuk mengakses gluserfs server membutuhkan FUSE (Filesystem in UserSpace), dengan menginstall seperti dibawah ini, pastikan versi glusterfs yg di install pada client sama seperti di server
1 2 3 |
# yum -y install centos-release-gluster310 # sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Gluster-3.10.repo # yum --enablerepo=centos-gluster310,epel -y install glusterfs glusterfs-fuse |
setelah itu mounting volume vol_replica ke folder /mnt
1 2 3 4 5 6 7 8 9 10 |
[root@automation-vm ~]# mount -t glusterfs hpc01:/vol_replica /mnt/ [root@automation-vm ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 4,8G 1,2G 3,5G 25% / devtmpfs 991M 0 991M 0% /dev tmpfs 1000M 0 1000M 0% /dev/shm tmpfs 1000M 38M 962M 4% /run tmpfs 1000M 0 1000M 0% /sys/fs/cgroup tmpfs 200M 0 200M 0% /run/user/0 hpc01:/vol_replica 5,0G 33M 5,0G 1% /mnt |
setelah kita cek dengan df -h dari sisi klien disitu terbaca bahwa hpc01:/vol_replica 5G itu artinya walaupun kita punya 3 node dimana masing2 node mempunyai kapasistas 5 GB namun tetap terbacanya 5GB, karena nantinya data akan di replikasi ke semua node. Jika hasilnya seperti diatas maka settingan kita berhasil 😀
untuk testing kita akan membuat 10 file, pada folder /mnt, kemudian setelah itu kita harus cek pada semua volume di server, untuk memastikan bahwa semau file tersebut telah terreplikasi ke masing2 brick pada volume vol_replica.
1 2 3 4 |
[root@automation-vm ~]# cd /mnt/ [root@automation-vm mnt]# touch file{1..10} [root@automation-vm mnt]# ls file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 |
Dari sisi client, semua file akan terlihat semua yaitu 10 file, dan di sisi cluster storage juga sama yaitu disetiap node akan terlihat 10 file juga, ayoo kita cek 😀
[HPC01]
1 2 |
[root@hpc01 ~]# ls /glusterfs/replica/ file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 |
[HPC02]
1 2 |
[root@hpc02 ~]# ls /glusterfs/replica/ file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 |
[HPC03]
1 2 |
[root@hcp03 ~]# ls /glusterfs/replica/ file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 |
dari situ kita sudah berhasil, membutikan bahwa ketika kita mengunakan volume replica pada glusterfs maka file tersebut akan di replikasi pada setiap node. dan ketika kita mematikan salah satu node, maka ketersedian data dari sisi client masih tetap tersedia.
Baik, cukup sekian lab kali ini tentang replicated volume di glusterfs, untuk lab selanjutnya kita akan bahas yg striped di glusterfs, see you next time. Wassalamualaikum ?
System Engineer
Komentar