Konfigurasi Klusterfs Ubuntu Server 20.04

glufters ubuntu
https://www.gluster.org/

apa itu glusterfs? glusterfs adalah sistem penyimpanan klaster yang bersifat open source yang dapat beroperasi hingga kapastitas petabyte. menggabungkan disk manajemen data dari beberapa server menjadi sebuah volume storage. berfungsi untuk kebutuhan network storage yang berskalabilitas, glusterfs ini adalah alternatif dari NFS.

Topologi dibawah ini dipersiapkan untuk bagian model distributed, untuk replicated nanti kita akan coba membuat

topologi
Gambar 1.1 topologi

   Topik

  • Instalasi
  • konfigurasi
  • distributed
  • replicated
  • distributed + replicated

Instalasi

pada server 1 dan server 2 install layanan glusterfs dan nyalakan secara daemon

$ apt install glusterfs-server -y 

$ systemctl enable –now glusterd

konfigurasi

pada setiap server isi konfigurasi seperti dibawah ini untuk mempermudah ketimbang kita mengingat IP saat konfigurasi nanti.

$ nano /etc/hosts

172.23.1.58 server1

172.23.1.61 server2

disarankan menggunakan partisi yang bukan dibawah sistem “/” biasanya “sda”. misalkan disini saya menambah hardisk tambahan sebesar 5gb yaitu “sdb” dan membuat partisi sdb1 sebesar 1gb lalu mount ke direktori yang akan menjadi titik poin. contoh disini adalah mount ke direktori “glusterfs” teman teman bisa menyesuaikan atau pun ikut seperti dicontoh dengan membuat direktori glusterfs tersebut dengan perintah mkdir glusterfs.

$ mount /dev/sdb1 glusterfs

Distributed

distributed

lalu lanjut ke konfigurasi distributed, kita buat dahulu titik yang akan menjadi tujuan distribusi file nya nanti

$ mkdir -p /glusterfs/distributed

koneksikan antar server atau bisa disebut membuat klaster dengan perintah dibawah ini, jika berhasil akan ada tulisan success.

$ gluster peer probe server2

cek status koneksi, untuk melihat status dari koneksi antar server dan juga jumlah peer server yang ada didalam klaster.

$ gluster peer status

buat volume dari disk di dalam klaster,”user” isi sesuai user dimesin masing masing

$ gluster volume create vol_distributed transport tcp \

server1:/home/user/glusterfs/distributed\

server2:/home/user/glusterfs/distributed

jalankan volume yang sudah dibuat agar bisa digunakan 

$ gluster volume start vol_distributed

cek info volume, berisi mulai dari Nama Volume, Type Volume, ID, Status dan lainnya.              

$ gluster volume info

distributed

semua konfigurasi diatas dari awal di eksekusi diserver 1 dan server 2, karena kita akan menggabungkan nya menjadi satu klaster.

Klien

untuk menggunakan volume yang telah dibuat, disisi klien kita harus menginstall glusterfs versi client nya. 

$ apt -y install glusterfs-client 

lalu mounting ke direktori tujuan yang diinginkan 

$ mount -t glusterfs server1:/vol_distributed /mnt

validasi bahwa volume telah termounting ke direktori mesin dari klien.                                                                                         

$ df -hT

validasi volume

pengujian coba buat 30 file di dalam direktori mounting   

$ touch /mnt/{1..30}

server 1
server 1
server 2
server 2

file yang dibuat di server 3 atau di klien akan didistribusikan secara acak atau terbagi dua dimana setengah di server 1 dan setengah nya lagi server 2, ini adalah konsep distributed.

Replicated

replicated

Sedangkan untuk Konfigurasi Replicated , seperti tadi kita buat terlebih dahulu titik poin direktorinya. 

$ mkdir -p /glusterfs/replica

kemudian kita hubungkan sebelum membuat volume, tetapi karena sebelumnya jika sudah terhubung maka langsung saja membuat volume. jika sebelumnya kita sudah ada volume kita bisa menghapusnya terlebih dahulu. untuk memastikan koneksi kembali kita bisa ketikan perintah dibawah ini

$ gluster peer probe server2

cek status kembali, untuk melihat status koneksi antar server  

$ gluster peer probe server2

jika sudah aman, maka langsung saja buat volume replica nya 

$ sudo gluster volume create  vol_replica replica 2 transport

tcp server1:/home/yudi/glusterfs/replica

server2:/home/yudi/glusterfs/replica

jalankan volume nya jika sudah terbuat

$ gluster volume start vol_replica

untuk melihat status dan informasi volume

$ gluster volume info 

tahap akhir, untuk mounting di sisi klien

$ sudo mount -t glusterfs server1:/vol_replica /mnt

