install & konfigurasi replicated glusterfs pada centos 7

1
1190

halo sobat sekolahlinux kali ini saya akan membahas sedikit soal glusterfs, saya menggunakan glusterfs ini dikarenakan nfs tidak support cluster HA & menghindari terjadinya single point of failure, glusterfs sendiri adalah sebuah aplikasi distribute file system yang bersifat opensource yang terdiri dari banyak server dan dapat disatukan hingga support failover.

glusterfs sendiri support

  • distribute
  • replicated <= (pada tutorial kali ini kita akan membahas type ini)
  • stripped
  • distribute + replicated
  • distribute + stripped
  • distribute + replicated + stripped

Implementasi GlusterFS Pada Centos 7
Pada tutorial ini saya akan menggunakan 3 node, dan saya hanya akan menuliskan glusterfs type replicated,

  • Node1: 192.168.10.10
  • Node2: 192.168.10.20
  • Client: 192.168.10.30

sedikit masukan jika kalian nanti ingin mencobanya di production ada baiknya node untuk glusterfs-server berjumlah 3 untuk menghindari terjadinya splitbrain, namun jika budget kalian minim dan tetap ingin menggunakan 2 server maka tidak apa-apa hehehe 😀

Jalankan step dibawah ini pada node1 & node2
Install repo yang dibutuhkan:

yum -y install epel-release
yum -y install yum-priorities
yum -y install centos-release-gluster

Install GlusterFS

yum -y install glusterfs-server gluster*

Jalankan GlusterFS

systemctl enable glusterd.service
systemctl start glusterd.service

Jalankan step dibawah ini pada node1
Buat koneksi antara node1 dengan node2

gluster peer probe node2

Jika sudah coba check apakah node2 sudah terhubung ke node1 dengan perintah dibawah

gluster peer status

Hasilnya

Number of Peers: 1

Hostname: node2
Uuid: bcdd0750-f850-4c16-95b5-5873b4e18666
State: Peer in Cluster (Connected)

Selanjutnya kita akan membuat share vol dengan nama nostra dengan 2 replica atau 2 server, yaitu node1 & node2 pada folder /mnt/data

gluster volume create nostra replica 2 transport tcp node1:/mnt/data node2:/mnt/data force

Jika sudah start volume yang kita buat

gluster volume start nostra

Untuk cek volume yang sudah kita buat bisa menggunakan perintah dibawah ini

gluster volume info

Maka hasilnya akan seperti dibawah

Volume Name: nostra
Type: Replicate
Volume ID: 0d0fd355-3531-40f4-999d-0b2e1f3976a1
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/mnt/data
Brick2: node2:/mnt/data
Options Reconfigured:
transport.address-family: inet

Jalankan perintah dibawah ini pada node client

yum -y install glusterfs-client glusterfs glusterfs-fuse attr

Selanjutnya buat folder untuk mount GlusterFS nya

mkdir /opt/data

Jika sudah jalankan perintah dibawah untuk mount gluster volumenya

mount glusterfs node1.com:nostra /opt/data

buka file fstab

vim /etc/fstab

selanjutnya tambahkan baris dibawah ini pada fstab gunanya agar ketika kalian reboot vm client maka gluster akan otomatis mount drive nya

node1:nostra   /opt/data  glusterfs   defaults,_netdev  0  0

Untuk mengeceknya kamu bisa menggunakan perintah dibawah ini

df -h

Hasilnya akan seperti dibawah ini

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 31G 1,6G 28G 6% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8,4M 912M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 976M 266M 644M 30% /boot
tmpfs 184M 0 184M 0% /run/user/0
node1:nostra 31G 1,8G 28G 6% /opt/data

Selanjutnya untuk melakukan pengetesan kalian bisa membuat file dari server client dengan cara seperti dibawah ini

touch /opt/data/nostra1
touch /opt/data/nostra2
touch /opt/data/nostra3
touch /opt/data/nostra4

jalankan perintah dibawah ini pada node1 & node2

coba cek apakah file yang kita tulis di node client ada pada node1 & node2 dengan perintah dibawah

ll /mnt/data

hasilnya file yang kita buat di node client akan ada di node1 & node2

-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra1
-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra2
-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra3
-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra4

untuk test apakah failovernya berjalan dengan baik kalian bisa coba matikan node1, dan lakukan test create file dari client, lalu coba cek apakah file yang tadi dibuat ada di node2, lalu selanjutnya coba jalankan node1 yang tadi dimatikan, tunggu beberapa saat apakah file tersebut ada juga di node1

sekian tutorial kali ini, semoga bermanfaat ya 😀

1 COMMENT

  1. mau tanya, untuk install ini apa butuh mendisable firewall dan selinux? selain itu. kalau kita bikin misal 4 server nih, nah yg 2 kita istirahatin gantian gt. misal sekarang server A dan B hidup dan server C dan D mati lalu besoknya C dan D yang hidup, A dan B mati apa bisa otomatis menyesuaikan? terima kasih