Rumahweb Journal
Cara Install GlusterFS di Ubuntu Untuk Shared Storage Server

Cara Install GlusterFS di Ubuntu Untuk Shared Storage Server

Pernahkah Anda berpikir, bagaimana cara membuat online storage seperti Google drive dan bagaimana sistem dibelakangnya bekerja? Glusterfs adalah salah satu sistem yang dapat Anda gunakan untuk membuat shared storage layaknya google drive. Dalam artikel ini, kami akan berbagi cara install Glusterfs di VPS Ubuntu untuk membuat online storage secara mudah.

Sebelum kita membahas tentang GlusterFS, terlebih dahulu kami akan membahas tentang NFS yang berfungsi membagi data ke seluruh server node untuk memastikan bahwa data terdistribusikan. NFS merupakan sistem yang juga digunakan oleh GlusterFS.

Apa itu Network File System?

Network File System atau yang disingkat menjadi NFS adalah sebuah protokol yang berfungsi untuk membagikan data melalui jaringan. NFS akan membagikan file maupun resource melalui network atau jaringan, tanpa peduli sistem operasi yang digunakan apa.

NFS bekerja dengan membagi data ke seluruh server-server node yang dimiliki, dan memastikan bahwa semua data yang ada di server satu ada di server lainnya tanpa ada potensi kehilangan data.

Pengertian GlusterFS

GlusterFS adalah salah satu pengembangan dari ekosistem NFS yang memiliki fungsi serupa sebagai shared storage. Namun, GlusterFS memiliki beberapa perbedaan signifikan. Berbeda dengan NFS yang menggunakan protokol berbasis client-server, GlusterFS mengadopsi sistem penggabungan penyimpanan antara server menjadi satu ruang penyimpanan tunggal yang dapat diakses oleh klien.

GlusterFS adalah sebuah sistem file terdistribusi open-source yang dirancang untuk mengelola dan menyimpan data secara terdistribusi melalui beberapa server dalam sebuah jaringan. Selain itu, GlusterFS merupakan solusi penyimpanan berkas yang sangat scalable dan dapat disesuaikan dengan kebutuhan Anda.

Distributed Glusterfs Volume - install Glusterfs
Distributed Glusterfs Volume

GlusterFS beroperasi dengan menggabungkan kapasitas penyimpanan dari beberapa server fisik atau virtual menjadi satu entitas penyimpanan tunggal yang disebut “volume.”

Volume ini dapat diakses oleh klien dari berbagai lokasi dalam jaringan. Salah satu fitur utama dari GlusterFS adalah kemampuannya untuk secara otomatis menyebarkan dan mereplikasi data melalui server-server tersebut, sehingga meningkatkan ketersediaan data dan toleransi terhadap kesalahan.

Dalam artikel ini, kami akan melakukan instalasi GlusterFS pada Linux Ubuntu 20.04. Kami akan menggunakan referensi dengan adanya Server Load Balancer untuk situs web, di mana backend load balancer tersebut memerlukan sinkronisasi file antar server. GlusterFS berperan sebagai sistem untuk menyinkronkan data antar backend (sebagai NAS).

BACA JUGA : Google Workspace: Pengertian, Fitur, Hingga Cara Menggunakan

Cara Install GlusterFS pada Ubuntu 20.04

Paket GlusterFS dapat berjalan dengan baik pada OS Ubuntu 20.04 dan CentOS 7, Dikarenakan sistem sharing data pada gluster tidak menggunakan enkripsi, kami sarankan melakukan instalasi gluster pada jaringan internal VPS atau dapat menggunakan firewall untuk membatasi akses.

Step 1. Persiapan Sistem

Berikut beberapa persiapan sistem yang diperlukan untuk install GlusterFS pada server.

  • 2 server linux dengan OS Ubuntu 20.04.
  • Minimal 2GB Ram, dengan ip public statis
  • Domain dan Subdomain
  • Firewall UFW / CSF / Firewalld

