management cluster
. Ketika terjadi
server overload
, maka
management cluster
harus mampu memindahkan atau membagi beban
server
ke
server
lainnya di dalam
cluster file server
.
GlusterFS
memiliki desain
client
server dimana tidak terdapat server
metadata
.
GlusterFS
menyimpan data dan
metadata
ke beberapa
devices
yang terletak di beberapa server yang saling terhubung. Kumpulan
devices
itu disebut
volume
, yang dapat dikonfigurasi untuk menyimpan data secara
stripe
ke dalam bentuk
blocks
dan mereplikasinya.
Blocks
kemudian didistribusikan ke dalam beberapa device di dalam
volume
[5].
GlusterFS
menggunakan algoritma
Elastic Hasing Algorithm.
Algoritma ini tidak memisahkan antara data dengan metadatanya. Lokasi data diketahui dengan hanya
membutuhkan informasi berupa
path name
dan
file name.
Tidak dipisahkannya data dan metadatanya dikarenakan lokasi file dapat ditentukan secara independen.
Gambar 1 Cara Kerja Gluster Filesystem Distributed[7]
Pada gambar 2 merupakan penjelasan cara kerja umum
GlusterFS. Brick
adalah
storage filesystem
yang ditempatkan ke dalam
volume. Brick
kemudian menjadi kesatuan di dalam perangkat
server
yang memuat
volume. Volume
adalah perangkat yang merupakan tempat menampung
data
sebenarnya. Setelah
brick
dikelompokkan ke dalam
volume
dengan
tipe
tertentu misalnya tipe
striped,
maka
stripping data
akan terjadi ke dalam beberapa
bricks
di dalam satu
volume.
3. Metode Perancangan Sistem
Perancangan
File Server
menggunakan pendekatan metode
NDLC Network
Development Life Cycle .
Tahapan yang terdapat di dalamnya yaitu,
analysis, design, simulation prototyping, implementation, monitoring, management.
Gambar 2 Network Development Life Cycle[6]
Gambar 2 menunjukkan diagram
NDLC
yang akan digunakan pada
file server
. Tahap pertama yaitu tahap
analysis
merupakan tahapan untuk menentukan dan menganalisa kebutuhan
system File Server
dengan
GlusterF S. GlusterFS
membutuhkan minimal dua server yang berfungsi sebagai
Gluster server
dan minimal 1
server
sebagai
GlusterFS client. Gluster server
merupakan
server
yang menampung data berupa
file
yang disimpan sehingga
Gluster server
inilah yang merupakan pusat
file server
pada arsitektur
file server
menggunakan
GlusterFS
ini. Analisis lainnya yang dianalisa adalah seberapa besar
maximum file size
yang diperbolehkan diunggah ke
file server.
Besaran
file maximum
yang disimpan pada
server
inilah yang menjadi patokan untuk menentukan apakah suatu
file
akan disimpan pada
filesystem distributed
atau
filesystem striped
. Analisis yang terakhir adalah analisis untuk menentukan jumlah total
download
per jam untuk masing-masing
file
untuk dikatergorikan sebagai
file
yang memiliki tingkat jumlah unduh
tinggi. Jumlah total
download
per jam akan di
reset
tiap satu jam dengan pertimbangan kemampuan maksimum
transfer rate ethernet cable
, sehingga
file
yang melebihi batas 100 total
download
per jam akan dipindahkan antar kedua
filesystem distributed
dan
striped
. Ukuran
file
yang dijadikan batas adalah minimal 100 mb dengan mengacu pada
transfer rate ethernet,
yaitu 100 mbs. Tahap
Design
yang akan digunakan merupakan topologi antara
file server-server
yang menyimpan
file
dengan
web serverGlusterFS client.
Pada tahapan ini,
design
yang digunakan menyesuaikan dengan
prototype local network. Local network
ini hanya mencakup jaringan
LAN
. Ketiga
server hostname
dalam
cluster GlusterFS
harus saling terdaftar di dalam
hosts
di masing-masing
server
.
Protocol
yang digunakan adalah
tcp
, dan
port
yang digunakan adalah
port
24007 untuk
Gluster daemon, 24008
untuk
infiniband management, port 34865
–
34867
untuk
inline GlusterNFS server
dan
port
111 untuk
portmapper
.
Gambar 3 Topology Jaringan Web File Server dengan GlusterFS
Gambar 3 menjelaskan
topology
jaringan yang akan dipakai oleh
cluster glusterfs
.
Topology
yang digunakan merupakan
topology
dasar dari
glusterfs.
Kedua
gluster server
adalah
server 1
dan
server 2
.
Web server
adalah
server
yang juga berfungsi sebagai
server gluster client
.
Shell script
yang akan dibuat terdapat pada
web server
untuk mengatur distribusi
file
pada
file server
. Tahap simulasi akan dijalankan pada
virtual server
menggunakan aplikasi
VirtualBox. File Server
dan
web server
akan diinstall pada
Ubuntu Server
12.04.
Server
yang akan disimulasikan adalah dua
file server Gluster
dan satu
server GlusterFS client. Web
server
akan diinstall pada
server GlusterFS client
menggunakan
apache2
.
Database mysql
akan dibuat pada
server GlusterFS client
untuk menyimpan data
file
berupa nama
file,
ukuran
file,
dan
path file
. Pada tahap
implementation
akan diimplementasikan semua tahapan dari tahapan
design
sampai ke tahapan
simulation prototyping
. Dimulai dengan instalasi
Gluster server
pada kedua
file server
dan instalasi
GlusterFS client
pada
head server.
Selain instalasi utama berupa
cluster GlusterF S,
diperlukan juga instalasi
mysql, apache web server, web browser firefox, wonderhaper,
dan
tcptrack
sebagai aplikasi pelengkap
web file server
menggunakan
GlusterFS
.
Gambar 4 Flowchart Implementasi Shell Script pada File Server
Start
Shell Script
Database File
total unduh lebih dari 100
ukuran file 100mb
copy file from distribute to
stripe
Finish
ya tidak
ya tidak
Gambar 4 menjelaskan
flowchart
implementasi
shell script
pada
file server.
total unduh adalah total unduh
file
pada
file server
. Ukuran
file
adalah ukuran
file
yang disimpan pada
file server
. Alasan ukuran
file
ditentukan 100 mb sebagai acuan adalah dikarenakan
striping data
lebih efektif pada
file
berukuran besar, yang pada penelitian ini dipakai 100 mb sebagai batas minimal suatu
file
untuk dapat didistribusikan ke dalam
filesystem
tipe
striped
[7]. Tahap
monitoring
diperlukan untuk memonitor
file server
apakah telah berjalan sesuai dengan konfigurasi yang ditentukan. Monitoring menggunakan
tcptrack
dari sisi
head server
untuk memonitor kondisi
Gluster server
.
Tcptrack
memonitor alamat
IP Gluster
server
yang terhubung dengan
head server
berupa
transfer rate
dan status jaringan. Dari sisi
client, monitoring
dilakukan dengan mengamati
transfer rate
pada
download manager browser firefox.
Data yang didapat dari hasil
monitoring
akan dicatat dan dianalisa apakah sesuai hasil yang diingankan atau tidak dan apa yang menyebabkan hasil yang didapat
tersebut. Tahapan
management
adalah tahapan terakhir yang merupakan tahapan penting yang digunakan sebagai kebijakan utama untuk mendistribusikan
file
ke dalam
filesystem distributed
atau
striped
.
Management
dilakukan secara otomatis dengan menggunakan
shell script.
Shell script
akan mengatur dan mengecek kondisi
file
menggunakan
data
dari
database mysql
dan melakukan tindakan sesuai dengan kondisi yang telah ditentukan pada tahap
analysis
.
4. Hasil dan Pembahasan