11 July 2013

Membangun GlusterFS Pada Debian Wheezy

GlusterFS merupakan sistem berkas kluster/jaringan yang tangguh yang bekerja pada lapisan userspace memanfaatkan FUSE (Filesystem in Userspace) untuk terhubung ke lapisan VFS (Virtual File System). Sekalipun merupakan sistem berkas pada lapisan userpace, namun pada lapisan kernel, GlusterFS menggunakan sistem berkas diska yang sudah teruji seperti ext3, ext4, xfs, dll untuk menyimpan data. Kapasitas GlusterFS dapat dengan mudah ditingkatkan sampai ukuran penyimpanan petabyte yang dapat dimanfaatkan oleh mesin lain di bawah titik kait (mount point) tunggal.

Tulisan ini menjelaskan langkah-langkah singkat membangun sistem penyimpanan GlusterFS pada Debian Wheezy. Skenario yang digunakan dalam tulisan ini digambarkan pada diagram berikut:



  1. Kloset, Pispot dan Septiktank merupakan server-server GlusterFS yang masing-masing memiliki 3 harddisk. 1 harddisk (/dev/sda) untuk sistem Debian Wheezy dan 2 harddisk (/dev/sdb dan /dev/sdc) untuk GlusterFS. Masing-masing server juga memiliki 2 NIC (network interface card) yang digunakan (1) untuk replikasi data antar server GlusterFS (eth1 10.2.2.0/24) dan (2) untuk dikaitkan ke server aplikasi (eth0 10.1.1.0/24).
  2. Tongsampah adalah server aplikasi Debian Wheezy yang akan memanfaatkan GlusterFS dengan cara mengaitkannya (mount). Tongsampah juga memiliki 2 NIC berbeda (1) untuk mengaitkan GlusterFS (eth1 10.1.1.1/24) dan (2) untuk memberikan layanan aplikasi ke klien (eth0 10.0.0.1/24).
  3. 2 unit ge (gigabit ethernet) switch masing-masing digunakan untuk (1) replikasi data antara Kloset, Pispot dan Septiktank dan (2) mengaitkan GlusterFS ke Tongsampah. 2 fungsi dari 2 ge switch ini dapat pula digantikan oleh 1 unit managable ge switch dengan pengaturan VLAN.

Misalkan seluruh 6 harddisk/brick GlusterFS di Kloset, Pispot dan Septiktank masing-masing berukuran 4 TB. Setiap 1 brick di satu server dipasangkan dengan 1 brick di server lainnya untuk melakukan replikasi. Kapasitas total volume GlusterFS yang terbangun akan sebesar 12 TB.
Agar ketersediaan GlusterFS bagi Tongsampah tetap tinggi, perlu direncanakan skema replikasi brick antar server GlusterFS sehingga data tetap tersedia sekalipun ada 1 server GlusterFS yang jatuh. Skenario skema replikasi brick GlusterFS dalam tulisan ini adalah sebagai berikut:



Konfigurasi:

1. Di semua server, pasang Debian Wheezy 64 bit netisnt dan atur konfigurasi jaringan sesuai skenario di atas.

2. Di Kloset, Pispot dan Septiktank, mutakhirkan paket-paket terpasang dan pasang paket-paket yang diperlukan.
# aptitude update
# aptitude upgrade
# aptitude install xfsprogs glusterfs-server
3. Di Kloset, Pispot dan Septiktank, buat sistem berkas XFS pada setiap brick dan kaitkan di masing-masing sistem berkas lokal. Kemudian buat subdirektori di masing-masing titik kait brick untuk dijadikan subdirektori lokasi replikasi brick. Sesuaikan variabel brick0X dan brick0Y dengan nomor brick pada gambar skema replikasi brick di atas.

# parted /dev/sdb mklabel gpt
# parted /dev/sdc mklabel gpt
# parted /dev/sdb mkpart primary ext2 0% 100%
# parted /dev/sdc mkpart primary ext2 0% 100%
# mkfs.xfs -f -i size=512 /dev/sdb1
# mkfs.xfs -f -i size=512 /dev/sdc1
# mkdir -p /data/glusterfs/vol1/brick0X
# mkdir -p /data/glusterfs/vol1/brick0Y
# echo "/dev/sdb1 /data/glusterfs/vol1/brick0X xfs defaults 1 2" >> /etc/fstab
# echo "/dev/sdc1 /data/glusterfs/vol1/brick0Y xfs defaults 1 2" >> /etc/fstab
# mount -a && mount
# mkdir /data/glusterfs/vol1/brick0X/glusterfs_vol1_brick0X
# mkdir /data/glusterfs/vol1/brick0Y/glusterfs_vol1_brick0Y
4.  Di salah satu server GlusterFS misal di Kloset, buat trusted pool.
# gluster peer probe 10.2.2.12
# gluster peer probe 10.2.2.13
# gluster peer status
5.  Di salah satu server GlusterFS misal di Kloset, buat gluster volume dan tambahkan brick-brick yang ada kemudian jalankan.
# gluster volume create vol1 replica 2 10.2.2.11:/data/glusterfs/vol1/brick01/glusterfs_vol1_brick01 10.2.2.12:/data/glusterfs/vol1/brick02/glusterfs_vol1_brick02
# gluster volume add-brick vol1 10.2.2.12:/data/glusterfs/vol1/brick03/glusterfs_vol1_brick03 10.2.2.13:/data/glusterfs/vol1/brick04/glusterfs_vol1_brick04
# gluster volume add-brick vol1 10.2.2.13:/data/glusterfs/vol1/brick05/glusterfs_vol1_brick05 10.2.2.11:/data/glusterfs/vol1/brick06/glusterfs_vol1_brick06
# gluster volume start vol1
# gluster volume info
 6. Di Tongsampah, mutakhirkan paket-paket terpasang dan pasang paket-paket yang diperlukan untuk mengaitkan GlusterFS kemudian kaitkan.
# aptitude update
# aptitude upgrade
# aptitude install glusterfs-client
# mkdir -p /mnt/glusterfs/vol1
# echo "10.2.2.11:/vol1 /mnt/glusterfs/vol1 glusterfs defaults 0 0" >> /etc/fstab
# mount -a && mount
7. GlusterFS siap digunakan untuk data aplikasi di Tongsampah.

Referensi: http://www.gluster.org/community/documentation/index.php/QuickStart

1 comment:

Budiarno said...

Waduh, masih berat nih buat saya yg tergolong newbie. Tapi nggk apa2, tak pelajari pelan2 dulu. Makasih udah berbagi ilmunya.

Salam