Pada demo ini, kaim menggunakan VPS KVM Rumahweb dengan spesifikasi paket M.

Step 2. Konfigurasi DNS/FileHost

Langkah pertama untuk install GlusterFs adalah kita perlu melakukan konfigurasi pada dns/domain dengan statis. Hal ini diperlukan untuk pointing gluster pada masing masing IP server.

Pada artikel kali ini, kita akan membuat subdomain bernama mirror pada ke-2 IP address VPS sebagai berikut :

  • subdomain : mirror1.journalrw.my.id
  • ip address  : 203.175.8.223
  • subdomain : mirror2.journalrw.my.id
  • ip address  : 203.175.8.224

Lakukan penyesuaian host pada konfigurasi filehost yaitu file /etc/hosts di kedua VPS.

sudo nano /etc/hosts
127.0.0.1       localhost
203.175.8.223   mirror1.journalrw.my.id gluster1
203.175.8.224   mirror2.journalrw.my.id gluster2

Simpan konfigurasi file dan pastikan saat melakukan ping ke gluster2 dari VPS pertama akan mereply ke ip yang benar yaitu 203.175.8.224.

ping gluster2

Step 3. Install Package GlusterFS

Selanjutnya, Kita akan melakukan instalasi dan aktivasi pada paket glusterfs di masing masing server VPS.

sudo add-apt-repository ppa:gluster/glusterfs-7
sudo apt update
sudo apt install glusterfs-server

Aktifkan package gluster yang telah terinstall melalui systemd pada masing” server.

sudo systemctl start glusterd.service
sudo systemctl enable glusterd.service
sudo systemctl status glusterd.service

Pastikan gluster dapat aktif dan berjalan pada VPS.

Step 4. Konfigurasi Firewall dan Peer pada Gluster

Tambahkan ip host VPS 2 ke Ip Vps 1 begitupun sebaliknya, Pastikan hanya allow untuk ip tersebut yang dapat mengakses port default Gluster yaitu 24007, berikut kami contohkan jika menggunakan UFW

Server Mirror 1 :

sudo ufw allow from 203.175.8.224 to any port 24007

Server Mirror 2 :

sudo ufw allow from 203.175.8.223 to any port 24007

Untuk memastikan tidak ada server lain yang bisa mengakses node, kita deny semua incoming/outgoing selain ip mirror dengan command berikut :

sudo ufw deny 24007

Apabila Firewall telah ditambahkan, lakukan restart pada service ufw

systemctl restart ufw
ufw reload

Langkah selanjutnya adalah menambahkan menghubungkan antar node dari Gluster

Server Mirror 1 :

sudo gluster peer probe gluster2

Server Mirror 2 :

sudo gluster peer probe gluster1

Melakukan pengecekan Peering :

sudo gluster peer status
Output
Number of Peers: 1
Hostname: mirror2.journalrw.my.id
Uuid: b98ae496-c4eb-4b20-9729e-7840230407be
State: Peer in Cluster (Connected)

Step 5. Membuat partisi/volume yang akan disinkronkan

Pada panduan ini kita akan membuat volume untuk sinkronisasi file dan data, karena pada artikel ini dilakukan pada case untuk backend load balancer, maka kita akan melakukan sinkronisasi file dari server 1 ke 2 dan 2 ke 1 pada direktori website, yaitu /var/www/html/website

Untuk membuat volume pada Gluster, gunakan command berikut ini, sesuaikan dengan path direktori website.

sudo gluster volume create nama_volume replica jumlah_node namadomain1.com:/lokasi/volume/gluster namadomain2.com:/lokasi/volume/gluster force

Penjelasan : 

  • nama_volume : nama volume adalah nama yang akan digunakan sebagai status gluster, berikan nama bebas sesuai keinginan.
  • jumlah_node : isikan sesuai jumlah server gluster kita, jika ada 2, isikan dengan 2.
  • namadomain.com : digunakan untuk mendeskripsikan host, sebelumnya sudah membuat host bernama mirror1 dan 2.
  • force : mengabaikan semua pertimbangan atau error, jika di force tidak akan muncul informasi debug

