Pembuatan Aplikasi Load Balancing Web Server Berdasarkan Ipvsadm
Pembuatan Aplikasi Load Balancing Web Server Berdasarkan Ipvsadm
ARIYA KUSUMA
12.043.124
HALAMAN JUDUL
HALAMAN PENGESAHAN ....................................................................................... ii
HALAMAN PERNYATAAN ....................................................................................... iii
HALAMAN PERSEMBAHAN .................................................................................... iv
KATA PENGANTAR ................................................................................................... v
DAFTAR ISI ................................................................................................................. vi
DAFTAR GAMBAR ..................................................................................................... ix
DAFTAR TABEL ......................................................................................................... xiii
INTISARI ...................................................................................................................... xiv
viii
DAFTAR GAMBAR
xii
DAFTAR TABEL
xiii
INTISARI
Oleh :
Ariya Kusuma
12.043.124
Dengan pertumbuhan internet yang semakin cepat. Beban kerja pada sebuah website
juga naik cepat, sehingga server mudah terbebani dalam waktu yang singkat. Dapat dibuat
suatu solusi Load Balancing, yang akan memeratakan beban akses ke web server. Dan
dibuat aplikasi web base dari tool Load Balancing yang digunakan.
Web server berbasis Linux Virtual Server menggunakan metode penyampaian paket
yakni direct routing, algoritma penjadwalan weight least connection. Penggunaan tool
IPVSadm sebagai pengatur Load Balancing Web Server dilakukan dengan aplikasi web
base sesuai kebutuhan administrator dan koneksi client ke web server dapat terlihat dalam
grafik bar. Sistem Linux Virtual Server ini tersusun dari 10 web server dan dihubungkan
ke sebuah LVS router.
Dari pengujian didapatkan bahwa nilai packet loss terbesar yang dicapai adalah 48,2
% dari pada web server tunggal sebesar 48,3 %. Dengan penerimaan request rata-rata dari
server load balancing sebanyak 1045,5 request dari pada web server tunggal dengan rata-
rata 1020,8 request.
Kata kunci: load balancing, linux virtual server, linux cluster, ipvsadm, clustering.
xiv
1
BAB I
PENDAHULUAN
1
2
(wlc).
4. Load Balancing diterapkan pada jaringan intranet atau local saja.
5. Tidak menggunakan Backup Sistem LVS Router.
6. Penggunaan LVS terbatas pada web server static saja.
7. Tidak ada sinkronisasi antar web server static.
8. Tidak ada rule pada konfigurasi firewall di LVS dan Real Server yang meyangkut
keamanan, hanya saja Real Web Server tidak dapat diakses dari client secara
langsung ke port 80 layanan http.
9. Menggunakan bahasa pemograman PHP sebagai pengelolaan setting IPVSadm.
10. Web base konfigurasi hanya digunakan oleh administrator saja, dan web hanya
sebatas aplikasi untuk mempermudah pengelolaan mesin Load Balancing.
11. Web base hanya untuk add, delete, dan edit virtual server dan real web server
saja.
12. Memanfaatkan hasil log connection dari tool IPVSadm sebagai monitoring
koneksi real web server.
13. Aplikasi web base hanya menampilkan monitoring koneksi yang masuk ke setiap
real web server yang ada dalam bentuk grafik Bar saja.
14. Analisis akan lebih memperhatikan besar request yang diterima kembali oleh
client, dengan melakukan request halaman web secara beruntun ke server dalam
satu waktu.
1. BAB I PENDAHULUAN
Pendahuluan berisi mengenai gambaran umum tentang latar belakang, perumusan
masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian,
desain penelitian dan sistematika penulisan.
2. BAB II TINJAUAN PUSTAKA
Tinjauan pustaka memuat uraian sistematis tentang informasi hasil penelitian yang
disajikan dalam pustaka dan menghubungkannya dengan masalah penelitian yang
sedang diteliti.
3. BAB III LANDASAN TEORI
Landasan teori ini berisi tentang gambaran umum objek yang bersangkutan,
pengertian–pengertian dasar dan teori–teori yang berhubungan dengan masalah
yang akan di bahas dalam tugas akhir ini sebagai landasan bagi pemecahan yang di
usulkan.
4. BAB IV ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan diuraikan mengenai tahapan-tahapan perancangan perangkat
lunak untuk aplikasi web base penggunaan setting pada server laod balancing web
server menggunakan metode Direct Routing yang terdiri atas penjelasan dari
analisis permasalahan, perancangan sistem, spesifikasi sistem.
5. BAB V IMPLEMENTASI SITEM
Pada bab empat berisi hasil implementasi digunakan untuk menyelesaikan beban
web server. Metode direct routing yang dapat dipakai untuk menyelesaikan beban
web server. Dan penerapan aplikasi setting IPVSadm berbasis web base.
6. BAB VI HASIL DAN PEMBAHASAN
Pada bab kelima berisi penjelasan lingkungan uji coba aplikasi, pelaksanaan uji
coba dan evaluasi dari hasil uji coba yang telah dilakukan untuk kelayakan
pemakaian aplikasi.
7. BAB VII KESIMPULAN DAN SARAN
Pada bab ini Berisi mengenai kesimpulan yang di peroleh dari hasil penganalisaan
data dari bab-bab sebelumnya. Dimana berisi tentang saran-saran yang diharapkan
yang bermanfaat dan dapat membangun serta mengembangkan isi laporan tersebut
sesuai dengan tujuan penulisan Laporan tugas akhir.
6
BAB II
TINJAUAN PUSTAKA
6
7
paling baik. Penelitian ini bertujuan menemukan algoritma penjadwalan terbaik pada
sistem cluster menggunakan LVS load balancing via NAT, berdasarkan parameter
tertentu.
Pranata Ari Baskoro (2011) “Rancang Bangun Server Learning Management
System (LMS) Berbasis Metode Load Balancing” Melakukan penelitian dengan judul
Untuk rancang bangun server Learning Management System (LMS) yang menerapkan
metode load balancing yang berbasis framework Linux Virtual Server (LVS). Algoritma
penjadwalan diperlukan untuk menentukan alur pendistribusian beban kerja antar server.
Dalam rancang bangun tugas akhir ini, algoritma penjadwalan yang digunakan adalah
round robin. Dengan round robin, beban kerja antar server dapat didistribusikan sama rata,
tanpa mempertimbangkan kapasitas atau spesifikasi dari server tersebut.
Lisyadi Oktavianus (2013) “Membangun Sistem Cloud Computing Dengan
Implementasi Load Balancing Dan Pengujian Algoritma Penjadwalan Linux Virtual Server
Pada FTP Server” Cloud computing yang dibangun adalah private cloud yang lokal
universitas andalas dengan model diimplementasikan di jaringan layanan Sofwtare as a
service (SaaS) dimana aplikasi FTP sebagai layanan dari cloud. Untuk meningkatkan
layanan FTP pada cloud computing, maka penelitian menggunakan teknologi Load
Balancing dibuat melaui apliaksi Linux Virtual Server dan memakai metode Direct
Routing. Penelitian ini bertujuan untuk mengetahui hasil perbandingan efisiensi tingkat
pemanfaatan resource dan peformansi antara server tunggal konvensional dengan sistem
cloud computing serta mengetahui hasil perbandingan 5 algoritma penjadwalan linux
virtual server.
Tabel 2.1 Perbandingan Studi Pustaka
Nama Penyelesaian Fokus dan Tujuan
No Judul
Peneliti Masalah Penelitian
Linux Virtual
Server (LVS)
Dari daftar pustaka yang ada didapat permasalahan bahwa dalam setting tool
IPVSadm yang digunakan masih banyak yang menggunakan perintah dan parameter dari
IPVSadm secara manual dari terminal linux dan hasil konfigurasi tidak tampak secara
10
langsung begitu juga log koneksi yang disajikan bukan grafis yang cukup lebih mudah dan
langsung dimengerti. Ada salah satu pustaka yang telah membuat tampilan tool IPVSadm
untuk mempermudah administrator dalam mengkonfigurasi di IPVSadm namun tanpa
adanya presentasi log koneksi yang disajikan. Dari hal tersebut di atas maka dibuatlah
aplaksi web base yang mempresentasikan konfigurasi dan log koneksi sesuai batasan
penelitian yang diterangkan pada bab awal tugas akhir ini.
Yessy Asri (2010) dengan judul “Rancang Bangun Aplikasi Setting Load
Balancing Web Server Pada FreeBSD”. Dimana tool yang digunakan sebagai load
balancing sama yaitu IPVSadm namun dengan metode NAT, sedangkan dalam penelitian
ini menggunakan metode direct routing dalam penerapan load balancing web server. Serta
rancang bangun aplikasi setting load balancing berbeda, yang dalam penelitian dalam
tulisan ini akan dibuat di web dan menggunakan operating system Centos sebagai server
load balancing dan real web server nantinya.
11
BAB III
LANDASAN TEORI
11
12
LVS router backup selalu monitor router LVS aktif dan mengambil alih jika
dalam kasus tersebut LVS router aktif terjadi mati.
Linux Virtual Server (LVS) menerapkan proses pemilihan pada layer 4
(Transport) dari kernel linux. LVS meneruskan session TCP (Transmission Control
Protocol) dan UDP (User Datagram Protocol) untuk menyeimbangkan beban melalui
beberapa real server. LVS berjalan pada Linux, dan dapat menyeimbangkan koneksi
dari end-user dengan system operasi apapun kepada real-server yang menjalankan
sistem operasi apapun, selama koneksi yang dilakukan menggunakan TCP atau UDP.
Gambar 3.2, menunjukkan "Konfigurasi Basic LVS " konfigurasi LVS sederhana
terdiri dari dua lapisan. Pada lapisan pertama adalah dua LVS router (satu aktif dan
satu cadangan). Setiap LVS router memiliki interface dua network, satu antarmuka di
Internet dan satu di jaringan lokal, memungkinkan untuk mengatur lalu lintas antara
dua jaringan. Untuk contoh ini aktif router dengan menggunakan Network Address
Translation (NAT) untuk mengarahkan lalu lintas dari Internet ke sejumlah real
server pada lapisan kedua, yang pada gilirannya memberikan layanan yang
diperlukan. Oleh karena itu, real server dalam contoh ini tersambung ke suatu segmen
jaringan dan semua lalu lintas umum bolak-balik melalui router LVS aktif. Untuk
dunia luar, server muncul sebagai satu kesatuan. Barikut gambar dasar topologi
jaringan LVS.
Gambar 3.2 Dasar topologi jaringan LVS (Red Hat, Inc. 2008)
15
Perintah.
A untuk menambah Virtual-Service. Alamat Virtual-Service adalah unik dengan
harus adanya tiga komponen, yaitu : IP address, nomor port dan protocol.
Sebagai alternatif, Virtual-Service dapat digambarkan dengan firewall-mark.
E untuk mengedit Virtual-Service.
D untuk menghapus Virtual-Service, begitu juga semua Real- Server yang
berhubungan dengan Virtual-Service tersebut.
C untuk membersihkan tabel Virtual-Server.
R untuk mengambil kembali aturan LVS dari stdin. Setiap baris dari stdin akan
dijadikan sebagai perintah.
S untuk menyimpan aturan LVS ke stdout yang formatnya dapat dibaca oleh
perintah ipvsadm -R.
a untuk menambah Real-Server ke Virtual-Service.
e untuk mengedit Real-Server pada Virtual-Service.
d untuk menghapus Real-Server dari Virtual-Service.
L untuk melihat daftar Virtual-Service.
Z untuk mengenolkan paket, byte dan counter dalam sebuah service maupun
keseluruhan.
h untuk menampilkan diskripsi dari syntax perintah.
Parameter.
t untuk menggunakan service tcp. Penulisannya berupa host:port. Bila port tidak
diisi atau nol, maka akan meneruskan service dari semua port.
u untuk menggunakan service udp.
f untuk menggunakan firewall-mark. Perintah ini dapat digunakan untuk
membangun Virtual-Service yang tergabung dengan Real-Server yang sama,
mencakup banyak alamat IP, port dan protocol.
s merupakan algoritma penjadwalan untuk mengalokasikan koneksi datagram
FTP dan UDP dari Real-Server. Algoritma penjadwalan diterapkan sebagai
modul kernel. Ada beberapa algoritma penjadwalan yang sering digunakan,
yaitu :
rr : Algoritma Round-Robin yaitu mendistribusikan pekerjaan secara sama
antar Real-Server yang ada.
18
2. Direct Routing : paket dari end user kan forward secara langsung ke real server.
IP paket tidak dimodifikasi, jadi real server harus dikonfigurasi untuk menerima
trafik dari alamat IP director.
3. IP Tunneling : melewatkan alamat paket kepada alamat ip untuk diarahkan
kepada alamat yang lain, hal ini mungkin dilakukan pada jaringan yang berbeda.
Pada proses pemilihan di layer 4, cara ini hampir sama dengan Direct Routing,
hanya saja ketika paket diteruskan, paket tersebut dibungkus pada paket IP,
kemudian memanipulasi frame ethernet.
Gambar 3.3 Implementasi LVS via Direct Routing (Red Hat, Inc. 2008)
Urutan kerja virtual server via direct routing adalah sebagai berikut:
ketika user mengakses layanan virtual yang disediakan oleh sistem cluster,
paket yang ditujukan untuk alamat virtual IP sampai pada director (LVS).
Director kemudian memeriksa alamat dan port tujuan paket. Jika sesuai
dengan layanan virtual, sebuah real server akan dipilih dari cluster dengan
algoritma penjadwalan, dan koneksi dimasukkan pada tabel hash yang
menyimpan koneksi yang berlangsung. Kemudian, director secara langsung
mengirimkan paket tersebut pada server yang dipilih. Ketika paket untuk
koneksi layanan ini dan server yang dipilih dapat ditemukan dalam tabel hash,
paket akan langsung dikirimkan lagi pada server. Ketika server menerima
paket yang ditujukan untuknya, server akan menemukan bahwa paket adalah
untuk alamat perangkat alias-nya, maka permintaan akan diproses dan
mengirimkan hasilnya secara langsung pada user. Setelah koneksi dihentikan atau
waktu habis, catatan koneksi akan dihapus dari tabel hash.
Alur kerja routing langsung diilustrasikan pada gambar 4 berikut:
21
hardware dan software dan router aktif merata dapat memuat setiap server yang
sebenarnya.
Mekanisme penjadwalan untuk cluster LVS disediakan oleh kumpulan patch
kernel yang disebut IP Virtual Server atau IPVS modul. Modul ini memungkinkan
lapisan 4 (Layer 4) layer transportasi switching, yang dirancang untuk bekerja dengan
baik dengan kelompok server pada satu alamat IP.
Untuk trek dan rute paket ke server yang sebenarnya efisien, IPVS membangun
sebuah table IPVS di kernel. Tabel ini digunakan oleh router LVS aktif untuk
mengarahkan permintaan dari alamat server virtual ke dan kembali dari server nyata.
Tabel IPVS terus-menerus diperbarui oleh utilitas bernama ipvsadm, menambah dan
menghapus anggota cluster tergantung pada ketersediaan mereka.
1. Algoritma Penjadwalan
Struktur tabel IPVS tergantung pada algoritma penjadwalan yang
administrator pilih untuk setiap server virtual yang diberikan. Untuk
memungkinkan fleksibilitas maksimum dalam cluster dipilih salah satu algoritma
penjadwalan Weighted Least Connection (wlc).
Weighted Least Connection (wlc), merupakan sekumpulan penjadwalan least
connection dimana dapat ditentukan bobot kinerja pada masing-masing real server.
Server dengan nilai bobot yang lebih tinggi akan menerima persentase yang lebih
besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada masing-masing real
server dapat ditentukan dan koneksi jaringan dijadwalkan pada masing-masing real
server dengan persentase jumlah koneksi aktif untuk masing-masing server sesuai
dengan perbandingan bobotnya (bobot awal adalah 1).
Berikut proses pencarian koneksi yang sedikit diantara semua server dengan
memperhatikan bobot pada masing-masing real server.
1. for (m = 0; m < n; m++) {
2. if (W(Sm) > 0) {
3. for (i = m+1; i < n; i++) {
4. if (C(Sm)*W(Si) > C(Si)*W(Sm))
5. m = i;
6. }
7. return Sm;
8. }
9. }
10. return NULL;
Gambar 3.5 Proses pembagian beban koneksi wlc (Wensong. 2006)
23
Dari proses di atas dapat sedikit dijelaskan bahwa Si yaitu S(server) dan
i(urutan), W(Si) adalah bobot (W) dari server Si dan C(Si) adalah jumlah koneksi
(C) dari server Si.
1) Baris 1 adalah insialisasi perulangan untuk mengecek seluruh real server
dalam jumlah n yang dimulai real server ke 0 (nol).
2) Baris 2 adalah cek bobot server ke 0, sesuai variabel awal m = 0 dibaris 1.
Apakah lebih besar dari 0.
3) Baris 3 adalah inisialisasi perulangan untuk mengecek real server
berikutnya dalam jumlah n yang dimulai real server ke 1 dari m tertambah
1.
4) Baris 4 adalah akan dilakukan perbandingan nilai bobot dan koneksi dari
real server yang ada, dengan cara jika koneksi dari server sekarang
dikalikan bobot server selanjutnya (i) lebih besar dengan koneksi server
selanjutnya dikali bobot server sekarang, akan disamakan bahwa m = i.
5) Baris 7 adalah pengembalian pengecekan ke server ke m.
6) Baris 10 adalah pengembalian proses ke kosong bila tidak ada daftar real
server yang bisa dilakukan.
server sebenarnya. Server A dan B adalah bobot 1 dan, ketiga server C, tertimbang
yang di 2. Jika C server mati untuk alasan apapun, server A dan B merata
mendistribusikan beban ditinggalkan. Namun, setelah C server kembali online, LVS
router melihatnya telah nol koneksi dan server banjir dengan semua permintaan
yang masuk sampai setara dengan server A dan B.
3.7 IP Tables
IP Tables adalah administrator tools untuk memfilter paket IPV4 dan NAT. IP
Tables diguanakan untuk setup, mangatur, dan memerikasa paket dari aturan
pemfilteran paket IP pada kernel Linux. Masing-masing tabel berisi sejumlah chain
dan dapat juga berisi chains dari user. Masing-masing chain adalah daftar dari aturan
yang dapat disesuaikan dengan paket. Masing-masing aturan akan menetapkan apa
yang akan dilakukan oleh paket. Ini semua disebut target yang mungkin akan
meloncatkannya kepada chain user pada tabel yang sama. IPTables memiliki format
penulisan sebagai berikut :
IPTables memiliki tiga macam daftar aturan bawaan dalam table penyaringan, daftar
tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja.
Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD, seperti tergambar
dalam diagram berikut.
bagaimana untuk berkomunikasi satu sama lain, di mana untuk mengirim data, dan
bagaimana hal itu akan diterima. Protokol menjamin pengiriman paket dengan
mengirimkan sending acknowledgments (ucapan terimakasih) setelah setiap paket
diterima.
Pengirim Sebelum mulai mengirim data ke penerima, percakapan singkat
terjadi. Percakapan diawali dengan protokol TCP pada layer transport dari tuan
rumah pengiriman. Protokol mengirimkan sebuah paket ke host penerima untuk
mengatur komunikasi untuk mentransfer data.
Dalam mentransmisikan data pada layer Transport ada dua protocol yang
berperan yaitu TCP dan UDP. TCP merupakan protokol yang connection-oriented
yang artinya menjaga reliabilitas hubungan komunikasi end-to-end. Konsep dasar
cara kerja TCP adalah mengirim dan menerima segment informasi dengan panjang
data bervariasi pada suatu datagram internet. TCP menjamin realibilitas hubungan
komunikasi karena melakukan perbaikan terhadap data yang rusak, hilang atau
kesalahan kirim. Hal ini dilakukan dengan memberikan nomor urut pada setiap
octet yang dikirimkan dan membutuhkan sinyal jawaban positif dari penerima
berupa sinyal ACK (acknowledgment). Jika sinyal ACK ini tidak diterima pada
interval pada waktu tertentu, maka data akan dikirimkan kembali. Pada sisi
penerima, nomor urut tadi berguna untuk mencegah kesalahan urutan data dan
duplikasi data. TCP juga memiliki mekanisme fllow control dengan cara
mencantumkan informasi dalam sinyal ACK mengenai batas jumlah oktet data
yang masih boleh ditransmisikan pada setiap segment yang diterima dengan sukses.
2. UDP
Datagram Protocol (UDP) adalah protokol yang digunakan pada lapisan
Transport untuk connectionless (komunikasi yang terjadi tanpa sambungan
pertama yang didirikan), komunikasi non-jaminan. Tidak seperti TCP, UDP tidak
mengatur koneksi dan tidak menggunakan ucapan terima kasih.
Sebaliknya, UDP hanya ledakan keluar paket. Jika penerima mendapatkan
paket, bagus, jika tidak, baik. Jika sebuah paket UDP akan hilang atau tidak pernah
tiba di tempat tujuan, pengirim tidak tahu atau peduli tentang hal itu. Saat aplikasi
menggunakan UDP, tidak ada koneksi akan disiapkan sebelum percakapan
dimulai-pengirim hanya mengirim.
27
UDP berguna ketika TCP akan terlalu rumit, terlalu lambat, atau hanya yang
tidak perlu. UDP memberikan beberapa rincian dalam header UDP yang digunakan
untuk mendapatkan paket ke port yang tepat pada host tujuan. Salah satu parameter
dalam header UDP kecil adalah nomor port. Nomor Port UDP 16-bit menunjukkan
lokasi layanan yang host cari.
Nilai lain yang ditempatkan ke dalam header UDP checksum. Tuan rumah
mengirim menghitung checksum dengan menggunakan algoritma khusus dan
kemudian tempat checksum dalam header UDP. Algoritma berlaku persamaan
dengan data yang sedang dikirim (semua 1s dan 0s). Checksum digunakan oleh
host penerima untuk memverifikasi bahwa paket diterima utuh. penerima
menerapkan algoritma sama untuk paket diterima, dan kalau nilai cocok dengan
nilai checksum UDP, paket diterima utuh. Jika nilai berbeda, paket hanya dibuang
dan diabaikan.
UDP yang merupakan salah satu protokol utama diatas IP merupakan
transport protokol yang lebih sederhana dibandingkan dengan TCP. UDP
digunakan untuk situasi yang tidak mementingkan mekanisme reliabilitas. Header
UDP hanya berisi empat field yaitu source port, destination port, length dan UDP
checksum dimana fungsinya hampir sama dengan TCP, namun fasilitas checksum
pada UDP bersifat opsional.
HTTP yang berjalan di atasnya. HTTP mendengarkan pada port TCP, biasanya port
80 untuk permintaan, dan kemudian mentransfer file yang diminta kembali ke
pemohon. Menampilkan host yang meminta file dalam aplikasi Web browser.
Klien membuat permintaan HTTP dengan mengeluarkan perintah ke browser
Web mereka. Perintah diawali dengan mengetik Uniform Resource Locator (URL),
(seperti www.unesa.ac.id) di baris alamat browser Web atau dengan mengklik
hyperlink pada halaman yang sedang ditampilkan oleh browser web. Format Web
browser permintaan klien menjadi paket / HTTP / TCP permintaan IP dengan port
tujuan 80.
Pada server Web, aplikasi HTTP yang mendengarkan pada port 80 untuk setiap
permintaan. Setelah paket diterima, file yang sesuai diambil dan dikemas untuk
pengiriman ke klien. Paket meninggalkan server Web, dan setelah tiba di client,
browser Web decode Hypertext Markup Language (HTML) file dan menampilkannya
pada layar dengan format yang tepat.
Dapat lihat apa yang sebenarnya terjadi ketika Anda terhubung ke situs Web:
1. Anda membuka browser Web Anda dan ketik URL www.unesa.ac.id.
2. Web browser Anda menciptakan TCP / IP paket dan mengirimkannya ke server
Web di suatu tempat di Internet. Dengan kata lain, Anda membuat permintaan dari
Web server besar untuk mengatur koneksi.
3. Web server mendengar permintaan Anda di port 80 dan mengirimkan kembali
paket kepada Anda yang mengatakan, "Oke, aku akan mengatur koneksi dengan
Anda."
4. Bahwa Anda memiliki koneksi dengan server Web, Anda meminta server Web
mengirimkan halaman default.
5. Web server menerima tanggapan Anda, dan mendapatkan file yang Anda minta.
Berkas tersebut dimasukkan ke dalam satu atau lebih paket, tergantung pada
seberapa besar file tersebut, dan dikirimkan kepada Anda. Hyperlink kata
digarisbawahi di situs Web yang link ke dokumen lain di server web atau mungkin
yang lain.
6. Web browser Anda menerima paket dan mengirimkan kembali suatu pengakuan
bahwa mereka diterima. Jika server Web tidak mendapatkan pengakuan dari Anda,
paket tersebut kembali dikirim.
29
7. Web browser Anda menampilkan informasi yang Anda minta pada layar Anda
sebagai paket diterima.
3.10 HighChart
Highcharts adalah library untuk membuat grafik yang dibuat dengan
menggunakan Javascript. Highcharts.js menggunakan SVG untuk render grafiknya,
sedangkan opsi tampilan grafiknya menggunakan objek JSON.
JavaScript adalah bahasa pemrograman yang bisa disisipkan ke HTML seperti
halnya PHP akan tetapi javascript berjalan di sisi Client.
Kode JavaScript biasanya dituliskan dalam bentuk fungsi yang ditaruh di tag
<head> yang dibuka dengan tag.
<script type=”teks/javascript”>.
<script type=”teks/javascript”>
alert(“Halo Dunia!”);
</script>
Kode JavaScript juga bisa diletakkan di file tersendiri yang berekstensi .js
(singkatan dari JavaScript). Untuk memanggil kode JavaScript yang terdapat di file
sendiri, di bagian awal <head> harus ditentukan dahulu nama file .js yang dimaksud
menggunakan contoh kode seperti berikut:
Script pada bagian head, Script ini akan dieksekusi ketika dipanggil (biasanya
berbentuk function) atau dipanggil berdasarkan trigger pada event tertentu. Peletakkan
script di head akan menjamin skript akan load terlebih dahulu sebelum digunakan
(dipanggil).
<html>
<head>
<script type=”teks/javascript”>
30
…
</script>
</head>
</html>
Script pada Body, Script ini dieksekusi ketika halaman di load sampai di bagian
<body>. Ketika menempatkan script pada bagian <body> berarti antara isi dan
JavaScript dijadikan satu bagian.
<html>
<head>
</head>
<body>
<script type=”teks/javascript”>
…
</script>
</body>
</html>
File yang disimpan dalam format SVG ini sangat kecil ukurannya. Dan sudah
didukung oleh hampir semua program gambar karena format gambar ini juga
didukung oleh browser Firefox dan Opera.
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan,
mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat
(generate) oleh komputer.
JSON terbuat dari dua struktur:
1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai
objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash
(hash tabel), daftar berkunci (keyed list), atau associative array.
2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini
dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan
(sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya,
semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk
yang sama maupun berlainan.
Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih)
menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d
diganti menjadi c:
Ringkasan MD5 digunakan secara luas dalam dunia perangkat lunak untuk
menyediakan semacam jaminan bahwa berkas yang diambil (download) belum
terdapat perubahan. Seorang pengguna dapat membandingkan MD5 sum yang
dipublikasikan dengan checksum dari berkas yang diambil. Dengan asumsi bahwa
checksum yang dipublikasikan dapat dipercaya akan keasliannya, seorang pengguna
dapat secara yakin bahwa berkas tersebut adalah berkas yang sama dengan berkas
yang dirilis oleh para developer, jaminan perlindungan dari Trojan Horse dan virus
komputer yang ditambahkan pada perangkat lunak. Bagaimanapun juga, seringkali
kasus yang terjadi bahwa checksum yang dipublikasikan tidak dapat dipercaya
(sebagai contoh, checksum didapat dari channel atau lokasi yang sama dengan tempat
mengambil berkas), dalam hal ini MD5 hanya mampu melakukan error-checking.
MD5 akan mengenali berkas yang di download tidak sempurna, cacat atau tidak
lengkap.
Untuk aplikasi pengujian integritas sebuah file atau lebih dikenal dengan istilah
MD5 Checksum, dapat menggunakan aplikasi desktop atau aplikasi berbasis web MD5
Checksum seperti “MD5 Checksum Verifier” dan sebagainya. Software semacam ini
akan menghasilkan kode MD5 dari file yang diuji integritasnya. Selanjutnya kode
MD5 ini akan digunakan untuk menguji apakah file tersebut
memiliki integritas ataukah tidak. Artinya jika file akan diberikan atau
dikirimkan atau diunduh, si pene rima dapat mencocokkan dengan yang diterima
apakah ukuran, struktur, dan jenis file sesuai dengan yang diberikan oleh si pembuat
33
file. Contohnya jika Anda men-download sebuah file, kemudian diberikan juga kode
MD5 Checksum-nya, jika diperiksa (divalidasi) dengan tool seperti MD5 Checksum
Verifier, dinyatakan valid atau sama dengan file yang diuji, maka dikatakan file
tersebut tak mengalami perubahan dari pengirim hingga ke tangan Anda. (perubahan
bisa terjadi karena virus dan sebagainya). Pengujian semacam ini ditujukan untuk
memastikan suatu file tidak disisipi atau corrupt (hilangnya sebagian) atau mungkin
terinveksi, baik itu karena virus, malware, atau injeksi software berbahaya lainnya.
Packet loss adalah banyaknya paket yang hilang selama proses transmisi ke tujuan.
Yang dikarenakan karena :
– Terjadi tabrakan data atau antrian penuh
– Link atau hardware disebabkan CRC error
– Perubahan rute (temporary drop
– Interface or router down
– Misconfigured access-list
Menurut standar ITU-T Y.1541, nilai packet loss untuk komunikasi data TCP yang
masih tergolong baik adalah 10-3 atau 0,001 (0,1%). Hal tersebut menunjukkan bahwa
hampir tidak ada data yang hilang pada saat transfer data.
34
Throughput adalah jumlah bit yang diterima dengan sukses perdetik melalui sebuah
sistem atau media komunikasi (kemampuan sebenarnya suatu jaringan dalam
melakukan pengiriman data).
Throughput diukur setelah transmisi data (host/client) karena suatu sistem akan
menambah delay yang disebabkan processor limitations, kongesti jaringan, buffering
inefficients, error transmisi, traffic loads atau mungkin desain hardware yang tidak
mencukupi. Aspek utama throughput yaitu berkisar pada ketersediaan bandwidth yang
cukup untuk menjalankan aplikasi. Hal ini menentukan besarnya trafik yang dapat
diperoleh suatu aplikasi saat melewati jaringan.
35
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
35
36
Server dan Real Web Server yang dibutuhkan nantinya akan disajikan dalam halaman
aplikasi web interface secara sederhana dan mudah dalam penggunaannya.
Gambar 4.1 diatas dari data yang tersedia di dalam Sistem dan kemudian di olah
dalam proses eksekusi data ke IPVSadm untuk kemudian akan dapat melakukan load
balancing dan dilanjutkan direct routing ke real web server secara setting yang ada.
Dalam penelitian ini, sistem yang akan di rancang dibagi menjadi menjadi empat
proses yaitu proses input data, proses eksekusi data ke IPVSadm, load balancing
37
koneksi dan proses direct routing ke beberapa real web server yang ada, masing-
masing proses dapat dijelaskan sebagai berikut :
a. Proses Input Data
Proses input data adalah proses untuk memasukkan data-data yang dibutuhkan
oleh sistem diantaranya :
1. Kebutuhan Data
Kebutuhan data pada aplikasi ini adalah data input. Data input yang dimaksud
adalah data yang di input oleh user administrator, yang kemudian diolah
sistem untuk menghasilkan data yang dapat di eksekusi. Sementara data ouput
adalah data yang diinginkan oleh user untuk ditampilkan atau diselesaikan
oleh sistem sesuai dengan data input sebelumnya.
a. Data input yang diperlukan oleh program adalah :
1. IP address Virtual Server
2. Port Virtual Server
3. IP address Real Web Server
4. Port Real Web Server
5. Beban koneksi Real Web Server
b. Data keluaran yang dihasilkan oleh program aplikasi adalah :
Hasil Setting Terhadap Mesin Load Balancing adalah hasil setting yang
telah dilakukan muncul dalam log config IPVSadm dan Grafik
memperlihatkan koneksi dari Real Web Server yang ada.
2. Kebutuhan User
Aplikasi ini membutuhkan user sebagai berikut yaitu :
a. Administrator Sistem
Admin adalah user yang bertugas untuk input data untuk mengolah Virtual
Server dan Real Web Server yang ada, dan memiliki akses sebagai root di
linux.
beberapa real web server yang ada beserta beban yang telah ditetapkan dalam data
input.
c. Load Balancing
Dalam proses load balancing ini yang akan dijalankan adalah proses pembagian
koneksi dari request yang diminta dari client sesuai setting di IPVSadm yang ada.
Alir sistem berikut akan menjelaskan penggunaan dan proses dari penggunaan
aplikasi web dari tool IPVSadm yang menggunakan metode direct routing pada LVS,
beberapa langkah yang harus di lakukan yaitu yang bisa dilihat pada gambar 4.2.
39
start
Log in
Admin &
Password
tidak
Password
Sesuai ?
ya
Edit setting
IPVSadm
ya
tidak
Proses IPVSadm
Tambah atau edit setting
yang telah ditentukan
ya
Tampil
Setting
IPVSadm
Tampil
Koneksi
Real Web
Server
end
Keterangan :
Konsep dasar aplikasi web IPVSadm metode direct routing yang dibuat, pertama kali
adalah seorang administrator dalam hal ini yaitu admin (user tetap) sebagai username
untuk login dan password akan diminta di awal masuk ke aplikasi. Jika password
sesuai maka akan langsung masuk ke halaman utama aplikasi web IPVSadm dan jika
password tidak sesuai maka akan sistem akan meminta kembali hingga sesuai. Dalam
dalam aplikasi akan ditampilkan setting terhadap ringkasan tool IPVSadm metode
direct routing, dimana terdapat menu input untuk penambahan dan edit dari Virtual
Server dan Real Web Server. Bila input telah sesuai maka dapat dilakukan proses
penambahan atau edit terhadap setting IPVSadm yang sedang berjalan. Bila setting
sesuai maka akan akan ditampilkan hasil dari input data Virtual Server dan Real Web
Server yang di input, serta akan ditampilkan semua koneksi yang terbagi ke Real Web
Server yang ada dalam bentuk grafis bar.
diagram konteks hanya ada satu proses. Tidak boleh ada store dalam diagram
konteks.
Dari Gambar 4.3.1. di atas dapat terlihat secara lebih detail rincian proses
aliran data dengan penggunanya.
3. DFD Level 2
DFD level 2 merupakan proses dari diagram alir data yang lebih detil, dimana
setiap proses data yang terjadi di tiap-tiap proses pada level 0 dijelaskan lebih
rinci lagi. DFD level 1 pada sistem ini dapat dilihat pada gambar 4.3.2 di
bawah ini :
43
Username
Password
Log in
Pada Gambar 4.5 adalah rancangan Antarmuka tampilan Setting Linux Virtual
Server yang terdiri dari inputan Setting Virtual Server, Setting Real Web Server dan
Monitoring Connection Linux Virtual Server. Pengguna aktif hanya administrator,
kemudian dapat melihat melakukan setting terhadap LVS dan dapat langsung
melihat koneksi ke real web server yang terjadi.
Username : admin
Old Password
New Password
Confirm
Password
New Password
server sebagai real web server yang menyediakan layanan web, dan minimal ada satu
client sebagai uji coba akses layanan web server load balancing.
LVS merupakan server untuk pusat penanganan proses dari client menuju ke
layanan web server yang melakukan request ke web server. Disini LVS akan
mengarahkan request web dari client ke beberapa real web server dengan algoritma
penjadwalan yang telah ditetapkan yaitu weighted least connection (wlc). Proses
pelayanan request ini akan dilakukan dengan metode direct routing yang secara
langsung mengembalikan request web ke client sesuai permintaan tanpa melewatkan
request terkebut ke LVS kembali. Proses terjadinya pengiriman paket dan diagram
jaringan yang digunakan LVS dengan metode direct routing dapat dilihat pada gambar
4.6 dan gambar 4.7 (sumber : Horman, Simon. 2004. Linux Virtual Server Tutorial.
Japan : VA Linux Systems Japan. Halaman 3).
internet /
intranet
Real Web Sever 1 Real Web Sever 2 Real Web Sever 3 Real Web Sever 4
RIP 192.168.1.11 RIP 192.168.1.12 RIP 192.168.1.13 RIP 192.168.1.14
VIP 192.168.1.250 VIP 192.168.1.250 VIP 192.168.1.250 VIP 192.168.1.250
Real Web Sever 5 Real Web Sever 6 Real Web Sever 7 Real Web Sever 8
RIP 192.168.1.15 RIP 192.168.1.16 RIP 192.168.1.17 RIP 192.168.1.18
VIP 192.168.1.250 VIP 192.168.1.250 VIP 192.168.1.250 VIP 192.168.1.250
Keterangan :
DIP : Direktor / LVS IP Address
VIP : Virtual IP Address
CIP : Client IP Address
Jaringan LVS direct routing ini menggunakan alokasi alamat IP 192.168.1.0/24
dan dalam satu segmen dijaringan fisik yang sama. Pada Linux Virtual Server (LVS)
terpasang satu Network Interface Card (NIC), NIC mempunyai alamat IP
192.168.1.254 yang berfungsi untuk menghubungkan jaringan dari client sekaligus
menuju real web server.
48
Pada masing-masing real web server juga terpasang satu NIC. NIC Real Server
satu mempunyai alamat IP 192.168.1.11, NIC Real Server dua mempunyai alamat IP
192.168.1.12, NIC Real Server tiga mempunyai alamat IP 192.168.1.13 hingga NIC
Real Server sepuluh dengan alamat IP 192.168.1.20. Semua jaringan real server
memiliki alokasi alamat IP 192.168.1.0/24.
Antara LVS dengan Real Server masing-masing mempunyai device Ethernet
card virtual yang nantinya digunakan sebagai jalur Virtual IP Address (VIP). VIP
yang yang digunakan yaitu 192.168.1.250. Device pertama mempunyai alamat IP
virtual 192.168.1.250 yang terdapat pada LVS, sementara pada masing-masing real
server mempunyai alamat IP virtual sama yaitu 192.168.1.250. Alamat Virtual IP
address pada real server dan pada LVS ditujukan ke interface loopback dengan
netmask 255.255.255.255. LVS dan real server harus terhubung ke hub/switch.
Semua trafik dari jaringan lokal client yang menuju ke jaringan lokal dari LVS
akan diarahkan ke masing-masing real web server terlebih dahulu menggunakan LVS
router. Sedangkan trafik dari jaringan lokal client yang menuju langsung ke jaringan
lokal real web server akan diarahkan ke LVS kemudian ke beberapa real web server.
Setiap ada request dari client yang ditujukan ke web server melalui jaringan
LVS akan di teruskan ke beberapa real web server yang terpilih berdasarkan algoritma
terpilih (wlc) dan hasilnya akan langsung dikirimkan ke client secara langsung dengan
metode direct routing.
PC 1 s/d PC 10
Processor Intel Pentium Core 2 Duo
RAM 1 GB
HDD 160 GB
VGA Intel Graphic Onboard
LAN Card Onboard RTL8139 Family PCI
b. Satu buah komputer dengan fungsi sebagai PC Linux Virtual Server dengan
spesifikasi sebagai berikut.
Tabel 4.2 Spesifikasi LVS
PC
Processor Intel Pentium Core 2 Duo
RAM 1 GB
HDD 160 GB
VGA Intel Graphic Onboard
LAN Card Onboard Realtek RTL8139 Family
a. Server LVS
1) Sistem Operasi Linux CentOS 6.5
2) IPVSadm 1.2.1
3) BIND 9.3
4) Httpd 2.2.3
5) Javascript Highchart v.4.0
6) vsftpd 2.2
50
BAB V
IMPLEMENTASI SISTEM
Bab ini membahas mengenai implementasi perangkat lunak berdasarkan hasil yang
telah diperoleh dari analisis kebutuhan dan perancangan perangkat lunak yang telah dibuat.
Pembahasan terdiri dari batasan-batasan dalam implementasi,dan implementasi sistem.
51
52
1. <?php
2. if(isset($_POST['add_vserver'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ipport_vsvrADD = "$ip_vsvr:$port_vsvr";
6. $cmdADD="sudo ipvsadm -A -t $ipport_vsvrADD -s wlc";
7. exec($cmdADD); }
8. ?>
2) Baris 2 adalah inisialisasi fungsi untuk memperoses data di form jika tombol
add_vserver ditekan untuk menerima data virtual server yang dikirim
melalui variabel $_POST dari form.
3) Baris 3-4 adalah deklasi variabel untuk menerima variabel ip virtual dan
port virtual server yang dikirimkan form.
4) Baris 5 adalah menggabungkan variabel ip virtual dan port virtual dalam
satu variabel.
5) Baris 6 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk menambahkan virtual server ke dalam tabel IPVSadm
dengan mengabungkan variabel di baris 5.
6) Baris 7 adalah untuk mengeksekusi perintah yang dideklarasikan ke dalam
variabel di baris 6.
7) Baris 8 adalah tanda skrip akhir untuk membuat bahasa web PHP.
1. <?php
2. if(isset($_POST['del_vserver'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ipport_vsvrDEL = "$ip_vsvr:$port_vsvr";
6. $cmdDEL="sudo ipvsadm -D -t $ipport_vsvrDEL";
7. exec($cmdDEL); }
8. ?>
1. <?php
2. if(isset($_POST['edit_vserver'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ip_vsvredit = $_POST['ip_vserveredit'];
6. $port_vsvredit = $_POST['port_vserveredit'];
7. $ipport_vsvredit = "$ip_vsvr:$port_vsvr";
8. $ipport_vsvredit2 = "$ip_vsvredit:$port_vsvredit";
9. $cmdEDIT="sudo ipvsadm -D -t $ipport_vsvredit";
10. $cmdEDIT2="sudo ipvsadm -A -t $ipport_vsvredit2";
11. exec($cmdEDIT);
12. exec($cmdEDIT2); }
13. ?>
1. <?php
2. if(isset($_POST['add_real'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ipport_vsvrADD_to_real = "$ip_vsvr:$port_vsvr";
6. $ip_rsvr = $_POST['ip_rserver'];
7. $weight_rsvr = $_POST['weight_rserver'];
8. $ipport_rsvrADD = "$ip_rsvr:$port_vsvr";
9. $cmdADDreal="sudo ipvsadm -a -t
$ipport_vsvrADD_to_real -r $ipport_rsvrADD -w
$weight_rsvr";
10. exec($cmdADDreal);
11. }
12. ?>
Gambar. 5.6 Potongan Source code Implementasi tambah real server
Penjelasan Gambar 5.6 implementasi algoritma tambah real server, yaitu :
1) Baris 1 adalah tanda skrip awal untuk membuat bahasa web PHP.
2) Baris 2 adalah inisialisasi fungsi untuk memperoses data di form jika tombol
add_real ditekan untuk menerima data real server yang dikirim melalui
variabel $_POST dari form.
57
3) Baris 3-4 adalah deklasi variabel untuk menerima variabel ip virtual server
dan port virtual server yang dikirimkan form.
4) Baris 5 adalah menggabungkan variabel ip virtual server dan port virtual
server dalam satu variabel.
5) Baris 6-7 adalah deklasi variabel untuk menerima variabel ip real server dan
beban real server yang dikirimkan form.
6) Baris 8 adalah menggabungkan variabel ip real server dan beban real server
dalam satu variabel.
7) Baris 9 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk menambahkan real server ke dalam tabel IPVSadm
dengan mengabungkan variabel di baris 5 dan 8.
8) Baris 10 adalah untuk mengeksekusi perintah yang diklarasikan ke dalam
variabel di baris 9.
9) Baris 12 adalah tanda skrip akhir untuk membuat bahasa web PHP.
1. <?php
2. if(isset($_POST['del_real'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ipport_vsvrADD_to_real = "$ip_vsvr:$port_vsvr";
6.
7. $ip_rsvr = $_POST['ip_rserver'];
8. $ipport_rsvrADD = "$ip_rsvr:$port_vsvr";
9. $cmdDELreal="sudo ipvsadm -d -t
$ipport_vsvrADD_to_real -r $ipport_rsvrADD";
10. exec($cmdDELreal);
11. }
12. ?>
3) Baris 3-4 adalah deklasi variabel untuk menerima variabel ip virtual server
dan port virtual server yang dikirimkan form.
4) Baris 5 adalah menggabungkan variabel ip virtual server dan port virtual
server dalam satu variabel.
5) Baris 7 adalah deklasi variabel untuk menerima variabel ip real server yang
dikirimkan form.
6) Baris 8 adalah menggabungkan variabel ip real server dan port virtual
server dalam satu variabel.
7) Baris 9 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk menghapus real server di dalam tabel IPVSadm
dengan mengabungkan variabel di baris 5 dan 8.
8) Baris 10 adalah untuk mengeksekusi perintah yang dideklarasikan ke dalam
variabel di baris 9.
9) Baris 12 adalah tanda skrip akhir untuk membuat bahasa web PHP.
1. <?php
2. if(isset($_POST['edit_real'])){
3. $ip_vsvr = $_POST['ip_vserver'];
4. $port_vsvr = $_POST['port_vserver'];
5. $ipport_vsvrADD_to_real = "$ip_vsvr:$port_vsvr";
6.
7. $ip_rsvr = $_POST['ip_rserver'];
8. $weight_rsvr_edit = $_POST['weight_rserveredit'];
9. $ipport_rsvrADD = "$ip_rsvr:$port_vsvr";
10. $cmdDELreal="sudo ipvsadm -d -t
$ipport_vsvrADD_to_real -r $ipport_rsvrADD";
11.
12. $ip_rsvredit = $_POST['ip_rserveredit'];
13. $ipport_rsvrADD2 = "$ip_rsvredit:$port_vsvr";
14. $cmdADDreal="sudo ipvsadm -a -t
$ipport_vsvrADD_to_real -r $ipport_rsvrADD2 -w
$weight_rsvr_edit";
15. exec($cmdDELreal);
16. exec($cmdADDreal);
17. }
18. ?>
5.2.2.2 Monitoring
Implementasi algoritma monitoring dari aplilaksi IPVSadm via web akan
digunakan untuk menampilkan table IPVSadm.
60
9. if ($iki==0) {
10. $data[$x]["name"] = trim(shell_exec("sudo
ipvsadm –Ln | grep Route | cut -d".$spasi22." -f4 |
head -$x | tail -n +$x"));
11. $data[$x]["data"] = "[".trim(shell_exec("sudo
ipvsadm -Ln | grep Route | cut -d".$spasi22." -f37 |
head -$x | tail -n +$x"))."]";
12. }
13. else{
14. $data[$x]["name"] = trim(shell_exec("sudo
ipvsadm -Ln | grep Route | cut -d".$spasi22." -f4 |
head -$x | tail -n +$x"));
15. $data[$x]["data"] = "[".trim(shell_exec("sudo
ipvsadm -Ln| grep Route | cut -d".$spasi22." -f36 |
head -$x | tail -n +$x"))."]";
16. }
17. $x++;
18. }
19. ?>
20.
21. <script type="text/javascript">
22. $(function () {
23. $('#histogram').highcharts({
24. chart: { type: 'column'},
25. title: { text: 'Connection Real Web Server'},
26. subtitle: { text : '<?php echo exec('hostname'); ?>'
27. },
28. xAxis: { categories: ['Real Web Server'] },
29. yAxis: { title: { text: 'In Act Conn' } },
30. tooltip: { valueSuffix: ' Conn' },
31. plotOptions: {
32. series: { animation: false }
33. },
34. series: [
35. <?php foreach ($data as $k => $v) : ?>
36. { name : '<?php echo $v["name"]; ?>',
37. data : <?php echo $v["data"]; ?>
38. },
39. <?php endforeach; ?>
40. ]
41. });
42. });
43. </script>
44.
45. <div id="histogram" style="min-width: 310px; max-
width: 800px; height: 400px; margin: 0 auto"></div>
Gambar 5.10 Potongan source code monitoring koneksi real web server
62
Penjelasan Gambar 5.10 monitoring koneksi real web server, yang akan
dijelaskakn beberapa blok script javascript yang dikonfigurasi dan digunakan
fungsinya yaitu :
1) Baris 1 adalah tanda skrip awal untuk membuat bahasa web PHP.
2) Baris 2 adalah inisialisasi spasi.
3) Baris 3 adalah perintah shell untuk mendapatkan jumlah baris pada log.
4) Baris 6 adalah inisialisasi viriabel x untuk nilai awal satu untuk perulangan
while.
5) Baris 7 adalah fungsi perulangan hingga baris log yang ada.
6) Baris 8 adalah perintah shell untuk mendapatkan nilai log koneksi real web
server dari tiap baris log dari IPVSadm, sjebagai bahan pengecekan di
perintah berikutnya di baris 9.
7) Baris 9 adalah perintah if untuk melihat hasil variabel iki apakah bernilai nol
atau tidak, jika tidak maka akan langsung menuju perintah dalam else pada
baris 13.
8) Baris 10 dan 14 adalah perintah shell untuk mendapatkan IP address dari
tiap baris log dari IPVSadm. Sekaligus menyimpannya dalam urutan array
yang tertunjuk di array nama.
9) Baris 11 adalah perintah shell untuk mendapatkan jumlah koneksi dari tiap
baris log dari IPVSadm. Sekaligus menyimpannya dalam urutan array yang
tertunjuk di array data.
10) Baris 15 adalah perintah shell untuk mendapatkan jumlah koneksi dari tiap
baris log dengan posisi pengambilan log kolom berbeda dari IPVSadm.
Sekaligus menyimpannya dalam urutan array yang tertunjuk di array data.
11) Baris 17 adalah perintah untuk menambah nilai satu ke variabel x di baris 7.
12) Baris 19 adalah tanda skrip akhir untuk membuat bahasa web PHP.
13) Baris 21 adalah deklarasi penggunaan java script.
14) Baris 22 adalah deklarasi fungsi java script.
15) Baris 23 adalah inisialisasi nama chart yang digunakan agar bisa dipanggil
dalam html.
16) Baris 24 adalah inisialisasi tipe grafik yang digunakan yaitu column.
17) Baris 25 adalah inisialisasi judul grafik yang gunakan.
18) Baris 26 adalah inisialisasi subjudul dengan keterangan hostname server.
63
1. <script language="javascript">
2. function validasi(form1){
3. if(form1.myusername.value == ""){
4. alert("Username not null");
5. form1.myusername.focus();
6. return(false); }
7. if(form1.mypassword.value == ""){
8. alert("Password not null");
9. form1.mypassword.focus();
10. return(false);}
11. }</script>
12.
13. <form name="form1" method="post"
action="checkpwd.php" onSubmit="return validasi(this)">
14. <div style="margin-top:210px; color:#CCCCCC;">
15. <td style="color:#0000DD;">
16. <table width="21%" border="0" align="center" >
17. <tr>
18. <td colspan="2"><h2><strong>Load Balancing Web
Server</strong></h2></td>
19. <td><img src="page-hosting-servers.png" width="158"
height="142"></td>
20. </tr>
21. <tr>
22. <td width="78">Username</td><td width="6">:</td>
23. <td width="294"><input name="myusername" type="text"
id="myusername"></td>
24. </tr>
25. <tr><td>Password</td><td>:</td>
26. <td><input name="mypassword" type="password"
id="mypassword"></td>
27. </tr>
28. <tr> <td><p align="center">
29. <input type="submit" name="submit" value="Login"
id="submit">
30. <br>
31. </p></td></tr></table></td></div></form>
Bila input username dan password sesuai dengan proses cek password di file
chackpwd.php maka akan dilanjutkan ke halaman utama Menu Control LVS di file
66
MenuControl.php. Berikut potongan source code untuk proses cek user name dan
password.
1. <?php
2. $usr = $_POST['myusername'];
3. $pwd = $_POST['mypassword'];
4.
5. $pwd_md5 = md5($pwd);
6. $myFile = "pwd.txt";
7.
8. $handle = fopen($myFile, 'r');
9. $contents = fread($handle, filesize($myFile));
10.
11. if($pwd_md5==$contents && $usr=='admin'){
12. header('Location:MenuControl.php'); }
13. else echo "Tolak ! Username dan Password tidak
sesuai";
14. ?>
Gambar 5.12 Potongan source code halaman proses cek login
Penjelasan Gambar 5.12 implementasi proses cek login, yaitu :
1. Baris 1 adalah tanda skrip awal untuk membuat bahasa web PHP.
2. Baris 2-3 adalah inisialisasi penerimaan variabel username dan password
yang dikirim melalui fungsi POST.
3. Baris 5 adalah inisialisasi konversi variabel password ke enkripsi md5.
4. Baris 6 adalah inisialisasi nama file yang menyimpan enkripsi admin md5.
5. Baris 8 adalah inisialisasi untuk mengakses file pwd.txt dengan mode baca.
6. Baris 9 adalah inisialisasi baca isi file pwd.txt.
7. Baris 11 adalah proses cek input password yang telah di enkripsi apakah
sesuai dengan isi file pwd.txt dan input user sama dengan admin, maka bila
sesuai akan dibukakan halaman MenuControl.php
8. Baris 12 adalah perintah pemanggilan halaman MenuControl.php
9. Baris 13 adalah menampilkan tulisan peringatan ke user admin bila
username dan password tidak sesuai.
10. Baris 14 adalah tanda skrip akhir untuk membuat bahasa web PHP.
1. <script language="javascript">
2. function validasi(form1){
3. if(form1.newpwd.value == ""){
4. alert("New Password don't null");
5. form1.newpwd.focus();
6. return(false);
7. }
8. if(form1.confirmpwd.value == ""){
9. alert("Confirm New Password don't Match New
Password");
10. form1.confirmpwd.focus();
11. return(false);
12. }
13. }
14. </script>
15.
16. <form name="form1" method="post" action="savepwd.php"
onSubmit="return validasi(this)">
17. <table width="329" border="0">
18. <tr>
19. <td>Old Password</td>
20. <td>:
21. <label for="oldpwd"></label>
22. <input name="oldpwd"
type="password"id="oldpwd"></td>
23. </tr>
24. <tr>
25. <td>New Password</td>
26. <td>:
27. <label for="newpwd"></label>
28. <input name="newpwd"
type="password"id="newpwd"></td>
29. </tr>
30. <tr>
31. <td>Confirm New Password</td>
32. <td>:
33. <label for="confirmpwd"></label>
34. <input name="confirmpwd" type="password"
id="confirmpwd"></td>
35. </tr>
36. <tr>
37. <td> </td>
38. <td><div align="center">
39. <input type="submit" name="submit" id="submit"
value="New Password">
40. </div></td></tr></table></form>
Berikut potongan source code PHP proses save password sebagai akses
admnistrator aplikasi.
1. <?php
2. $oldpass = $_POST['oldpwd'];
3. $newpass = $_POST['newpwd'];
4. $confirmpass = $_POST['confirmpwd'];
5.
6. $pwd_md5 = md5($oldpass);
7. $myFile = "pwd.txt";
8.
9. $handle = fopen($myFile, 'r');
10. $contents = fread($handle, filesize($myFile));
11.
12. if($pwd_md5 == $contents){
13. if($newpass == $confirmpass){
14.
15. echo "Sukses ! Password sesuai - ";
16. $pwd2_md5 = md5($confirmpass);
17.
18. //ganti pwd
19. $myFile2 = "pwd.txt";
20. $fh = fopen($myFile2, 'w') or die("can't open
file");
21. $stringData = $pwd2_md5;
22. fwrite($fh, $stringData);
23. fclose($fh);
24.
25. echo" sukses create new password !! - ";
26. }
27. else{
28. echo "New Password & Confirm Password Don't
Equal";
29. fclose($handle);
30. }
31. }
32. else
33. echo "Tolak ! Password tidak sesuai";
34. ?>
Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.1.2
Algoritma Konfigurasi Real Web Server Server.
5.3 Implementasi Sistem Aplikasi Load Balancing Web Server Pada Server
Implementasi aplikasi Load Balancing web server berdasarkan IPVSadm akan
dijalankan di dalam server LVS dimana terdapat tool IPVSadm. Ditanamkan juga
DNS server sebagai resolv nama domain.
5.3.1 Implementasi LVS
Implementasi aplikasi Load Balancing web server berdasarkan IPVSadm akan
dijalankan di dalam server LVS dimana terdapat tool IPVSadm. Disini diasumsikan
Linux Centos 6.5 telah terinstal dengan baik dengan mode install minimal system.
5.3.1.1 Implementasi Linux Virtual Server
Sebagai awalnya akan dilakukan beberapa konfigurasi sebelum melakukan
installasi tool IPSVadm.
1. Setting Repository Local
Setiap install program pada Linux CentOS 6.5 ini dibutuhkan koneksi
internet langsung untuk mendapatkan paket yang di inginkan. Untuk mengarahkan
pencarian paket dari DVD CentsOS 6.5 dapat dilakukan setting sebagai berikut.
75
Buat folder baru untuk mount DVD, seperti yang ditunjukkan pada gambar 5.21
berikut.
Gambar 5.24 Tampilan perintah membuka file mirror repo local pada LVS
76
Gambar 5.25 Tampilan file konfigurasi mirror repo local pada LVS
Setelah di edit seperti di atas maka simpan dan ke luar dari editor vi.
Lakukan update repo local dengan sebelumnya memasukkan DVD CentOS 6.5
terlebih dahulu dan jalankan perintah seperti yang ditunjukkan pada gambar 5.26
berikut.
77
Gambar 5.29 Tampilan perintah konfigurasi alias device eth0 pada LVS
Kemudian tambahkan beberapa baris perintah seperti yang ditunjukkan pada
gambar 5.30 berikut.
Gambar 5.30 Tampilan file konfigurasi device alias eth0:1 pada LVS
Setelah konfigurasi Ethernet telah dilakukan sesuai perintah-perintah di atas maka
lakukan restart service network, seperti yang ditunjukkan pada gambar 5.31
berikut.
4. Setting IP Forwarding
Untuk dapat meneruskan paket dari LAN ke Client, maka edit file
/etc/sysctl.conf, seperti yang ditunjukkan pada gambar 5.34 berikut.
5. Setting IP Tables
Untuk meneruskan paket yang akan dikirim melalui eth0 (Client IP/CIP)
maupun paket yang diterima melalui eth0:1 (VIP), dan tidak ada rule spesifik
apapun pada konfigurasi firewall di komputer LVS sebelumnya, untuk itu pastikan
dengan menjalankan perintah seperti yang ditunjukkan pada gambar 5.37 berikut.
7. Instalasi ipvsadm
Proses instalasi ipvsadm dapat dilakukan seperti yang ditunjukkan pada
gambar 5.44-5.45 berikut.
8. Setting ipvsadm
Agar LVS dapat dijalankan pada server maka diperlukan beberapa setting
kedalam tool ipvsadm. Masukkan IP address virtual server web server yaitu
192.168.1.250. Untuk memulai setup tabel virtual server menggunakan ipvsadm
jalankan perintah seperti yang ditunjukkan pada gambar 5.46 berikut.
Lalu memasukkan perintah konfigurasi virtual server LVS pertama seperti yang
ditunjukkan pada gambar 5.47 berikut.
Gambar 5.47 Tampilan perintah membuat virtual server dengan ipvsadm pada
LVS
Dilanjutkan dengan memasukkan ip virtual real web server, yaitu :
a. Real web server satu dengan IP address 192.168.1.11 dengan setting bobot
10
b. Real web server dua dengan IP address 192.168.1.12 dengan setting bobot
10
c. Real web server tiga dengan IP address 192.168.1.13 dengan setting bobot
10
Membuat atau mendefinisikan tiga real web server service, seperti yang
ditunjukkan pada gambar 5.48 berikut.
Gambar 5.48 Tampilan perintah membuat tiga real web server dengan ipvsadm
pada LVS
Untuk melihat hasil dari setting ipvsadm jalankan perintah ipvsadm –ln seperti
yang ditunjukkan pada gambar 5.49 berikut.
Setup di atas untuk menguji apakah tool IPVSadm dapat menjalankan fungsinya
dengan baik.
9. Instalasi BIND
BIND adalah sebuah paket program yang digunakan untuk DNS server. DNS
server ini yang menerjemahkan dari sebuah domain menjadi IP address.
Untuk instalasi program BIND jalankan perintah seperti yang ditunjukkan pada
gambar 5.50 berikut.
kemudian buat file site.net.db dengan cara seperti yang ditunjukkan pada gambar
5.53 berikut.
Kemudian isi file seperti yang ditunjukkan pada gambar 5.54 berikut.
kemudian buat file situs.net.db dengan cara seperti yang ditunjukkan pada gambar
5.55 berikut.
Kemudian isi file seperti yang ditunjukkan pada gambar 5.56 berikut.
88
Kemudian isi file seperti yang ditunjukkan pada gambar 5.58 berikut.
Buatlah file chroot_list, file ini berisi daftar lokal user yang diberi akses login ke
server FTP.
Gambar 5.70 Tampilan perintah chmod dan chown untuk folder public_ftp
93
1. #!/bin/sh
2. LVS=$(cat /etc/sysconfig/ipvsadm | grep r |
cut -d' ' -f3 | head -1 | tail -n +1 | cut -d':'
-f1)
3. spasi1=(' ')
4. sum_rserver=$(/bin/cat /etc/sysconfig/ipvsadm |
grep r | wc -l)
5. COUNT=1
6. i=1;
7. while [ $i -le $sum_rserver ]
8. do
9. cari_ip=$(/bin/cat /etc/sysconfig/ipvsadm |
grep r | cut -d' ' -f5 | head -$i | tail -n +$i
| cut -d':' -f1)
10. beban=$(/bin/cat /etc/sysconfig/ipvsadm | grep
r | cut -d' ' -f8 | head -$i | tail -n +$i)
11. count=$(/bin/ping -c $COUNT $cari_ip | grep
'received' | awk -F',' '{ print $2 }' | awk '{
print $1 }')
12. if [ $count -eq 0 ]; then
13. /sbin/ipvsadm -d -t $LVS:80 -r $cari_ip
14. else
15. if curl -s --head $cari_ip | grep "200 OK"; then
16. /sbin/ipvsadm -a -t $LVS:80 -r $cari_ip:80 -g -w
$beban
17. else
18. /sbin/ipvsadm -d -t $LVS:80 -r $cari_ip
19. fi
20. fi
21. let i=$i+1;
22. done
Gambar 5.72 Potongan script monitoring
Penjelasan Gambar 5.71 implementasi proses script monitoring, yaitu :
1. Baris 1 adalah inisialisasi awal bash script.
94
Gambar 5.73 Tampilan perintah konfigurasi device eth0 pada virtual mesin Real
Web Server 1
Kemudian tambahkan beberapa baris perintah seperti yang ditunjukkan pada
gambar 5.74 berikut.
Gambar 5.74 Tampilan file konfigurasi device eth0 pada virtual mesin Real Web
Server 1
Khusus untuk koneksi Virtual IP Address (VIP) untuk mendukung pengoperasian
virtual mesin real web server dan sistim LVS maka akan dibuat alias IP address
dari loopback yaitu lo dengan cara seperti yang ditunjukkan pada gambar 5.75
berikut.
96
Gambar 5.75 Tampilan perintah konfigurasi alias device lo:1 pada vitual mesin
Real Web Server 1
Kemudian tambahkan beberapa baris perintah seperti yang ditunjukkan pada
gambar 5.76 berikut.
Gambar 5.76 Tampilan file konfigurasi device alias lo:1 pada vitual mesin Real
Web Server 1
Setelah konfigurasi Ethernet telah dilakukan sesuai perintah-perintah di atas maka
lakukan restart service network, seperti yang ditunjukkan pada gambar 5.77
berikut.
Gambar 5.77 Tampilan perintah restart service network pada vitual mesin Real
Web Server 1
Jika perintah di atas menghasilkan keterangan seperti ditunjukkan gambar di atas
maka proses setting network telah berjalan dengan baik.
Gambar 5.78 Hasil keluaran perintah ifconfig pada vitual mesin Real Web Server 1
Untuk melihat apakah setting network pada server telah berfungsi dengan baik
dapat dilakukan dengan cara melakukan PING ke vitual mesin Real Web Server
seperti yang ditunjukkan pada gambar 5.79 berikut.
Gambar 5.79 Hasil keluaran perintah ping pada vitual mesin Real Web Server 1
98
4. Instalasi httpd
Web server adalah sebuah layanan yang berfungsi untuk melayani
permintaan halaman-halaman web. Untuk menjalankan web server maka install
paket httpd dengan cara seperti yang ditunjukkan pada gambar 5.80 berikut.
Gambar 5.80 Tampilan keluaran perintah instalasi httpd pada vitual mesin Real
Web Server 1
5. Konfigurasi httpd
Sebelum menjalankan service httpd setting terlebih dahulu file httpd.conf
seperti yang ditunjukkan pada gambar 5.81 berikut.
99
Gambar 5.81 Tampilan perintah konfigurasi file httpd.conf pada vitual mesin Real
Web Server 1
Berikut ini parameter yang perlu dirubah pada file httpd.conf .
rubah server token
ServerTokens Prod
hidupkan keep alive
KeepAlive On
nama server dan port
ServerName www.situs.net:80
menonaktifkan indexes
Options FollowSymLinks ExecCGI
AllowOverride All
rubah server signature untuk menyembunyikan nama dari Sistem operasi web
server
ServerSignature Off
berikan komen
#AddDefaultCharset UTF-8
Edit file default yang akan dipanggil waktu menampilkan halaman web.
DirectoryIndex index.html index.html.var
default.htm
6. Konfigurasi sysctl
Agar tidak terjadi loopback dengan interface jaringan real web server yang
ada maka edit file sysctl untuk mengaktifkan hidden service seperti pada langkah
berikut.
Lakukan cek konfigurasi dengan perintah “sysctl -p” pada terminal linux
sehingga hasilnya seperti berikut.
8. Firewall
Agar real web server dengan metode direct routing tidak bisa diakses
langsung hasil tampilan website seperti akhir langkah 7 di atas maka diperlukan
beberapa rule pada firewall. Dengan melakukan edit pada file iptables di
/etc/sysconfig/iptables tambah beberapa baris filter terhadap layanan
http di port 80 yang ada. Berikut penambahannya.
104
Setelah selesai simpan hasil konfigurasi iptables. Lakukan akses langsung kembali
ke real web server maka website di dalamnya tidak akan bisa di load kembali.
Konfigurasi yang sama terhadap beberapa real web server yang ada dengan IP
address yang disesuaikan yang dilanjut dari IP address 192.168.1.12 s/d 192.168.1.20
sesuai kebutuhan yang ada dan lo (loopback) yang sama yaitu 192.168.1.250/32. Dan
IP address untuk filter firewall disesuaikan dari IP address 192.168.11/32 seperti
langkah 8 di atas diganti sesuai IP address server yang ada.
105
Gambar 5.92 Tampilan FTP Client untuk upload aplikasi web IPVSadm
Gambar 5.92 di atas menunjukkan proses upload ke dalam server LVS dimana file
upload akan masuk di folder public yang dari user upload. Semua file aplikasi kan
disalin ke dalam /var/www/html melalui perintah command linux seperti berikut.
Gambar 5.93 dari gambar di atas menunjukan perintah penyalinan file aplikasi ke
folder /var/www/html dimana akan digunakan sebagai acuan aplikasi web server
load balancing
.
108
BAB VI
HASIL DAN PEMBAHASAN
Prinsip kerja dari LVS Load Balancing via Direct Routing adalah bagaimana
membagi beban kepada Real Web Server yang mempunyai IP Private yang terletak dalam
satu jaringan dengan LVS yang mempunyai IP Private.
Dalam bab ini akan dijelaskan tentang pengujian dan analisa dari hasil perancangan
yang telah dibuat. Sekaligus untuk mengetahui kinerja dari sebuah jaringan Load
Balancing via Direct Routing untuk mengimplementasikan mesin Load Balancing dan
Aplikasi Load Balancing web server berdasarkan IPVSadm khususnya.
108
109
Keterangan kolom :
Kode uji validasi : Kode uji pengujian menggunakan sub bab di dalam bab 6 ini.
Nama Pengujian : Menggunakan nama pengujian sesuai sub bab di dalam bab 6 ini.
Keterangan : Penjelasan pengujian dari sub bab di dalam bab 6 ini.
6.1.1.1 Login
Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas login bagi
admin, admin harus melakukan prosedur berikut.
1. Akses ke web base aplikasi load balancing dengan menuju alamat URL server
yaitu www.site.net melalui browse, lihat Gambar 6.1.
6. Jika terjadi gagal atau kesalahan login akan muncul peringatan seperti gambar
6.3 – 6.4.
Dari prosedur di atas diharapkan sistem dapat menerima input login dari admin
sehingga admin dapat mengakses menu aplikasi load balancing web server berdasarkan
IPVSadm, maka halaman login status valid.
Dari prosedur di atas diharapkan sistem dapat menerima input hapus virtual server
dari admin sehingga admin dapat menghapusnya di tabel IPVSadm, maka menu hapus
virtual server status valid.
Gambar 6.9 Input IP dan Port Virtual Server Yang akan di edit
2. Lalu isikan isikan Edit IP Virtual Server yang ada di server LVS dan
masukkan edit port web virtual server baru seperti gambar 6.10 berikut.
Dari prosedur di atas diharapkan sistem dapat menerima input edit virtual server dari
admin sehingga admin dapat merubah di tabel IPVSadm, maka menu edit virtual server
status valid.
Dari prosedur di atas diharapkan sistem dapat menerima input hapus real server dari
admin sehingga admin dapat menghapusnya ke tabel IPVSadm, maka menu hapus real
server status valid.
1. Pada group menu Virtual Server harus isikan IP Virtual Server yang ada di
server LVS dan masukkan port web virtual server.
2. Pada group menu Real Server harus isikan IP Real Server yang ada konek
server LVS dan masukkan beban (weight) virtual server seperti gambar 6.16
berikut.
Gambar 6.16 Input IP dan Port Virtual Server Yang akan di edit
3. Lalu isikan isikan Edit IP Real Server yang ada di server LVS dan masukkan
edit beban (weight) real server seperti gambar 6.17 berikut.
Dari prosedur di atas diharapkan sistem dapat menerima input edit real server dari
admin sehingga admin dapat merubahnya di tabel IPVSadm, maka menu edit real server
status valid.
Gambar 6.20 Hasil grafik koneksi service web pada setiap real server
Dari prosedur di atas diharapkan sistem dapat menampilkan grafik koneksi web
request ke admin sehingga admin dapat mengetahui hasil jumlah web request koneksi
client terhadap tiap real web server yang ada didasarkan hasil log koneksi In Act Conn
pada tool IPVSadm, maka menu report Connection Real Web Server IPVSadm status
valid.
Gambar 6.22 keterangan kegagalan pergantian password atau salah isikan password
Dari prosedur di atas diharapkan sistem dapat menerima input pergantian password
admin dari admin sehingga admin bisa mengganti password menu aplikasi load balancing
web server berdasarkan IPVSadm dan kembali saat login ulang admin dengan password
baru dapat digunakan. Maka menu pergantian password administrator status valid.
Berdasarkan gambar 6.25 di atas terlihat hasil konfigurasi yang terlihat dari terminal
linux dengan hasil tampilan konfigurasi di web base aplikasi adalah sama, maka hasilnya
valid.
Gambar 6.26 Hasil konfigurasi yang menunjukkan koneksi masuk ke real server
Berdarkan gambar 6.26 di atas terlihat real server pertama terjadi koneksi masuk ke
server 35 koneksi dan real server kedua terjadi koneksi masuk ke server 26 koneksi.
124
Berdasarkan gambar 6.27 di atas terlihat bahwa hasil koneksi yang terlihat di
konfigurasi sama dengan hasilnya pada grafis, maka hasilnya valid.
kebutuhan yang diperlukan pada sistem aplikasi load balancing web server berdasarkan
IPVSadm. Berikut hasil validasi yang dihasilkan dalam tabel keterangan.
Tabel 6.1 Hasil Validasi
Kode Uji Status
Nama Pengujian Hasil Pengujian
Validasi Validasi
6.1.1.1 Login sistem dapat menerima input Valid
login dari admin sehingga
admin dapat mengakses menu
aplikasi load balancing web
server berdasarkan IPVSadm
6.1.1.2 Tambah Konfigurasi Virtual sistem dapat menerima input Valid
Server virtual server baru dari admin
sehingga admin dapat
menambahkannya ke tabel
IPVSadm
6.1.1.3 Hapus Konfigurasi Virtual sistem dapat menerima input Valid
Server hapus virtual server dari
admin sehingga admin dapat
menghapusnya di tabel
IPVSadm
6.1.1.4 Edit Konfigurasi Virtual sistem dapat menerima input Valid
Server edit virtual server dari admin
sehingga admin dapat
merubah di tabel IPVSadm
6.1.1.5 Tambah Konfigurasi Real Web sistem dapat menerima input Valid
Server real server baru dari admin
sehingga admin dapat
menambahakannya ke tabel
IPVSadm
6.1.1.6 Hapus Konfigurasi Real Web sistem dapat menerima input Valid
Server hapus real server dari admin
sehingga admin dapat
128
menghapusnya ke tabel
IPVSadm
6.1.1.7 Edit Konfigurasi Real Web sistem dapat menerima input Valid
Server edit real server dari admin
sehingga admin dapat
merubahnya di tabel
IPVSadm
6.1.1.8 Hasil Konfigurasi IPVSadm sistem dapat menampilkan Valid
report konfigurasi IPVSadm
6.1.1.9 Hasil Koneksi Real Web sistem dapat menampilkan Valid
Server Dengan Grafik grafik koneksi web request ke
admin sehingga admin dapat
mengetahui hasil jumlah web
request koneksi client
terhadap tiap real web server
yang ada didasarkan hasil log
koneksi In Act Conn pada tool
IPVSadm
6.1.1.10 Proses Ganti Password Admin sistem dapat menerima input Valid
pergantian password admin
dari admin sehingga admin
bisa mengganti password
menu aplikasi load balancing
web server berdasarkan
IPVSadm dan kembali saat
login ulang admin dengan
password baru dapat
digunakan
Keterangan kolom :
Kode uji validasi : Kode uji pengujian menggunakan sub bab di dalam bab 6 ini.
Nama Pengujian : Menggunakan nama pengujian sesuai sub bab di dalam bab 6 ini.
Hasil Pengujian : Keterangan hasil pengujian dari subbab di dalam bab 6 ini.
Status Validasi : Hasil status validasi pengujian dari subbab di dalam bab 6 ini.
129
Dari 10 uji yang telah dilakukan pengujian menunjukkan status valid seluruhnya
yang menandakan bahwa fungsionalitas sistem dapat berjalan dengan baik sesuai dengan
kebutuhan.
Gambar 6.30 Grafik Durasi request ke web server tunggal dengan load balancing
Dapat dilihat dari tabel dan grafik durasi request di atas bahwa web server load
balancing lebih sedikit lambat menangani request yang ada dengan dengan rata-
rata berdurasi 2 detik dari percobaan yang ada dari pada web server tunggal dengan
rata-rata durasi 1.7 detik. Namun dalam penerimaan request dan request yang
hilang (loss) sistem load balancing lebih unggul.
2. Koneksi diterima
Hasil pengamatan koneksi request yang diterima kembali oleh client antara web
server tunggal dengan web server load balancing dapat dilihat ditabel berikut.
Tabel 6.4 Tabel koneksi request diterima dari web server tunggal dengan load
balancing
No Request Diterima
Request Request Terbanyak
Percobaan Tunggal LVS
1 100 66 46 Tunggal
2 200 110 86 Tunggal
3 500 259 267 LVS
4 600 370 268 Tunggal
5 1000 517 518 LVS
6 1200 854 729 Tunggal
132
Gambar 6.31 Grafik koneksi request diterima dari web server tunggal dengan load
balancing
Dapat dilihat dari tabel dan grafik koneksi request yang diterima dari web server
load balancing lebih banyak menangani request yang ada dengan dengan rata-rata
1045,5 request dalam penanganannya dari percobaan yang ada dari pada web
server tunggal dengan rata-rata 1020,8 request.
3. Request hilang
Hasil pengamatan request yang hilang (loss) kembali oleh client antara web server
tunggal dengan web server load balancing dapat dilihat ditabel berikut.
133
Tabel 6.5 Tabel request loss dari web server tunggal dengan load balancing
No Request Loss (%) Request Loss
Request Loss Kecil
Percobaan Tunggal LVS Tunggal LVS
1 100 34 54 34 54 Tunggal
2 200 45 57 90 114 Tunggal
3 500 48.2 46.6 241 233 LVS
4 600 38.3 55.3 229.8 331.8 Tunggal
5 1000 48.3 48.2 483 482 LVS
6 1200 28.8 39.2 345.6 470.4 Tunggal
7 1500 34 31.8 510 477 LVS
8 2000 33.9 25.2 678 504 LVS
9 3000 33.4 27.2 1002 816 LVS
10 5000 25.5 23.1 1275 1155 LVS
Gambar 6.32 Grafik request loss dari web server tunggal dengan load balancing
Dapat dilihat dari tabel dan grafik request loss yang diterima dari web server load
balancing lebih kecil terjadi request loss yang ada dengan dengan rata-rata 463,72
134
request dalam penanganannya terjadi loss request dari percobaan yang ada dari
pada web server tunggal dengan rata-rata 488,84 request loss.
Performansi web server dengan load balancing belum memenuhi standar yang
ditetapkan dalam rekomendasi ITU-T Y.1541 tentang nilai packet loss yang masih
dianggap baik pada komunikasi data TCP yaitu 0,1% dimana nilai packet loss
terbesar yang dicapai adalah 48,2 % dari pada web server tunggal sebesar 48,3 %
dari percobaan yang ada.
Dari tabel percobaan dan analisa grafik di atas menunjukan bahwa penggunaan load
balancing lebih unggul dari pada penggunaan server tunggal. Server load balancing lebih
mampu menerima request seraca beruntun dalam satu waktu lebih banyak dari pada server
tunggal. Request yang hilang lebih kecil di server load balancing dari pada server tunggal.
Namun load balancing sedikit lamban dalam menerima request ketimbang server tunggal.
.
135
BAB VII
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil analisis yang telah dilakukan pada bab sebelumnya, dapat diambil
beberapa kesimpulan, yaitu :
1. Load Balancing dengan metode direct routing mampu memeratakan beban
koneksi request web server dari client kepada beberapa real web server dan
algoritma WLC melakukan penjadwalan pembagian koneksi ke beberapa real
web server yang menyediakan layanan web dengan penentuan bobot koneksi
yang telah ditentukan.
2. Hasil durasi request di atas bahwa web server load balancing lebih sedikit
lambat menangani request yang ada dengan dengan rata-rata berdurasi 2 detik
dari percobaan yang ada dari pada web server tunggal dengan rata-rata durasi
1.7 detik. Namun dalam penerimaan request dan request yang hilang (loss)
sistem load balancing lebih unggul.
3. Performansi web server dengan load balancing belum memenuhi standar yang
ditetapkan dalam rekomendasi ITU-T Y.1541 tentang nilai packet loss yang
masih dianggap baik pada komunikasi data TCP yaitu 0,1% dimana nilai packet
loss terbesar yang dicapai adalah 48,2 % dari pada web server tunggal sebesar
48,3 % dari percobaan yang ada.
4. Performansi web server berbasis load balancing metode direct routing lebih
baik dibandingkan web server tunggal berdasarkan parameter request loss dan
request yang diterima balik oleh client. Dengan penerimaan request rata-rata
dari server load balancing sebanyak 1045,5 request dari pada web server tunggal
dengan rata-rata 1020,8 request.
5.2 Saran
Untuk pengembangan sistem yang telah dibuat, maka diperlukan saran yang dapat
membantu terciptanya proses tersebut, diantaranya adalah :
1. Web config yang di gunakan masih sebatas metode direct routing, diharapakn
pengembangan selanjutnya bisa ke metode NAT (network Adddress
Trnaslator) dan metode Tunneling.
135
136
xv
Oktavianus, Yoppi Lisyadi. 2013. Membangun Sistem Cloud Computing Dengan
Implementasi Load Balancing Dan Pengujian Algoritma Penjadwalan Linux Virtual
Server Pada FTP Server. Padang: Universitas Andalas.
Wensong. ”IPVS”, http://kb.linuxvirtualserver.org/wiki/IPVS, diakses tanggal September
2014.
http://www.linuxvirtualserver.org/VS-DRouting.html, diakses tanggal September 2014.
xvi