sesuai judul kita akan membahas Cara Konfigurasi GlusterFS Pada CentOS 6, proses instalasi glusterfs sangat mudah. namun mari kembali kita bahas konsep dasar dari glusterfs tersebut.

Konsep Dasar

GlusterFS adalah sebuah software yang digunakan pada Server Storage yang berfungsi menyediakan layanan penyimpanan di dalam sebuah server. Konsep mengakses dari klien pada GlusterFS sama dengan NFS hanya saja GlusterFS menggunakan metode load balancing agar server tersebut lebih stabil.
Pada artikel Cara Konfigurasi GlusterFS Pada CentOS 6 ini ada 3 metode yaitu
  1. Konfigurasi GlusterFS dengan menggunakan metode Distribute.
    Metode ini adalah dengan membagi beban ke server yang berbeda. Jadi ketika siklien membuat banyak file, file tersebut akan dibagi ke server yang berbeda.
  1. Konfigurasi GlusterFS dengan menggunakan metode Replica
    Metode ini adalah dengan membagi beban ke server yang berbeda. Jadi ketika siklien membuat banyak file, file tersebut akan dibuat kedalam beberapa server dengan file yang sama.
  2. Konfigurasi GlusterFS dengan menggunakan metode Stripped
    Metode ini adalah dengan membagi beban ke server yang berbeda. Metode ini sama seperti metode Replica hanya saja untuk menggunakan metode ini lebih baik jika trafiknya besar dan penggunaan kapasitas lebih besar.

Tujuan

adalah untuk menambah kapasitas disk space dari 1 VPS menggunakan disk space VPS lainnya
Pada konfigurasi kali ini saya akan membuat metode Distribute yang mana hanya perlu 2 buah server saja.

Bahan dan Topologi

1 VPS (server1) dengan kapasitas disk 43GB
1 VPS (server2) dengan kapasitas disk 146GB

dari bahan-bahan diatas, akan dibuat VPS 35GB bertambah kapasitas disk-nya dari resource yang diambil dari VPS 146GB

server1.gemaroprek.com: IP address 192.168.0.100 (server)
server2.gemaroprek.com: IP address 192.168.0.101 (client)

Cara Konfigurasi GlusterFS Pada CentOS 6

pertama-tama edit file /etc/hosts

vi /etc/hosts

lalu buat seperti dibawah ini

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.gemaroprek.com     server1
192.168.0.101   server2.gemaroprek.com     server2
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

tambahkan repository glusterfs

[root@server2 ~]# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo

install glusterfs di server2

[root@server2 ~]# yum -y install glusterfs glusterfs-fuse glusterfs-server

edit startup untuk glusterfs server

[root@server2 ~]# chkconfig --levels 235 glusterd on
[root@server2 ~]# /etc/init.d/glusterd start

pastikan glusterfs telah terinstall dengan baik dan benar

[root@server2 ~]# glusterfsd --version

Outputnya akan seperti dibawah ini

glusterfs 3.7.2 built on Jun 23 2015 12:13:11
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2013 Red Hat, Inc. 
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.

membuat volume baru

[root@server2 ~]# gluster volume create testvol server2.gemaroprek.com:/test

outputnya akan seperti dibawah ini
volume create: testvol: success: please start the volume to access data

[root@server2 ~]# gluster volume start testvol

jika sukses outputnya akan seperti dibawah ini
volume start: testvol: success

cek status volume

[root@server2 ~]# gluster volume info

hasilnya akan seperti dibawah

Volume Name: testvol
Type: Distribute
Volume ID: 4ab2cbd5-8914-4dba-826f-3fa92738d76a
Status: Started
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: server2.gemaroprek.com:/test
Options Reconfigured:
performance.readdir-ahead: on

konfigurasi glusterfs agar hanya dapat diakses oleh server1

[root@server2 ~]# gluster volume set testvol auth.allow 192.168.0.100

outputnya akan seperti dibawah ini
volume set: success

Konfigurasi glusterfs pada client

[root@server1 ~]# yum install glusterfs-client

lalu mounting folder yang kita buat di server2 pada server1

[root@server1 ~]# mount.glusterfs server2.gemaroprek.com:/testvol iso/

cek hasilnya

[root@server1 ~]# df -TH

output

Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 ext3 43G 5.3G 35G 14% /
tmpfs tmpfs 521M 0 521M 0% /dev/shm
server2.gemaroprek.com:/testvol
fuse.glusterfs 154G 214M 146G 1% /iso

atau anda bisa mengeceknya menggunakan perintah mount

edit file /etc/fstab agar glusterfs dapat berjalan otomatis dimount setelah reboot VPS

[root@server1 ~]# vi /etc/fstab

tambahkan ini pada baris paling akhir

server2.gemaroprek.com:/testvol /iso glusterfs defaults,_netdev 0 0

Troubleshooting

[2015-07-06 23:53:50.748028] I [MSGID: 114035] [client-handshake.c:193:client_set_lk_version_cbk] 0-testvol-client-0: Server lk version = 1
[2015-07-06 23:54:08.737541] W [socket.c:923:__socket_keepalive] 0-socket: failed to set TCP_USER_TIMEOUT 0 on socket 5, Protocol not available
[2015-07-06 23:54:08.737590] E [socket.c:3015:socket_connect] 0-glusterfs: Failed to set keep-alive: Protocol not available
[2015-07-06 23:54:11.744160] I [glusterfsd-mgmt.c:1512:mgmt_getspec_cbk] 0-glusterfs: No change in volfile, continuing
[2015-07-09 11:38:42.825531] W [glusterfsd.c:1219:cleanup_and_exit] (>; 0-: received signum (15), shutting down
[2015-07-09 11:38:42.825595] I [fuse-bridge.c:5628:fini] 0-fuse: Unmounting '/iso'.
[2015-07-09 11:38:42.834635] I [fuse-bridge.c:4933:fuse_thread_proc] 0-fuse: unmounting /iso

error diatas dikarenakan netfs tidak berjalan. silahkan lakukan perintah dibawah agar netfs berjalan setelah reboot server

[root@server1 ~]# chkconfig --level 3 netfs on

Selamat Oprek Cara Konfigurasi GlusterFS Pada CentOS 6!