Praktek :

sudo gluster volume create mirror replica 2 mirror1.journalrw.my.id:/gluster/volume/ mirror2.journalrw.my.id:/gluster/volume/ force

Output jika berhasil :
volume create: mirror: success: please start the volume to access data

Lakukan start pada gluster untuk memulai volume.

sudo gluster volume start mirror
Output
volume start: mirror: success

Selanjutnya dapat memeriksa status peer Gluster :

sudo gluster volume status
Output
Status of volume: volume1
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick mirror1.journalrw.my.id:/gluster/volume 49152     0          Y       18801
Brick mirror2.journalrw.my.id:/gluster/volume 49152     0          Y       19028
Self-heal Daemon on localhost              N/A      N/A        Y       19049
Self-heal Daemon on mirror1.journalrw.my.id    N/A      N/A        Y       18822
 
Task Status of Volume mirror
------------------------------------------------------------------------------ There are no active volume tasks

Berdasarkan informasi diatas, peer telah berhasil dilakukan, langkah selanjutnya kita dapat melakukan allow transfer data pada port 49152 default, dan kita harus allow juga pada port 49153 49154 sebagai 2 volume mirror.

Server Mirror 1 : 

sudo ufw allow from 203.175.8.224 to any port 49152

Server Mirror 2 : 

sudo ufw allow from 203.175.8.223 to any port 49152

Block semua akses selain 2 ip diatas dengan command :

sudo ufw deny 49152

Step 6. Memulai replikasi gluster

Setelah membuat volume, langkah selanjutnya adalah dengan mounting volume yang telah dibuat sebelumnya dan diarahkan pada lokasi folder website/data yang akan disinkronkan. Pada contoh artikel kali ini, kami akan melakukan mounting pada /var/www/html/website

Server Mirror 1:

sudo mount -t glusterfs mirror1:/nama_volume /var/www/html/website

Server Mirror 2:

sudo mount -t glusterfs mirror2:/nama_volume /var/www/html/website

Catatan: nama volume diisi dengan yang sudah dibuat sebelumnya, jika pada panduan ini volume bernama mirror.

Setelah Mounting berhasil dibuat, agar ketika terdapat server down pada salah satu cluster, Maka solusinya adalah menambahkan blok gluster pada fstab, agar ketika server kembali UP, peer akan otomatis tersambung kembali.

sudo nano /etc/fstab

Server Mirror 1 :
mirror1:/mirror /var/www/html/website glusterfs defaults,_netdev 0 0

Server Mirror 2 :
mirror2:/mirror /var/www/html/website glusterfs defaults,_netdev 0 0

Pengujian dan Pengecekan Status Gluster

Untuk melakukan pemeriksaan status gluster, dapat menggunakan gluster info

sudo gluster volume info
Output

Volume Name: mirror
Type: Replicate
Volume ID: bac03075-a223-43ab-a0f6-6121115940b0c
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: mirror1.journalrw.my.id:/gluster/volume
Brick2: mirror2.journalrw.my.id:/gluster/volume
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off

Langkah selanjutnya kita dapat membuat sebuah file pada direktori /var/www/html/website dari server mirror 1 maka akan otomatis ada pada mirror 2 begitupun sebaliknya, apabila ada perubahan pada file dan data akan otomatis replikasi pada tujuan path.

Sampai tahap ini, install GlusterFS pada server telah selesai.

Demikian artikel kami tentang cara install GlusterFS di Ubuntu, yang dapat anda gunakan untuk membuat shared storage atau online storage disisi server. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 5 / 5. Vote count: 5

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Hosting Murah

Andika Dwi Setyawan

Dika is a System Administrator, passionate about Linux, Networking, Cyber security and much love with Arista.