tahap pengujian volume replica ini kita bisa membuat misalkan beberapa file di klien, berbeda dengan metode distributed tadi dimana file tersebut terpecah terbagi dua sedangkan replica ini file akan di replika dari klien ke server 1 dan server 2.

jika salah satu server mati misalkan server 1 dan terjadi proses replika dari klien, maka hanya server 2 lah yang akan menampung replika tersebut, nanti disaat server 1 hidup kembali maka server 1 akan mereplika sinkronisasi file yang sama dengan klien atau server 2 ini adalah High Available dari glusterfs dan replika.

selebihnya untuk menjamin ketersediaan data kita bisa menggunakan fitur arbitter yaitu fitur spesial yang ada di model replika yang dimana satu server akan dijadikan core agar tidak terjadi split-brain yang merusak data. arbitter ini menyediakan konsistensi garansi yang sama seperti replika dengan penggunaan storage yang lebih hemat.

Replicated + Distributed

demo pada model ini menggunakan 7 mesin, yang dimana 6 menjadi server dan 1 menjadi klien.

replicated & distributed

model ini adalah penggabungan dari replika dan distribusi, seperti biasa pada awalnya kita membuat titik direktori yang akan di bagikan.

$ sudo mkdir -p /glusterfs/replica

kemudian membuat klaste

$ gluster peer probe server1

$ gluster peer probe server2

$ gluster peer probe server3

$ gluster peer probe server4

$ gluster peer probe server5                   

$ gluster peer probe server6

jika sudah cek status nodes yang ada di klaster

Number of Peers: 5

Hostname: server2

Uuid: 8cbb296d-069a-4964-abfe-2c42a9894c74 

State: Peer in Cluster (Connected)   

Hostname: server3

Uuid: a2da6b5c-055c-49b8-95fc-b4ae5a032ddc 

State: Peer in Cluster (Connected) 

Hostname: server4

Uuid: 3939268d-cbac-451f-8c78-52a88faab9bf

State: Peer in Cluster (Connected)

Hostname: server5

Uuid: 0847e7ae-e4e8-477f-a057-0bdbba4ddd4d

State: Peer in Cluster (Connected

Hostname: server6

Uuid: ce249723-25f6-4848-8e6d-c123fca6b6a1

State: Peer in Cluster (Connected)

jika semua node telah ada dan status nya aman, barulah membuat volume

$ gluster volume create vol_dist-replica replica 3 arbiter 1 transport tcp \

server1:/home/yudi/glusterfs/dist-replica \

server2:/home/yudi/glusterfs/dist-replica \

server3:/home/yudi/glusterfs/dist-replica \

server4:/home/yudi/glusterfs/dist-replica \

server5:/home/yudi/glusterfs/dist-replica \

server6:/home/yudi/glusterfs/dist-replica

apabila sudah terbuat biasanya akan ditandai tulisan success, lalu jalankan volume nya agar bisa digunakan

$ gluster volume start vol_dist-replica

untuk melihat informasi dari volume

$ gluster volume info 

Volume Name: vol_dist-replica

Type: Distributed-Replicate

Volume ID: 58b31806-35ac-40b1-963b-a14cd8bfd40f

Status: Starte

Snapshot Count: 0

Number of Bricks: 2 x (2 + 1) = 6

Transport-type: tcp 

Bricks:

Brick1: server1:/home/yudi/glusterfs/dist-replica   

Brick2: server2:/home/yudi/glusterfs/dist-replica

Brick3: server3:/home/yudi/glusterfs/dist-replica (arbiter)

Brick4: server4:/home/yudi/glusterfs/dist-replica

Brick5: server5:/home/yudi/glusterfs/dist-replica

Brick6: server6:/home/yudi/glusterfs/dist-replica (arbiter)

Options Reconfigured:    

transport.address-family: inet

storage.fips-mode-rchecksum: on

nfs.disable: on  

performance.client-io-threads: off

tahap akhir adalah mounting ke klien, sebelumnya jangan lupa untuk install glusterfs-client terlebih dahulu barulah mounting ke direkori tujuan. perintah dibawah ini dieksekusi disisi klien

$ mount -t glusterfs server1:vol_dist-replica mnt/

validasi cek disk yang sudah termounting         

$ df -hT

validasi cek disk

pengujian dengan membuat beberapa file di sisi klien    

$ touch {1..10} 

di server 1, 2 dan server 3

$ ls 

1 5 7 8 9

di server 4,5 dan server 6

$ ls

2 3 4 6 10

topologi

Tertarik untuk mengupgrade skillmu dibidang IT? Kami menyediakan berbagai pilihan training klik disini.

Penulis : Yudi Putra Wiratama