Analisis Penjadwalan Server Menggunakan Teknik Cluster...
-
Upload
hoanghuong -
Category
Documents
-
view
235 -
download
0
Transcript of Analisis Penjadwalan Server Menggunakan Teknik Cluster...
Analisis Penjadwalan Server Menggunakan Teknik
Cluster Schedulling Berdasarkan Kebutuhan Waktu
Artikel Ilmiah
Peneliti:
Fredy santoso 672008002
Irwan Sembiring, S.T., M.Kom.
Dr. Sri Yulianto, J.P., S.Si., M.Kom
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015
2
Analisis Penjadwalan Server Menggunakan Teknik
Cluster Schedulling Berdasarkan Kebutuhan Waktu
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh gelar Sarjana Komputer
Peneliti:
Fredy santoso 672008002
Irwan Sembiring, S.T., M.Kom.
Dr. Sri Yulianto, J.P., S.Si., M.Kom
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015
1
Analisis Penjadwalan Server Menggunakan Teknik Cluster
Schedulling Berdasarkan Kebutuhan Waktu
1)Fredy Santoso,
2)Irwan Sembiring, S.T., M.Kom.
3)Dr. Sri Yulianto, J.P., S.Si.,
M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
Salatiga, Jawa Tengah 50711
Phone (0298) 321212
Email : 1)
ABSTRACT
The purpose of this research is to analyze a server cluster by combining two model
clusters at once high avaibility and load balance the cluster technique by using schedulling.
Cluster schedulling is a mechanism or technique used to swap some of the functions of the
different cluster upon cluster are used together. The use of two model clusters as well as intended
can provide a flexible performance on the server in the address the network load. The use of
clusters of high avaibility serves to overcome the failure of the server when there is interference,
while the cluster load balance serves to balance the load on the server that continues to grow.
This schedulling cluster creation based on the method of NDLC (Network Development
Life Cycle) and build a schedulling command is used to switch the function of the cluster server.
Using the shell script on linux, commands used to perform Exchange cluster functions will be
performed automatically. This research resulted in the analysis of the cluster server by
measuring the test limits the performance of the average speed of each server, with a second
performance comparison function cluster server and comparison of the performance of a server
with cluster in dealing with excessive network load. Later this research can be applied to
companies or establishments with a dense network of computers users.
ABSTRAK
Tujuan dari penelitian ini adalah menganalisis sebuah cluster server dengan
menggabungkan dua model cluster sekaligus yaitu high avaibility dan load balance dengan
menggunakan teknik cluster schedulling. Cluster schedulling adalah sebuah mekanisme atau
teknik yang dipakai untuk menukar beberapa fungsi cluster yang berbeda pada saat cluster
tersebut digunakan secara bersama-sama. Penggunaan dua model cluster sekaligus ditujukan
dapat memberikan kinerja yang fleksibel pada server dan mampu mengatasi beban jaringan.
Penggunaan cluster high avaibility berfungsi untuk mengatasi kegagalan server ketika terjadi
gangguan, sedangkan cluster load balance berfungsi untuk menyeimbangkan beban pada server
yang terus bertambah.
Pembuatan cluster schedulling ini didasari oleh metode NDLC (Network Development
Life Cycle) dengan membangun sebuah perintah schedulling yang digunakan untuk menukar
fungsi dari cluster server. Dengan menggunakan shell script pada linux, perintah-perintah yang
digunakan untuk melakukan pertukaran fungsi cluster akan dilakukan secara otomatis. Penelitian
ini menghasilkan analisa dari cluster server dengan mengukur uji batas performa rata-rata tiap
server, dengan perbandingan kinerja kedua fungsi cluster server dan perbandingan kinerja single
server dengan cluster dalam menangani beban jaringan yang berlebihan.
Kata Kunci :
[1]
Mahasiswa Fakultas Teknologi Informasi Universitas Kristen Satya Wacana [2]
Staff Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana [3]
Staff Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
2
1. Pendahuluan
Server merupakan induk dari segala komputer yang terhubung pada
sebuah jaringan yang berfungsi sebagai pengatur sistem jaringan. Kegagalan
devices pada sebuah server bukan sesuatu yang tidak mungkin terjadi
sehingga diperlukan solusi agar sistem jaringan tidak terganggu.
Jika sebuah web server mati yang disebabkan oleh suatu hal (power
supplay mati atau yang lainnya), maka pengguna internet tidak akan bisa
mengakses situs pada web server tersebut. Clustering menawarkan solusi
untuk menangani perpindahan tugas atau pemerataaan beban dari datu server
ke server yang lainnya apabila terjadi kerusakan pada salah satu server.
Cluster adalah sekumpulan komputer (server jaringan) independen
yang beroperasi dan terlihat oleh client jaringan seolah-olah komputer-
komputer tersebut adalah satu buah unit komputer. Proses menghubungkan
beberapa komputer agar dapat bekerja seperti itu dinamakan Clustering. Jadi
intinya komputer cluster adalah sebuah server yang terdiri dari kumpulan
beberapa komputer server (memiliki spesifikasi yang sama) yang secara
logic di anggap sebagai satu kesatuan server untuk menangani suatu service
tertentu. Terdapat beberapa jenis cluster salah satunya adalah
ClusterSchedulling. Cluster Schedulling sendiri adalah cluster yang
digunakan untuk menjadwalkan server pada jam-jam tertentu.
Permasalahan yang sering timbul dalam dunia kerja tidak adanya
management waktu sehingga sering terjadi kesalahan dalam penggunan
jaringan komputer. Dalam hal ini akan menyebabkan terjadinya beban
jaringan yang menumpuk pada server sehingga membuat jalur internet
menjadi lambat. Kestabilan dan efektivitas kerja akan menurun untuk itu
diperlukan konfigurasi server yang dapat mengatasi hal tersebut. Dalam
permasalahan yang diangkat ini akan membahas tentang cara menschedule
server sesuai jam kerja tertentu dalam artian jikalau pada waktu biasa/ tidak
terschedule user dapat mengakses semua jaringan internet yang ada pada
setiap waktu sedangkan jika dischedule user hanya dapat mengakses jaringan
tertentu pada jam yang dijadwalkan.
2. Tinjauan Pustaka
Penelitian Sebelumnya
Dalam jurnal yang berjudul “Teknologi Load Balancing untuk
mengatasi beban server” oleh Iwan Rijayana, dilakukan penelitian
tentang bagaimana mengatasi dan membagi beban pengaksesan aplikasi
berbasis web kedalam beberapa komputer server agar beban tersebut
tidak hanya terletak pada satu komputer server. Teknologi Load
Balancing digunakan di dalam lingkungan server yang membutuhkan
pemrosesan dan pengeloalaan data dalam jumlah besar dengan cepat.
Namun, permasalahan yang bisa muncul dari layanan cluster tersebut
berupa kegagalan yang sering terjadi pada server utama load balance
(Primary failure). Hal ini mengakibatkan semua server backend akan
mati dan akses user pun akan mengalami timeout[1].
3
Salah satu solusi untuk mengatasi permasalahan diatas adalah
dengan menggunakan cluster schedulling yang digabungkan dengan
teknologi High Avaibility cluster, yang akan melakukan failover atau
perpindahan resources dari satu server ke server yang lain secara
otomatis agar kestabilan server tetap terjaga. Pertukaran fungsi cluster ke
high avaibility dilakukan untuk mengatasi kegagalan fungsi server utama
agar server lain yang menjadi backend dapat bekerja secara utuh dengan
resources yang dimiliki. Teknologi ini diharapkan dapat menjadi solusi
dalam mengatasi kegagalan server ketika terjadi gangguan.
Dalam jurnal yang berjudul “High Avaibility MMORPG dalam
lingkungan cloud computing” oleh Danang Haryo Sulaksono, dilakukan
penelitian berupa penggunaan cluster High Avaibility didalam sebuah
permainan MMORPG (Massive Multiplayer Online Role Playing Game).
Penggunaan cluster tersebut difungsikan agar sistem yang terpusat pada
sebuah server akan terus aktif untuk terjaganya sesi permainan. Jika
terjadi down atau salah satu server mati, maka koneksi akan tetap berjalan
dengan dialihkan ke server yang berbeda. Kestabilan koneksi akan
terjaga, namun beban bandwith untuk satu server dalam menangani
traffic jaringan masih tergolong cukup lama. Hal ini disebakan oleh
kemampuan sistem pada traffic jaringan yang telah terimplementasi oleh
server dalam mengatasi jumlah permintaan ke server yang terus
bertambah[2].
Sebuah solusi untuk mengatasi permasalahan diatas adalah dengan
menggunakan cluster schedulling yang digabungkan dengan teknologi
Load Balance cluster, yang digunakan untuk membagi beban ke seluruh
server yang ada, server akan bekerja bersama-sama untuk melayani
permintaan dari user. Pertukaran fungsi cluster ke load balance
digunakan saat beban bandwith yang ditangani oleh server terlalu padat,
dan dengan menyeimbangkan beban kepada dua server diasumsikan
dapat membantu server dalam mengatasi jumlah permintaan dari client ke
server yang terus bertambah.
Cluster Server
Cluster Computing adalah teknik menghubungkan dua atau lebih
komputer ke dalam jaringan dalam rangka mengambil keuntungan dari
resources yang terdapat didalam komputer yang menyediakan redundant
interconnections, sehingga user hanya mengetahui ada satu sistem server
yang tersedia dan komputer client tidak menyadari jika terjadi kegagalan
pada sistem server karena tersedianya server sebagai redundant atau
backup. Clustering computing dapat digunakan untuk load balancing
cluster ataupun failover clustering (high avaibility).[3]
High-availability cluster juga sering disebut sebagai failover
cluster pada umumnya diimplementasikan untuk tujuan meningkatkan
ketersediaan layanan yang disediakan oleh cluster tersebut. yang
kemudian digunakan untuk menyediakan layanan saat salah satu elemen
cluster mengalami kegagalan. Jumlah yang paling umum dari kategori ini
adalah dua node. Konsep konfigurasi membuat satu server sebagai master
server dan server yang lain menjadi slave server dimana saat server
4
dalam keadaan normal master server menangani semua request dari
client. Slave server akan mengambil alih tugas master server apabila
master server tidak berfungsi atau mati.[3]
Load balancing cluster merupakan cluster server dimana anggota
cluster server dikonfigurasikan untuk saling berbagi beban yang
berfungsi mendistribusikan request dari client ke anggota server load
balanced cluster. Secara umum cara kerja load balancer adalah menerima
incoming request dari client dan meneruskan request tersebut pada server
tertentu jika dibutuhkan. Load balancer menggunakan beberapa algoritma
yang berbeda untuk melakukan control traffic network. Tujuan algoritma
load balancer adalah untuk mendistribusikan beban secara pintar atau
memaksimalkan kerja anggota servercluster. Algoritma load balance
meliputi Roundrobin, weighted-roundrobin, least connection, dan load
based.[1]
Heartbeat merupakan perangkat lunak yang umum digunakan
untuk cluster high availability. Heartbeat perlu dikombinasikan dengan
resource yang diperlukan untuk membangun failover yang memiliki
kemampuan menghetikan dan memulai service yang diinginkan seperti
service IP address, webserver, mounting blok hard disk , dsb. Heartbeat
menjalankan script inisialisasi untuk menjalankan service lain pada saat
heartbeat dijalankan atau bisa juga mematikan service lain pada saat
heartbeat dimatikan. Heartbeat juga melakukan perpindahan IP address
dari satu server ke server yang lain (IP floating).[3]
Haproxy merupakan aplikasi open sources untuk load balancer
yang dibuat oleh Willy Tarreau pada tahun 2005 menggunakan bahasa C.
Aplikasi yang merupakan singkatan dari High Availability Proxy
digunakan untuk meningkatkan performa banyak website yang tersebar di
banyak server. Aplikasi ini sangat cocok untuk webserver yang
menangani jumlah traffic yang tinggi. Haproxy sendiri dipasang pada
server front-end. Front-End server umumnya memiliki IP statis yang
terintegrasi dengan DNS. [6]
5
3. Metode Pengembangan Sistem
Dalam membangun jaringan yang berbasis cluster server dilakukan
dengan menggunakan pendekatan NDLC (Network Development Life Cycle)
yang didalamnya terdapat beberapa tahap yaitu analysis, design, simulation
prototyping, implementation, monitoring dan management yang dapat dilihat
pada Gambar 1.
Gambar 1 Network Delevopment Life Cycle
3.1 Analisis Pada tahap analisis ini dilakukan analisa permasalahan dan
kebutuhan dengan mencari informasi dari dokumentasi yang mungkin
pernah dibuat sebelumnya. Dengan menelaah setiap data yang didapat
dari data-data sebelumnya, akan muncul suatu kebutuhan serta masalah
yang akan dipecahkan. Mengangkat dari topik penelitian sebelumnya
yang telah dibahas pada bab 2, telah diketemukan suatu permasalahan.
Permasalahan yang akan dibahas pada topik penelitian ini adalah terletak
pada bagaimana membuat sebuah konfigurasi server yang dapat
difungsikan sebagai cluster schedulling untuk mengatasi penjadawalan
jaringan yang disebabkan oleh banyaknya user yang mengakses suatu
webserver dengan menggunakan dua model cluster, yaitu high avaibility
dan load balance. Penggunaan dua model cluster sekaligus didasarkan
pada fungsi yang terdapat disetiap cluster dan dimaksudkan agar dapat
menutupi kelemahan pada tiap-tiap cluster.
Diasumsikan penelitian ini akan diimplementasikan pada suatu
perusahaan atau instansi pengguna jaringan komputer dengan jumlah
pengguna / user yang padat. Seperti contoh terdapat pada jaringan
rekening bank dimana pengguna nasabah yang menggunakan E-Banking
sering melakukan transaksi yang menyebabkan beban jaringan padat.
Contoh lain terdapat pada website siasat UKSW yang memang pada hari
dimana saat para mahasiswa melakukan registrasi matakuliah, traffic
jaringan akan menjadi padat pula. Tentu hal ini akan membuat proses
pertukaran informasi akan menjadi lambat dan terlebih akan membuat
user menjadi tidak nyaman. Untuk mengatasi kelemahan tersebut, perlu
dilakukan perancangan design terhadap sistem jaringan dengan
mengoptimalkan upaya dalam penyediaan akses jaringan yang
mempunyai realibilitas dan ketersediaan yang tinggi
6
3.2 Design
Setelah melakukan analisis, didapatkan data-data yang sangat
diperlukan dalam melakukan perancangan dari sistem yang akan
dibangun. Dari data-data yang didapatkan sebelumnya, tahap design ini
akan membuat gambar simulasi jaringan interkoneksi yang akan
dibangun, diharapkan dengan design ini akan memberikan gambaran
seutuhnya dari kebutuhan yang ada.
Perancangan Arsitektur Sistem Jaringan
Dalam membentuk jaringan komputer harus dipertimbangkan
bagaimana cara melakukan konektivitas antar komputer yang akan
tergabung dalam jaringan komputer dengan membuat topologi jaringan.
Adapun gambar topologi jaringan yang dimaksud sebagai berikut.
Gambar 2 Topology Jaringan cluster
Dari gambar 2 perancangan topologi jaringan ini memerlukan 3 buah
node / server yang terintegrasi sebagai server cluster. Node 1 memiliki ip
192.168.3.2, node 2 memiliki ip 192.168.3.3, dan node 3 memiliki alamat ip
192.168.3.5. Node 1 dan node 3 diberi sebuah virtual ip 192.168.3.6 yang akan
digunakan sebagai alamat public yang diakses oleh client. Node 1 dan node 2
difungsikan sebagai high avaibility cluster dan node 3 difungsikan sebagai load
balance cluster dengan menggunakan node 1 dan node 2 sebagai backend server.
Dibutuhkan sebuah switch sebagai penjembatan antara client dengan server
dikarenakan lingkungan penelitian ini hanya bersifat lokal area network tanpa
harus memakai router.
Setelah dilakukan perancangan topologi jaringan, diperlukan sebuah
perancangan kinerja dari sebuah sistem yang sedang dibuat dengan menggunakan
penggambaran pada flowchart.
7
Perancangan Flowchart pada cluster schedulling
Perancangan flowchart ini digunakan untuk menggambarkan
secara grafik sistem yang sedang di analisis. Diharapkan dengan adanya
flowchart ini dapat diketahui alur kinerja dari sebuah sistem yang sedang
dibuat.
Gambar 3. Flowchart cara kerja cluster scheduling pada High Availabilty
Gambar 3 Menggambarkan tentang cara kerja Cluster Schedulling
pada High Availability. Di awal script system akan menampilkan jam
pada user seperti yang ditunjukkan di kotak pertama kemudian system
mengecek apakah jam pada user dan system sufah menunjukkan jam
18:00:00 atau belum jika sudah system akan menjalankan server pada
mode High Availability setelah itu system akan kembali menunjukkan
jam sampai pada kondisi kedua yaitu jam 06:00:00. Jika jam pada user
dan system sudah menunjuk angka yang sama pada jam tersebut system
akan mematikan mode High Availabilty dan menjalankan mode Load
Balancing dan proses dinyatakan telah selesai
8
Gambar 4. Flowchart cara kerja cluster scheduling pada Load Balancibg
Gambar 4 Menggambarkan tentang cara kerja Cluster Schedulling
pada Load Balancing . Di awal script system akan menampilkan jam pada
user seperti yang ditunjukkan di kotak pertama kemudian system
mengecek apakah jam pada user dan system sufah menunjukkan jam
06:00:00 atau belum jika sudah system akan menjalankan server pada
mode Load Balancing setelah itu system akan kembali menunjukkan jam
sampai pada kondisi kedua yaitu jam 18:00:00. Jika jam pada user dan
system sudah menunjuk angka yang sama pada jam tersebut system akan
mematikan mode Load Balancing dan menjalankan mode High
Availability dan proses dinyatakan telah selesai.
3.3 Simulation Prototyping
Dalam perancangan sebuah jaringan, dibutuhkan sebuah software
khusus di bidang jaringan untuk membuat simulasi dari topologi jaringan
yang akan dibuat. Hal ini digunakan untuk melihat design dari jaringan
yang akan dibangun dan sebagai bahan presentasi. Tetapi dalam
penerapannya, tools yang digunakan dalam membuat simulasi dari
topologi jaringan menggunakan Packet tracer dari Cisco
9
3.4 Implementation
Selanjutnya tahap implementasi akan diterapkan semua yang telah
direncanakan dan didesign sebelumnya. Implementasi merupakan tahapan
yang sangat menentukan berhasil atau gagalnya perancangan yang
dibangun. Analisis ini meliputi instalisasi linux ubuntu server beserta
konfigurasinya, pembuatan clusterserver, Pengujian ClusterServer,
Pembuatan shell script untuk cluster schedulling, dan pengujian kinerja
cluster server dengan menggunakan cluster schedulling.
Instalisasi Linux ubuntu server dan konfigurasi server
Pembuatan cluster server ini menggunakan sistem operasi
ubuntu server 12.04 (32 bit) yang merupakan salah satu dari distro
linux. Sistem operasi ini di install pada ketiga komputer yang akan
dijadikan server. Pembuatan server ini tidak hanya meliputi
instalasi server akan tetapi juga meliputi konfigurasi jaringan dari
ketiga server sehingga dapat diakses dengan komputer client
melalui Local Area Network. Pembuatan jaringan ini meliputi
konfigurasi IP address dari tiap – tiap server, netmask, dan
pemberian hostname (DNS) disetiap server
Pembuatan Cluster Server
Pembuatan cluster server ditujukan kepada 3 buah server.
Instalasi cluster dilakukan melalui console linux ubuntu dari tiap –
tiap server. Pada server 1 dan server 2 difungsikan sebagai server
high avaibility, sedangkan untuk server 3 difungsikan sebagai
server load balance. Hubungan antara server 1 dan server 2
adalah master dan slave, yang dikarenakan menggunakan tehnik
clusterfailover yang nantinya dapat saling berinteraksi antara
server 1 dan server 2 untuk dapat saling mem-backup kinerja dari
sistem server. Dan untuk server 3 berfungsi sebagai penyeimbang
beban pada saat terjadi kepadatan pada jaringan.
Pengujian Cluster Server
Pengujian cluster meliputi pengujian kinerja dari tiap – tiap
cluster server yang telah dibuat pada jaringan dan menelaah jika
terjadi kesalahan didalam konfigurasi cluster. Pengujian ini juga
meliputi pengalihan sistem ketika server master mengalami
kegagalan sistem (failure) atau pun saat server sedang down dan
performa dari sistem server dengan membandingkan optimasi
yang terjadi setelah cluster dibuat.
Pembuatan Shell Script Cluster Schedulling
Pembuatan shell script yang akan difungsikan sebagai
cluster schedulling ditujukan kepada 2 buah node yaitu pada
server 1 yang bertindak sebagai master high avaibility dan server
3 yang bertugas sebagai load balance. Pembuatan shell script
dilakukan melalui console linux. Perintah shell script dibuat
berdasarkan kondisi dimana jika beban jaringan server terlalu
10
berat, maka akan menukar service yang semula dari high avaibility
menjadi load balance.
Pengujian Kinerja Cluster Schedulling
Pengujian cluster meliputi simulasi jaringan menggunakan
aplikasi siege yang terinstal pada client dan aplikasi nload yang
terinstal pada server. Siege adalah aplikasi untuk mensimulasikan
banyaknya user yang akan membebani satu jaringan server,
sedangkan nload adalah aplikasi yang digunakan untuk mengukur
kecepatan bandwith. Pengujian ini digunakan untuk memastikan
apakah shell script yang dibuat telah berfungsi dengan baik dan
keseluruhan server telah mampu bekerja sesuai dengan tujuan
semula. Pengujian ini juga dilakukan untuk mengukur tingkat
performa tiap-tiap server dalam menangani bandwith jaringan.
3.5 Monitoring Tahapan monitoring merupakan tahapan yang penting agar jaringan
dan komunikasi dapat berjalan sesuai dengan keinginan dan tujuan awal
pada tahap awal analisa, maka perlu dilakukan kegiatan monitoring. Pada
tahapan ini dilakukan beberapa percobaan untuk memastikan perangkat
yang digunakan bekerja dengan baik. Percobaan yang dilakukan antara
lain memastikan semua komponen server terhubung dengan baik terhadap
client sehingga dapat di akses oleh user, dan cara yang dilakukan dengan
melakukan ping dari komputer client ke server 1 maupun server 2.
Memastikan pula seluruh service cluster dapat bekerja dengan baik
sehingga saat pengujian berlangsung segala macam kesalahan yang
terjadi dapat diminimalisir.
3.6 Management
Pada tahapan manajemen ini salah satu yang menjadi perhatian
khusus adalah masalah policy(kebijakan). Kebijakan ini dibuat
bedasarkan dari hasil uji coba yang dilakukan pada cluster schedulling.
Cluster schedulling yang dibuat menggunakan shell script dan dirancang
secara manual, ini dilakukan untuk menghindari terjadinya error ataupun
kesalahan yang diakibatkan servis yang bentrok pada saat perpindahan
fungsi cluster berlangsung. Sehingga admin berperan dalam
menghidupkan ataupun mematikan fungsi shell script yang dibutuhkan,
serta melakukan pengawasan setiap konektivitas yang terjadi pada tiap
cluster server yang aktif. Perbaikan shell script juga diperlukan agar lebih
efisien digunakan, sehingga nantinya cluster schedulling dapat beroperasi
secara otomatis tanpa campur tangan admin.
11
4. Hasil Dan Pembahasan
Setelah tahapan perancangan sistem, maka selanjutnya adalah
implementasi sistem yang dibangun. Pada perancangan sistem ini meliputi
beberapa tahap antara lain instalisasi linux ubuntu server beserta
konfigurasinya, pembuatan clusterserver, Pengujian ClusterServer,
Pembuatan shell script untuk cluster schedulling, dan pengujian kinerja
cluster server dengan menggunakan cluster schedulling.
Tahap awal dengan menginstal Linux ubuntu server dan
mengkonfigurasinya. Pembuatan cluster server ini menggunakan sistem
operasi ubuntu server 12.04 (32 bit). Sistem operasi ini di install pada ketiga
komputer yang akan dijadikan server. Pembuatan server ini tidak hanya
meliputi instalasi server akan tetapi juga meliputi konfigurasi jaringan dari
ketiga server sehingga dapat diakses dengan komputer client melalui Local
Area Network sesuai dengan topology jaringan. Pembuatan jaringan ini
meliputi konfigurasi IP address dari tiap – tiap server, netmask, dan
pemberian hostname (DNS) disetiap server
Tahap pembuatan cluster server ditujukan kepada 3 buah server /
node. Instalasi cluster dilakukan melalui console linux ubuntu dari tiap – tiap
node. Pada node 1 dan node 2 difungsikan sebagai server high avaibility,
sedangkan untuk node 3 difungsikan sebagai server load balance. Hubungan
antara node 1 dan node 2 adalah master dan slave, yang dikarenakan
menggunakan tehnik cluster failover yang nantinya dapat saling berinteraksi
antara node 1 dan node 2 untuk dapat saling mem-backup kinerja dari sistem
server. Dan untuk node 3 berfungsi sebagai penyeimbang beban pada saat
terjadi kepadatan pada jaringan.
Pembuatan cluster high avaibility dimulai dengan menginstal aplikasi
heartbeat pada node 1 dan node 2. Tahap berikut dengan mengkonfigurasi
tiga file berupa ha.cf, haresources dan authkeys yang terdapat pada direktori
/etc/ha.d/ di kedua node. Kemudian melakukan pendeklarasian DNS hosts di
node 1 dan 2 agar tiap-tiap node yang terhubung mampu mengenali hostname
di setiap node. File ini berisi keterangan tentang beberapa node yang akan
dipakai oleh service heartbeat.[11]
Pembuatan cluster load balance dimulai dengan menginstal aplikasi
haproxy pada node 3. Setelah itu, dilakukan pengkonfigurasian pada file
/etc/haproxy/haproxy.cfg. dan file /etc/default/haproxy. [8] Tahap terakhir
dengan membuat virtual ip public pada tiap-tiap node agar kedua server high
avaibility dan load balance dapat diakses oleh user dan tidak bentrok saat
memberikan servis secara bergantian dengan menghidupkan dan mematikan
virtual ip yang dijadikan sebagai alamat public.
Pengujian cluster high avaibility dilakukan dengan cara simulasi kegagalan yang
terjadi pada server utama dengan cara mematikan servis heartbeat pada server
master agar server slave mampu melakukan backup resources. Kemudian
menghidupkan kembali servis pada server master untuk melihat apakah server
utama dapat mengambil resources kembali.
12
Gambar 5 pengujian heartbeat pada client dengan perintah curl
Pengujian cluster load balance dapat dilakukan melalui browser dari
client dengan mengakses halaman statistik haproxy pada http:
://192.168.3.6/haproxy?stats. Pengujian dapat juga dilakukan dengan
mengakses alamat IP dari node 3, secara otomatis client akan diarahkan pada
salah satu alamat dari node 1 ataupun 2.
Gambar 6 pengujian haproxy pada client dengan perintah curl
Penggunaan dari shell scripting adalah mengotomasi perintah2 yang
sudah biasa digunakan sehingga tidak perlu menuliskan setiap kali dengan
13
cara yang berulang dan lengkap, tapi cukup dengan fungsi yang telah dibuat.
[7] Pembuatan shellscript high avaibility dibuat pada node 1 dengan nama
brushup.sh dan ditujukan untuk menukar fungsi cluster server dari high
avaibility ke load balance ataupun sebaliknya pada saat server yang
menghandle public IP telah mengalami penjadwalan jaringan.
Gambar 7 shellscript pada server high availability
Penjelasan dari sheelscript pada gambar 7 dimulai dari system
menampilkan waktu pada user secara hitung mundur sampai jam pada user
dan shell script menunjukkan waktu yang sudah ditentukan pada jaringan
server High Availabilty yaitu pukul 18:00:00 kemudian system memberi tahu
bahwa Heartbeat Server Activated dengan menjalankan perintah service
heartbeat start yang dilanjutkan dengan merestart network dengan
/etc/init.d/networking restart.
Pada kondisi kedua yaitu jam 06:00:00 sistem juga akan menampilkan
jam pada user terlebih dahulu baru pada saat jam pada user dan shellscrip
system akan mematikan server HeartBeat dengan command service heartbeat
stop dialnjutkan dengan mematikan IP bayangan pada Heartbeatdengan
command ifconfig eth4:0 down dan menyalakan service apache2 start.
14
Gambar 8 shellscript pada server load balance
Penjelasan dari sheelscript pada gambar 8 dimulai dari system
menampilkan waktu pada user secara hitung mundur sampai jam pada user dan
shell script menunjukkan waktu yang sudah ditentukan pada jaringan yaitu pukul
06:00:00,system memberi tahu bahwa load balancing activated dengan
menjalankan service haproxy start lalu restart network dengan command
/etc/init.d/networking restart dan server loadbalancing sudah aktif.
Pada kondisi kedua yaitu jam 18:00:00 sistem juga akan menampilkan
jam pada user terlebih dahulu baru pada saat jam pada user dan shellscrip system
akan mematikan server HeartBeat dengan command service haproxy stop
dialnjutkan dengan mematikan IP bayangan pada Heartbeatdengan command
ifconfig eth2:1 down dan server loadbalancing pun akan deactivated.
15
4.1 Perbandingan Server Sebelum Menggunakan Cluster
Scheduling.
Pada server yang belum di cluster ada beberapa masalah yang ditemukan
seperti:
1. Server yang tidak terjadwalkan dalam artian penggunaan server belum
sesuai dengan penggunaan.
2. Belum adanya penjadwalan otomatis yang dalam artian belum bisa
menschedule server untuk berpindah dari satu server ke server lain
Dari masalah itu dibuatlah penjadwalan server yang bersifat untuk
menjadwal server secara berkala yang sudah ditentukan oleh pembatasan
waktu.
4.2 Perbandingan Server Sesudah Menggunakan Cluster
Scheduling.
Pada server yang sudah di cluster masalah yang ada pada cserver yang
belum di cluster pun dapat teratasi seperti:
1. Server sudah terjadwal sehingga penggunaan serverbisa lebih optimal.
2. Sudah adanya penjadwalan otomatis sehingga server bias berpindah
sesuai schedule yang sudah dibuat dalam sheelscript.
Sehingga masalah server pun terselesaikan denan adanya penjadwalan
server.
Untuk lebih jelasnya akan ditampilkan dalam grafik performa antara
single server dan cluster server pada gambar 9 seperti berikut:
Gambar 9 Perbandingan kinerja antara single server dengan cluster lewat client
Beban Perbandingan Single Server Clustering
30 User Transaction 3165 Hit 3437 Hit
Transfer Rate 53,14 /sec 58,23 /sec
16
Gambar 10 Grafik kinerja antara single server dengan server cluster
Dari hasil tabel 2 maupun gambar 7 dapat dilihat bahwa jumlah
transfer rate maupun jumlah transaction dari client yang menggunakan
clustering terlihat lebih banyak. Dari jumlah transaction yang dihasilkan pada
single server hanya mendapatkan 3165 Hit dibandingkan server dengan
menggunakan cluster yang mendapatkan jumlah 3437 Hit dalam kasus
penanganan 30 user. Dilihat dari jumlah transfer rate yang didapat dari client
menghasilkan jumlah 53,14 /sec dari single user dan 58,23 /sec dari server
yang menggunakan clustering.
Hal ini disebabkan kerja server cluster menggunakan jalur dua
komputer sekaligus saat menangani request dari client. Jadi jumlah hit yang
dihasilkan lebih banyak karena alur data yang masuk melalui 2 server sebagai
penyeimbang beban dibandingkan dengan single server yang hanya bekerja
secara sendiri.
5. Kesimpulan
Kesimpulan dari hasil skripsi yang membahas tentang Analisis
Network Traffic menggunakan teknik cluster schedulling berdasarkan
kebutuhan waktu ini, dengan menggunakan cluster schedulling dapat menukar
dua fungsi cluster pada saat digunakan dalam penanganan kondisi tertentu.
Penggunaan Cluster load balance mampu menyeimbangkan beban dari server
dan penggunaan failover pada server mampu menjaga kestabilan server.
Dengan menggunakan Shell Script yang diterapkan pada cluster schedulling,
penukaran dua fungsi cluster dapat dilakukan secara otomatis tanpa harus
mengetikkan perintah-perintah secara manual.
Kinerja server yang fleksibel, dengan menggunakan fungsi 2 cluster
sekaligus telah dibuktikan dengan pengujian kinerja cluster high avaibility
dan load balance yang dapat berfungsi secara bergantian dalam menangani
jaringan. Serta cluster schedulling yang mampu mengatasi beban jaringan
yang berlebihan pada satu server dengan membagi beban ke banyak server
sehingga kerja server lebih ringan. Diharapkan nantinya penelitian ini dapat
diterapkan pada perusahaan dengan pengguna jaringan komputer yang padat.
3000
3100
3200
3300
3400
3500
30 User
Single user
Clustering
50
52
54
56
58
60
30 User
Single User
Clustering
17
Daftar Pustaka
[1] Iwan Rijayana, 2005, Teknologi Load Balance untuk mengatasi beban
pada server. Jurusan Teknik Informatika, Universitas Widyatama Bandung
[2] Danang Haryo Sulaksono, 2012, High Avaibility MMORPG dalam
lingkungan Cloud Computing. Pasca Sarjana Institute Teknologi Sepuluh
November Surabaya.
[3] Ngesti Andik Rimbawanto, 2008, Perancangan dan Implementasi High-
Availability Clustering Server Menggunakan Open Source Software
Sebagai Back-End Database, Fakultas Teknologi Informasi, UKSW.
[4] Deris Stiawan, Fundamental Internetworking Development& Design Life
Cycle. Dosen Jurusan Sistem Komputer FASILKOM UNSRI.
[5] Larsnooden, 2013, Beginner Bash Scripting, https://help.ubuntu.com
diakses tanggal 25 Februari 2014.
[6] Craig R Webster, 2012, Load Balanced highly available MySQL on Ubuntu
8.04. GNU Free Documentation.
[7] Machtelt Garrels, 2010, Bash Guide for Beginner, Fultus Corporation,
GNU Free Documentation.
[8] Paul Cobbaut, 2013, Linux Fundamentals, GNU Free Documentation.
[9] Craig R Webster, 2012, High Avaibility Apache on Ubuntu 8.04. GNU Free
Documentation.
[10] Alexa Internet, 2014, How popular indowebster.com,
http://www.alexa.com/siteinfo/indowebster.com, diakses tanggal 25 April
2014.