Anda di halaman 1dari 149

SKRIPSI

PEMBUATAN APLIKASI LOAD BALANCING WEB SERVER


BERDASARKAN IPVSADM

Diajukan untuk memenuhi salah satu syarat memperoleh derajat


Sarjana Komputer

ARIYA KUSUMA
12.043.124

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS BHAYANGKARA SURABAYA
SURABAYA
2014
DAFTAR ISI

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

BAB I PENDAHULUAN ...................................................................................... 1


1.1 Latar Belakang .................................................................................. 1
1.2 Rumusan Masalah ............................................................................. 1
1.3 Batasan Masalah ................................................................................ 1
1.4 Tujuan Penelitian .............................................................................. 2
1.5 Manfaat Penelitian ............................................................................ 2
1.6 Metode Penelitian .............................................................................. 3
1.7 Desain Penelitian ............................................................................... 4
1.8 Sistematika Penulisan ........................................................................ 4

BAB II TINJAUAN PUSTAKA ............................................................................. 6

BAB III LANDASAN TEORI .................................................................................. 11


3.1 Load Balancing ................................................................................. 11
3.2 Linux Virtual Server .......................................................................... 13
3.3 Paket Linux Virtual Server ................................................................ 16
3.4 Cara Kerja Virtual Server .................................................................. 18
3.5 Linux Virtual Server Dengan Metode Direct Routing ....................... 19
3.6 Algoritma Penjadwalan ..................................................................... 21
3.7 IP Tables ............................................................................................ 24
3.8 Protokol Transport Internet .............................................................. 25
3.9 Web Server ........................................................................................ 27
3.10 HighChart ......................................................................................... 29
3.11 Enkripsi MD5 .................................................................................... 31
3.12 Rekomendasi ITU-T .......................................................................... 33

BAB IV ANALISIS DAN PERANCANGAN SISTEM .......................................... 35


4.1 Analisis Permasalahan ...................................................................... 35
4.2 Perancangan Sistem .......................................................................... 36
4.2.1 Diagram Alir Sistem ......................................................................... 40
4.2.2 Rancangan Antarmuka Program ....................................................... 44
vi
4.2.3 Topologi Jaringan LVS ..................................................................... 45
4.3 Spesifikasi Sistem ............................................................................. 48
4.3.1 Spesifikasi Perangkat Keras .............................................................. 48
4.3.2 Spesifikasi Perangkat Lunak ............................................................. 49

BAB V IMPLEMENTASI SISTEM ....................................................................... 51


5.1 Batasan-batasan Implementasi .......................................................... 51
5.2 Implementasi Sistem Aplikasi Load Balancing Web Server
Berdasarkan IPVSadm ...................................................................... 52
5.2.1 Implementasi Basis Pengetahuan ...................................................... 52
5.2.1.1 Implementasi Data ........................................................................ 52
5.2.1.2 Implementasi Aturan .................................................................... 52
5.2.2 Implementasi Mesin Inferensi ........................................................... 53
5.2.2.1 Algoritma Konfigurasi LVS ......................................................... 53
5.2.2.1.1 Algoritma Konfigurasi Virtual Server ..................................... 53
5.2.2.1.2 Algoritma Konfigurasi Real Web Server ................................. 56
5.2.2.2 Monitoring .................................................................................... 59
5.2.2.2.1 Algoritma Monitoring Konfigurasi IPVSadm ......................... 60
5.2.2.2.2 Grafik Koneksi Real Web Server ............................................. 60
5.2.2.3 Autentifikasi user ......................................................................... 64
5.2.2.3.1 Login Admin ............................................................................ 64
5.2.2.3.2 Ganti Password Admin ............................................................ 66
5.2.3 Implementasi Antarmuka Aplikasi ................................................... 71
5.2.3.1 Tampilan Halaman Login ............................................................. 71
5.2.3.2 Tampilan Admin ........................................................................... 71
5.2.3.2.1 Konfigurasi Virtual Server ...................................................... 71
5.2.3.2.2 Konfigurasi Real Web Server .................................................. 72
5.2.3.2.3 Tampilan Monitoring ............................................................... 72
5.2.3.3 Tampilan New Password .............................................................. 73
5.3 Implementasi Sistem Aplikasi Load Balancing Web Server Pada
Server ................................................................................................ 74
5.3.1 Implementasi LVS ............................................................................. 74
5.3.1.1 Implementasi Linux Virtual Server .............................................. 74
5.3.1.2 Implementasi Real Web Server .................................................... 95
5.3.2 Implementasi Aplikasi Ke Server Load Balancing ........................... 105
5.3.2.1 Upload Aplikasi Load Balancing Web Server ............................. 105
5.3.2.2 Percobaan Akses Aplikasi Load Balancing Web Server .............. 106

BAB VI HASIL DAN PEMBAHASAN ................................................................. 108


6.1 Pengujian Sistem ............................................................................... 108
6.1.1 Pengujian Validasi ............................................................................ 108
6.1.1.1 Login .......................................................................................... 110
6.1.1.2 Tambah Konfigurasi Virtual Server ........................................... 112
vii
6.1.1.3 Hapus Konfigurasi Virtual Server .............................................. 113
6.1.1.4 Edit Konfigurasi Virtual Server ................................................. 114
6.1.1.5 Tambah Konfigurasi Real Web Server ....................................... 116
6.1.1.6 Hapus Konfigurasi Real Web Server ......................................... 117
6.1.1.7 Edit Konfigurasi Real Web Server ............................................. 117
6.1.1.8 Hasil Konfigurasi IPVSadm ....................................................... 119
6.1.1.9 Hasil Koneksi Real Web Server Dengan Grafik ........................ 119
6.1.1.10 Proses Ganti Password Admin .................................................. 120
6.1.2 Pengujian Akurasi ............................................................................. 122
6.1.2.1 Perbandingan Hasil Konfigurasi Perintah Manual Dengan
Aplikasi Web ................................................................................ 122
6.1.2.2 Perbandingan Report Koneksi Dengan Grafis ............................. 123
6.1.3 Pengujian Direct Routing .................................................................. 124
6.1.3.1 Uji Koneksi Dari Client Ke Web Server Tunggal ....................... 124
6.1.3.2 Uji Koneksi Dari Client Ke Load Balancer Web Server ............. 125
6.2 Analisis Pengujian ............................................................................. 126
6.2.1 Analisis Validasi ............................................................................... 126
6.2.2 Analisis Akurasi ................................................................................ 129
6.2.3 Analisis Direct Routing ..................................................................... 130

BAB VII KESIMPULAN DAN SARAN .................................................................. 135


5.1 Kesimpulan ....................................................................................... 135
5.2 Saran .................................................................................................. 135

DAFTAR PUSTAKA .................................................................................................... xv


LAMPIRAN .................................................................................................................. xvii

viii
DAFTAR GAMBAR

Gambar 3.1 Skema Sistem Load balancing .................................................................. 11


Gambar 3.2 Dasar topologi jaringan LVS ..................................................................... 14
Gambar 3.3 Implementasi LVS via Direct Routing ...................................................... 20
Gambar 3.4 Proses kerja routing langsung pada LVS ................................................... 21
Gambar 3.5 Proses pembagian beban koneksi wlc ........................................................ 22
Gambar 3.6 Paket filter IP Tables ................................................................................ 24
Gambar 4.1 Diagram Blok ............................................................................................. 36
Gambar 4.2 Flowchart Proses Aplikasi Web LVS ........................................................ 39
Gambar 4.3 (a) Context Diagram .................................................................................. 41
Gambar 4.3.1 (a2) DFD Level 1 .................................................................................... 42
Gambar 4.3.2 (a3) DFD Level 2 .................................................................................... 43
Gambar 4.4 Antarmuka tampilan login ......................................................................... 44
Gambar 4.5 Antarmuka tampilan Setting Linux Virtual Server .................................... 44
Gambar 4.6 Antarmuka tampilan penggantian password admin .................................. 45
Gambar 4.7 Proses jalannya paket pada LVS Direct Routing ....................................... 46
Gambar 4.8 Topologi jaringan LVS Direct Routing ..................................................... 47
Gambar 5.1 Enkripsi password MD5 di file pwd.txt ..................................................... 52
Gambar 5.2 Tampilan tabel aturan IPVSadm ................................................................ 53
Gambar 5.3 Potongan Source code Implementasi tambah virtual server ..................... 53
Gambar 5.4 Potongan Source code Implementasi hapus virtual server ........................ 54
Gambar 5.5 Potongan Source code Implementasi edit virtual server ........................... 55
Gambar 5.6 Potongan Source code Implementasi tambah real server ......................... 56
Gambar 5.7 Potongan Source code Implementasi hapus real server ............................ 57
Gambar 5.8 Potongan Source code Implementasi edit real server ............................... 58
Gambar 5.9 Potongan source code Implementasi monitoring konfigurasi IPVSadm ... 60
Gambar 5.10 Potongan source code monitoring koneksi real web server .................... 61
Gambar 5.11 Potongan source code halaman login ...................................................... 64
Gambar 5.12 Potongan source code halaman proses cek login .................................... 66
Gambar 5.13 Potongan source code halaman ganti password ...................................... 67
Gambar 5.14 Potongan source code halaman proses save password ............................ 69
Gambar 5.15 Tampilan login awal halaman aplikasi .................................................... 71
Gambar 5.16 Tampilan menu konvigurasi virtual server .............................................. 72
Gambar 5.17 Tampilan menu konfigurasi real web server ........................................... 72
Gambar 5.18 Tampilan monitoring config load balancing web server ......................... 73
Gambar 5.19 Tampilan grafik koneksi real web server ................................................ 73
Gambar 5.20 Tampilan menu konfigurasi ganti password admin ................................. 74
Gambar 5.21 Tampilan perintah membuat direktori pada LVS .................................... 75
Gambar 5.22 Tampilan perintah konfigurasi file repo pada LVS ................................. 75
Gambar 5.23 Tampilan file konfigurasi repo local pada LVS ...................................... 75
Gambar 5.24 Tampilan perintah konfigurasi mirror repo local pada LVS ................... 75
Gambar 5.25 Tampilan file konfigurasi mirror repo local pada LVS ........................... 76
ix
Gambar 5.26 Tampilan perintah update repo local pada LVS ...................................... 77
Gambar 5.27 Tampilan perintah konfigurasi device eth0 pada LVS ........................... 77
Gambar 5.28 Tampilan file konfigurasi device eth0 pada LVS ................................... 77
Gambar 5.29 Tampilan perintah konfigurasi alias device eth0 pada LVS ................... 78
Gambar 5.30 Tampilan file konfigurasi device alias eth0:1 pada LVS ........................ 78
Gambar 5.31 Tampilan perintah restart service network pada LVS ............................. 78
Gambar 5.32 Hasil keluaran perintah ifconfig –a pada LVS ........................................ 79
Gambar 5.33 Hasil keluaran perintah ping pada LVS ................................................... 79
Gambar 5.34 Tampilan perintah konfigurasi file sysctl pada LVS .............................. 80
Gambar 5.35 Tampilan file konfigurasi sysctl pada LVS ............................................ 80
Gambar 5.36 Hasil keluaran perintah sysctl pada LVS ................................................. 80
Gambar 5.37 Tampilan perintah iptables pada LVS ..................................................... 81
Gambar 5.38 Hasil keluaran perintah iptables nat pada LVS ...................................... 81
Gambar 5.39 Tampilan perintah konfigurasi file network pada LVS ........................... 81
Gambar 5.40 Tampilan file konfigurasi network pada LVS ......................................... 82
Gambar 5.41 Hasil keluaran perintah uname pada LVS .............................................. 82
Gambar 5.42 Tampilan perintah konfigurasi file resolv pada LVS .............................. 82
Gambar 5.43 Tampilan file konfigurasi resolv pada LVS ............................................ 82
Gambar 5.44 Tampilan perintah instalasi ipvsadm pada LVS ..................................... 82
Gambar 5.45 Tampilan keluaran perintah instalasi ipvsadm pada LVS ....................... 83
Gambar 5.46 Tampilan perintah untuk menjalankan ipvsadm ...................................... 83
Gambar 5.47 Tampilan perintah membuat virtual server dengan ipvsadm pada LVS 84
Gambar 5.48 Tampilan perintah membuat tiga real web server dengan ipvsadm pada
LVS ................................................................................................................................ 84
Gambar 5.49 Tampilan keluaran perintah ipvsadm pada LVS ..................................... 84
Gambar 5.50 Tampilan keluaran perintah instalasi BIND pada LVS .......................... 85
Gambar 5.51 Tampilan perintah konfigurasi file named pada LVS ............................. 86
Gambar 5.52 Tampilan file konfigurasi named pada LVS ........................................... 86
Gambar 5.53 Tampilan perintah membuat file site.net.db pada LVS ........................... 87
Gambar 5.54 Tampilan file konfigurasi site.net.db pada LVS ..................................... 87
Gambar 5.55 Tampilan perintah membuat file situs.net.db pada LVS .......................... 87
Gambar 5.56 Tampilan file konfigurasi situs.net.db pada LVS ................................... 88
Gambar 5.57 Tampilan perintah membuat file 10.168.192.db pada LVS ..................... 88
Gambar 5.58 Tampilan file konfigurasi 10.168.192.db pada LVS ............................... 88
Gambar 5.59 Tampilan perintah untuk menjalankan BIND .......................................... 89
Gambar 5.60 Tampilan keluaran perintah dig pada LVS .............................................. 89
Gambar 5.61 Tampilan keluaran perintah ping pada LVS ........................................... 89
Gambar 5.62 Tampilan perintah untuk edit visudo ....................................................... 90
Gambar 5.63 Tampilan perintah parameter visudo yang di edit ................................... 90
Gambar 5.64 Tampilan penambahan parameter visudo untuk apache .......................... 90
Gambar 5.65 Perintah install paket vsftpd .................................................................... 91
Gambar 5.66 Tampilan perintah edit file konfigurasi vsftpd ......................................... 91
Gambar 5.67 Tampilan Perintah edit file user list ftp ................................................... 92
x
Gambar 5.68 Tampilan perintah membuat user fedora ................................................. 92
Gambar 5.69 Tampilan perintah membuat direktori public_ftp .................................... 92
Gambar 5.70 Tampilan perintah chmod dan chown untuk folder public_ftp ............... 92
Gambar 5.71 Tampilan perintah memulai service ftp ................................................... 93
Gambar 5.72 Potongan script monitoring ..................................................................... 93
Gambar 5.73 Tampilan perintah konfigurasi device eth0 pada virtual mesin Real
Web Server 1 ................................................................................................................. 95
Gambar 5.74 Tampilan file konfigurasi device eth0 pada virtual mesin Real Web
Server 1 .......................................................................................................................... 95
Gambar 5.75 Tampilan perintah konfigurasi alias device lo:1 pada vitual mesin Real
Web Server 1 .................................................................................................................. 96
Gambar 5.76 Tampilan file konfigurasi device alias lo:1 pada vitual mesin Real Web
Server 1 .......................................................................................................................... 96
Gambar 5.77 Tampilan perintah restart service network pada vitual mesin Real Web
Server 1 .......................................................................................................................... 96
Gambar 5.78 Hasil keluaran perintah ifconfig pada vitual mesin Real Web Server 1 ... 97
Gambar 5.79 Hasil keluaran perintah ping pada vitual mesin Real Web Server 1 ......... 97
Gambar 5.80 Tampilan keluaran perintah instalasi httpd pada vitual mesin Real Web
Server 1 .......................................................................................................................... 98
Gambar 5.81 Tampilan perintah konfigurasi file httpd.conf pada vitual mesin Real
Web Server 1 .................................................................................................................. 99
Gambar 5.82 Tampilan perintah edit konfigurasi sysctl ................................................ 99
Gambar 5.83 Tampilan edit file sysctl ........................................................................... 100
Gambar 5.84 Tampilan tambahan perintah pada sysctl.conf ......................................... 101
Gambar 5.85 Hasil konfigurasi sysctl ............................................................................ 101
Gambar 5.86 Tampilan perintah membuat folder untuk mount flashdisk ..................... 102
Gambar 5.87 Tampilan perintah fdisk –l ....................................................................... 102
Gambar 5.88 Tampilan perintah mount flashdisk .......................................................... 102
Gambar 5.89 Tampilan perintah penyalinan file website ke folder http ........................ 103
Gambar 5.90 Tampilan website dari real web server .................................................... 103
Gambar 5.91 Tampilan tambahan baris filter pada firewall .......................................... 104
Gambar 5.92 Tampilan FTP Client untuk upload aplikasi web IPVSadm .................... 105
Gambar 5.93 Tampilan proses perintah copy ke folder root web .................................. 105
Gambar 5.94 Setting IP address pada client .................................................................. 106
Gambar 5.95 Tampilan awal login ke client ................................................................. 107
Gambar 6.1 Menu login aplikasi .................................................................................... 108
Gambar 6.2 Halaman konfigurasi IPVSadm ................................................................. 111
Gambar 6.3 Info gagal login .......................................................................................... 111
Gambar 6.4 Info kesalahan login ................................................................................... 112
Gambar 6.5 Input Tambah IP dan Port Virtual Server ................................................. 113
Gambar 6.6 Hasil konfigurasi tambah virtual server .................................................... 113
Gambar 6.7 Input Hapus IP dan Port Virtual Server .................................................... 114
Gambar 6.8 Hasil konfigurasi add virtual server .......................................................... 114
xi
Gambar 6.9 Input IP dan Port Virtual Server Yang akan di edit .................................. 115
Gambar 6.10 Input Edit IP dan Port Virtual Server baru .............................................. 115
Gambar 6.11 Hasil konfigurasi edit virtual server ........................................................ 115
Gambar 6.12 Input Tambah IP dan weight Real Server ................................................ 116
Gambar 6.13 Hasil konfigurasi tambah real server ...................................................... 116
Gambar 6.14 Input Hapus IP dan Port Real Server ...................................................... 117
Gambar 6.15 Hasil konfigurasi hapus real server ......................................................... 117
Gambar 6.16 Input IP dan Port Virtual Server Yang akan di edit ................................ 118
Gambar 6.17 Input Edit IP dan weight Virtual Server baru .......................................... 118
Gambar 6.18 Hasil konfigurasi edit virtual server ........................................................ 119
Gambar 6.19 Monitoring Config Load Balancing ........................................................ 119
Gambar 6.20 Hasil grafik koneksi service web pada setiap real server ........................ 120
Gambar 6.21 Menu ganti password admin .................................................................... 121
Gambar 6.22 keterangan kegagalan pergantian password atau salah isikan password.. 121
Gambar 6.23 Keterangan pergantian password yang sukses ........................................ 121
Gambar 6.24 Konfigurasi IPVSadm dari terminal linux ............................................... 122
Gambar 6.25 Hasil konfigurasi IPVSadm di web base ................................................. 123
Gambar 6.26 Hasil konfigurasi yang menunjukkan koneksi masuk ke real server ...... 123
Gambar 6.27 Grafik hasil koneksi real server .............................................................. 124
Gambar 6.28 Hasil report koneksi client ke web server tunggal .................................. 125
Gambar 6.29 Hasil report koneksi client ke LVS ......................................................... 126
Gambar 6.30 Grafik Durasi request ke web server tunggal dengan load balancing ..... 131
Gambar 6.31 Grafik koneksi request diterima dari web server tunggal dengan load
balancing ....................................................................................................................... 132
Gambar 6.32 Grafik request loss dari web server tunggal dengan load balancing ....... 133

xii
DAFTAR TABEL

Tabel 2.1 Perbandingan Studi Pustaka .......................................................................... 7


Table 4.1 Spesifikasi Real Web Server .......................................................................... 49
Tabel 4.2 Spesifikasi LVS ............................................................................................. 49
Tabel 6.1 Hasil Validasi ................................................................................................ 127
Tabel 6.2 Hasil Akurasi ................................................................................................. 129
Tabel 6.3 Tabel Durasi request ke web server tunggal dengan load balancing ............ 130
Tabel 6.4 Tabel koneksi request diterima dari web server tunggal dengan load
balancing ....................................................................................................................... 131
Tabel 6.5 Tabel request loss dari web server tunggal dengan load balancing .............. 133

xiii
INTISARI

PEMBUATAN APLIKASI LOAD BALANCING WEB SERVER


BERDASARKAN IPVSADM

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.1 Latar Belakang


Dengan pertumbuhan internet yang semakin cepat, akibatnya trafik di internet
naik secara cepat saat banyak orang yang mengakses website melalui komputer dan
perangkat mobile. Beban kerja pada sebuah web (website) server juga naik secara cepat,
sehingga server akan mudah terbebani dalam waktu yang singkat, khususnya sebuah
website yang ramai dikunjungi.
Untuk menangani masalah server yang cepat terbebani saat terjadi akses yang
terus meningkat, dapat dibuat suatu solusi yang disebut Load Balancing yang bertugas
memeratakan beban server kepada server virtual yang lain. Load balancing ini akan
memeratakan beban akses ke web server. Untuk melakukan setting load balancing
dibutuhkan akses root terminal linux dengan perintah tertentu, maka akan dibuat aplikasi
web base dari tool Load Balancing yang digunakan.
Untuk itu, dalam penelitian ini buat load balancing web server menggunakan
linux yang mempunyai kemampuan untuk melakukan forward request dari client kepada
beberapa web server dengan Linux Virtual Server (LVS) secara Direct Routing. Dan
sebuah aplikasi Web Base konfigurasi Load Balancing sebagai pengatur dan monitoring
koneksi ke beberapa web server agar mempermudah administrator dalam setting.

1.2 Rumusan Masalah


Berdasarkan uraian pada latar belakang, dirumuskan suatu permasalahan yaitu
bagaimana cara membangun Load Balancing Linux Virtual Server (LVS) Direct Routing
dengan menggunakan algoritma penjadwalan, serta menampilkan ke dalam aplikasi Web
Base konfigurasi Load balancing dalam bentuk web interface.

1.3 Batasan Masalah


Dalam penelitian ini pembatasan yang akan dilakukan adalah :
1. Operating system yang digunakan berbasis Open Source yaitu CentOS 6.5.
2. Menggunakan tool Load Balancing yaitu IPVSadm 1.26 sebagai pengelola LVS
(Linux Virtual Server) dengan metode Direct Routing.
3. Menggunakan salah satu algoritma penjadwalan yaitu Weighted Least Connection

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.4 Tujuan Penelitian


Penelitian ini bertujuan untuk membuat apliaksi web base dari tool IPVSadm
dengan meimplementasikan mesin “Load Balancing” berbasis web menggunakan LVS via
Direct Routing, untuk memeratakan beban dari sebuah server load balancing kepada web
server lain dengan menggunakan algoritma penjadwalan, sehingga diharapkan proses
request dari client ke web server dapat lebih cepat diproses.

1.5 Manfaat Penelitian


Adapun manfaat dalam Tugas Akhir ini adalah membantu administrator untuk
lebih mudah dalam mengatur konfigurasi mesin Load Balancing dengan metode Direct
Routing dengan web base yang user and freandly, serta dapat memantau koneksi ke real
web server dengan lebih mudah.
3

1.6 Metode Penelitian


Metodologi penelitian merupakan gambaran penelitian secara keseluruhan
sehingga diketahui proses, metode dan hasil yang diperoleh dalam penelitian:
a) Studi Literatur
Studi Literatur yaitu metodologi penyusunan dengan mempelajari dan
mengumpulkan data dari beberapa sumber. Penulis dapat melakukan
pengumpulan data dari berbagai sumber pustaka, baik berupa buku, browsing dari
internet dan materi-materi kuliah yang berhubngan dengan tugas akhir. Sehingga
diperoleh metode yang penulis gunakan sebagai landasan pemahaman dalam
perancangan dan pengerjaan tugas akhir ini.
b) Studi Lapangan
Studi Lapangan dilakukan dengan melakukan percobaan akses koneksi ke web
server dengan satu web server yang diakses langsung oleh client dan dengan
menggunakan setting load balancing web server. Studi lapangan ini dilakukan
untuk mengetahui kondisi beban koneksi yang terjadi dengan satu web server dan
dengan load balancing. Studi lapangan dilakukan dengan beberapa cara
diantaranya melalui pengamatan langsung kondisi web server dengan tool request
connection web server yang berjalan di client, dan dengan tool load balancing di
web server.
c) Perumusan Masalah
Setelah dilakukan studi literatur dan studi lapangan dapat dilakukan perumusan
masalah. Perumusan masalah merupakan masalah yang akan dibahas dan
diselesaikan dalam penelitian tugas akhir ini.
d) Pembuatan Aplikasi
Pada tahap ini akan dilakukan pembuatan aplikasi web base dengan metode load
balancing direct routing yang akan digunakan administrator jaringan nantinya.
e) Pengujian dan Analisis
Pengujian sistem yang sudah selesai dibuat dan menganalisisnya untuk
mengetahui kerja sistem aplikasi web base load balancing direct routing sehingga
diperoleh hasil dan kesimpulan.
4

1.7 Desain Penelitian


Penggunaan tool Load Balancing yaitu IPVSadm tidak meiliki tampilan GUI
(Grafic User Interface) yang cukup mudah dalam setting virtual server. Maka dalam
design penelitian ini akan dilakukan pengamatan terhadap tool IPVSadm yang berjalan di
linux Centos. IPVSadm merupakan salah satu tool yang digunakan untuk memanipulasi
koneksi dari beberapa atau banyak server yang akan melayani kebutuhan client. IPVSadm
ini akan membuat setting layanan Web Server yang akan dibutuhkan dalam penelitian ini.
Server LVS ini akan meratakan seluruh beban konaksi yang berupa request dari
client yaitu protocol TCP/IP yaitu web server yang berjalan pada port 80. Dari setting
pemerataan beban ini yang akan dibuat sebuah menu setting untuk mengatur alamat-alamat
ip address dan service web server dalam sebuah menu berbasis web dari dasar tool
IPVSadm yang ada. Dari hasil setting IPVSadm nantinya akan dibuat laporan grafiknya
berbasis web. Tampilan grafik akan memanfaatkan log dari tool IPVSadm yang akan
ditampilkan jumlah koneksi request ke beberapa real server dari total request web server
yang berasal dari client.
Untuk dapat mengoptimalkan fitur tool IPVSadm yang ada maka menggunakan
metode Direct Routing untuk menghubungkan semua Real Web Server yang ada dengan
Server yang mengaktifkan tools IPVSadm yaitu dalam hal ini disebut sebagai Server Load
Banlancer Web Server. Nantinya dalam web interface setting IPVSadm dapat melakukan
setting virtual web server, real web server, dan monitoring koneksi di real server akan
tersajikan dengan sederhana dalam grafik bar.
Teknik Pengumpulan Data Pengumpulan yang dilakukan penulis melalui cara
yaitu Metode Observasi : Pengumpulan data dilakukan dengan cara pengamatan langsung
tool IPVSadm yang berjalan di linux dan pengambilan log setting yang akan digunakan
sebagai dasar pembuatan aplikasi web base setting LVS Direct Routing dan monitoring
real web server.

1.8 Sistematika Penulisan


Sistematika dalam penulisan tugas akhir ini akan membantu mengarahkan
penulisan laporan agar tidak menyimpang dari batasan masalah yang dijadikan sebagai
acuan atau kerangka penulisan dalam mencapai tujuan penulisan laporan tugas akhir sesuai
dengan apa yang diharapkan. Laporan tugas akhir ini terbagi dalam VII bab, yaitu :
5

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

Sembiring (2009) Melakukan penelitian dengan judul “Uji availabilitas Load


Balancing Web Server Menggunakan Linux Virtual Server” Implementasi web server
cluster dengan skema load balancing dapat memberikan availabilitas sistem yang tetap
terjaga dan skalabilitas yang cukup untuk dapat tetap melayani setiap request dari
pengguna. Linux virtual server via NAT dapat menjadi solusi jika ingin menerapkan web
server cluster dengan skema load balancing, jika memiliki keterbatasan IP public.
Lukitasari (2010) Melakukan penelitian dengan judul “Analisis Perbandingan
Load Balancing Web Server Tunggal Dengan Web server Cluster Menggunakan Linux
Virtual Server” memecah bagian web server menjadi tunggal dan cluster dengan metode
load balancing, pengambilan data trafik bandwidth pada masing-masing web server,
kemudian akan dibandingkan data yang didapatkan. Server utama menggunakan sistem
operasi Linux Ubuntu, di server ini jg dipasang aplikasi LVS , dan NAT karena aplikasi
tersebut bertujuan agar dapat saling berkomunikasi antara client dan web server pada
jaringan. Peralatan ini dapat menangkap dan memberikan informasi yang lengkap kepada
peneliti dalam melakukan analisa layanan pada jaringan Load Balancing. Penggunaan alat
bantu ini sangat penting karena paket data yang lewat pada jaringan tidak dapat di lihat
oleh mata secara langsung.
Asri (2010) “Rancang Bangun Aplikasi Setting Load Balancing Web Server Pada
FreeBSD” Melakukan penelitian dengan judul banyak kesulitan dalam masalah
menggunakan FreeBSD ini dikarenakan semua aplikasi yang handal tadi tidak
menyertakan tampilan grafis yang memudahkan dalam penggunaannya. Penelitian ini
bertujuan pembuatan aplikasi remote load balancing via NAT web server secara cepat dan
mudah bagi administrator pemula.
Haris Nasution (2011) “Komparasi Algoritma Penjadwalan Pada Layanan
Terdistribusi Load Balancing LVS Via NAT” Melakukan penelitian dengan judul Untuk
performansi suatu sistem cluster yang ingin dibangun, pemilihan alogritma penjadwalan
yang tepat merupakan salah satu faktor penting yang perlu untuk diperhatikan. Dari sekian
banyak algoritma yang ada tersebut, maka akan dicoba mengkomparasi performa sistem
cluster saat menggunakan algoritma penjadwalan yang berbeda, berdasarkan parameter
yang telah ditentukan, untuk menemukan mana algoritma yang mempunyai performa

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

1. Irwan Uji availabilitas Load Load balancing Perbandingan


Sembiring Balancing Web menggunakan LVS Availibilitas Web
(2009) Server Menggunakan NAT server tunggal
Linux Virtual Server dengan web server
cluster

2. Desy Analisis Load balancing Perbandingan


8

Lukitasari Perbandingan Load menggunakan LVS komunikasi data


(2010) Balancing Web NAT antara server
Server Tunggal tunggal dengan web
Dengan Web server server cluster
Cluster
Menggunakan Linux
Virtual Server

3. Yessy Asri Rancang Bangun Aplikasi Setting Pembuatan aplikasi


(2010) Aplikasi Setting Load Balancing via remote load
Load Balancing Web NAT balancing via NAT
Server Pada web server secara
FreeBSD cepat dan mudah
bagi administrator
pemula

4. Abdul Haris Komparasi Komparasi Menemukan


Nasution Algoritma algoritma algoritma
(2011) Penjadwalan Pada penjadwalan LVS penjadwalan
Layanan NAT terbaik pada sistem
Terdistribusi Load cluster
Balancing LVS Via menggunakan LVS
NAT load balancing via
NAT, berdasarkan
parameter tertentu.

5. Pranata Ari Rancang Bangun Load balancing rancang bangun


Baskoro Server Learning menggunakan LVS server Learning
(2011) Management System NAT Management
(LMS) Berbasis System (LMS) yang
Metode Load menerapkan
Balancing metode load
balancing yang
berbasis framework
9

Linux Virtual
Server (LVS)

6. Yoppi Membangun Sistem Load balancing Untuk mengetahui


Lisyadi Cloud Computing menggunakan LVS hasil perbandingan
Oktavianus Dengan Direct Routing efisiensi tingkat
(2013) Implementasi Load pemanfaatan
Balancing Dan resource dan
Pengujian Algoritma peformansi antara
Penjadwalan Linux server tunggal
Virtual Server Pada konvensional
FTP Server dengan sistem
cloud computing
serta mengetahui
hasil perbandingan
5 algoritma
penjadwalan linux
virtual server
Sofwtare as a
service (SaaS)
dimana aplikasi
FTP sebagai
layanan dari cloud
computing.

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

3.1 Load Balancing


Load balancing adalah suatu metode untuk mendistribusikan beban kepada
beberapa host sehingga beban kerja menjadi lebih ringan. Ini bertujuan agar waktu
rata-rata mengerjakan tugas menjadi singkat dan dapat menaikkan utilitas prosesor.
Load balancing dapat diimplementasikan dengan hardware khusus, software
maupun gabungan keduanya. Konfigurasi standar yang ada memberi gambaran bahwa
satu mesin ditempatkan diantara client dan server, mesin ini disebut sebagai director
karena tugasnya adalah memberikan balancing pada request dari client ke server.
Load balancer merupakan juga perangkat jaringan yang dipasang diantara client
dan server, bekerja sebagai saklar untuk request dari client. Load balancer
mengimplementasikan beberapa metode penjadwalan yang akan menentukan ke arah
server mana request dari client akan diteruskan. Berikut gambar server load balancing
yang sederhana.

Gambar 3.1 Skema Sistem Load balancing (Bourke, Tony. 2001)

11
12

Proses load balancing sebenarnya merupakan proses fleksibel yang dapat


diciptakan dengan berbagai cara dan metode. Proses ini tidak dapat dilakukan oleh
sebuah perangkat tertentu atau sebuah software khusus saja. Cukup banyak cara dan
pilihan untuk mendapatkan jaringan yang dilengkapi dengan sistem load balancing.
Cara kerja dan prosesnya pun berbeda-beda satu dengan yang lainnya. Namun, cara
yang paling umum dan banyak digunakan adalah dengan mengandalkan konsep
Virtual server atau Virtual IP.
Istilah Virtual server atau Virtual IP sebenarnya merupakan istilah bebas, karena
mungkin saja sistem lain menggunakan konsep yang sama namun dengan istilah yang
berbeda. Secara umum, konsep dari Virtual server atau Virtual IP ini adalah sebuah
alamat IP, sebuah nama, atau bisa juga dikatakan sekelompok alamat IP yang bertugas
sebagai jembatan penghubung antara pengakses dari luar dengan sekelompok server
atau perangkat jaringan yang berada dibelakangnya.
Tujuan dibuatnya sistem perwakilan tersebut adalah agar ketika nama atau
alamat IP tersebut diakses dari luar, yang dapat melayani permintaan tersebut tidak
terbatas hanya satu perangkat server saja. Sekelompok server atau perangkat jaringan
yang diwakilinya memiliki kemampuan untuk menjawab permintaan-permintaan
tersebut. Sebagai hasilnya, permintaan-permintaan tersebut terdistribusi ke beberapa
server sehingga beban proses kerja server tersebut tidak terlalu berat. Hal ini membuat
servis dan layanan yang diberikan server tersebut ke pengguna dapat berjalan lebih
baik dan berkualitas.
Sistem load balancing yang sederhana memang hanya mampu membuat sebuah
perwakilan nama atau alamat IP untuk mewakili beberapa IP dari server
dibelakangnya, namun perangkat yang memang dikhususkan menangani sistem load
balancing kompleks dapat melakukan perwakilan hanya terhadap servis yang dibuka
oleh server dibelakangnya.
Keuntungan yang paling menonjol dari solusi load balancing menggunakan
software adalah tingkat kemudahan pengoperasiannya yang sudah lebih user friendly
dibandingkan jika mengonfigurasi switch load balancing. Keuntungan lainnya, jika
ada fitur tambahan atau ada versi upgrade terbaru, Anda tidak perlu mengganti
keseluruhan perangkat load balancing ini. Namun karena proses logikanya berada di
dalam sebuah software, maka tentu untuk menggunakannya dibutuhkan sebuah
13

platform sebagai tempat bekerjanya. Perangkat komputer dengan spesifikasi tertentu


pasti dibutuhkan untuk ini.
Performa dan kehebatannya melakukan proses load balancing juga akan
dipengaruhi oleh perangkat komputer yang digunakan, tidak bisa hanya mengandalkan
kemapuan software yang hebat saja. Kartu jaringan yang digunakan, besarnya RAM
pada perangkat, media penyimpanan yang besar dan cepat, dan pernak-pernik lainnya
tentu juga dapat mempengaruhi kinerja dari software ini. Karena dari isu inilah, maka
performa dari keseluruhan sistem load balancing ini lebih sulit diperkirakan. Hanya
mengandalkan kemapuan software yang hebat saja. Kartu jaringan yang digunakan,
besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dan
pernak-pernik lainnya tentu juga dapat mempengaruhi kinerja dari software ini.
Karena dari isu inilah, maka performa dari keseluruhan sistem load balancing ini lebih
sulit diperkirakan.
Proses load balancing mampu mengurangi beban kerja setiap server, serta
memungkinkan server untuk menggunakan bandwidth yang tersedia secara lebih
efektif. Kefektifan kinerja server dapat terlihat dari dua parameter berikut.
a) Response Time
Waktu yang dibutuhkan oleh server untuk memproses sebuah paket data yang
datang dan menghasilkan sebuah paket data balasan.
b) Throughput
Bandwidth aktual yang terukur pada ukuran waktu tertentu. Throughput dapat
merepresentasikan kemampuan sebuah server untuk menyalurkan data dalam
jaringan dalam satuan detik, oleh karena itu Throughput menggambarkan
bandwidth yang sebenarnya (aktual) pada suatu waktu tertentu.

3.2 Linux Virtual Server


Linux Virtual Server (LVS) adalah seperangkat komponen software yang
terintegrasi untuk menyeimbangkan atau memeratakan beban IP di satu set real
server. LVS berjalan pada sepasang komputer yang dikonfigurasi sama, satu LVS
router dan satu LVS router cadangan. LVS router aktif melayani dua peran, yaitu:
1. Untuk menyeimbangkan beban di server yang sebenarnya.
2. Untuk memeriksa integritas dari layanan pada setiap server sebenarnya.
14

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

Layanan permintaan tiba di router LVS yang ditujukan ke alamat IP virtual,


atau VIP. Ini adalah alamat publik-routable administrator situs perusahaan dengan
memenuhi syarat nama domain, seperti www.example.com, dan ditugaskan untuk satu
atau lebih server virtual. Sebuah alamat VIP bermigrasi dari satu LVS router ke lain
selama failover, dengan demikian dapat mempertahankan alamat IP.
Alamat VIP mungkin alias ke perangkat yang sama yang menghubungkan
router LVS ke Internet. Misalnya, jika eth0 tersambung ke Internet, dari server virtual
dapat alias untuk eth0:1. Atau, setiap server virtual dapat dikaitkan dengan perangkat
yang terpisah perpelayanan. Misalnya, lalu lintas HTTP dapat ditangani pada eth0:1,
dan lalu lintas FTP bisa ditangani pada eth0:2.
Hanya satu LVS router aktif pada suatu waktu. Peran aktif router untuk
mengarahkan layanan permintaan dari alamat IP virtual ke server yang sebenarnya.
Redirection ini didasarkan pada salah satu dari sepuluh load-balancing algoritma.
Router yang aktif juga secara dinamis memantau kesehatan keseluruhan dari
service tertentu pada server real melalui simple send/expect scripts. Untuk membantu
dalam mendeteksi kesehatan layanan yang memerlukan data dinamis, seperti HTTPS
atau SSL, administrator juga dapat memanggil eksternal executables. Jika ada
kerusakan layanan pada real server, router aktif berhenti mengirim pekerjaan ke
server yang sampai kembali ke operasi normal.
Router cadangan melakukan peran sistem siaga. Secara berkala, LVS router
bertukar pesan melalui antarmuka publik primer eksternal dan dalam sebuah situasi
failover, antarmuka pribadi. Jika node cadangan gagal untuk menerima pesan dalam
interval yang diharapkan, ia memulai failover dan mengasumsikan peran router aktif.
Selama failover, router cadangan mengambil alih alamat VIP dilayani oleh backup
router menggunakan teknik yang dikenal sebagai spoofing ARP dimana LVS router
cadangan mengumumkan dirinya sebagai tujuan untuk paket IP yang ditujukan untuk
node gagal. Ketika kembali node gagal layanan aktif, node cadangan mengasumsikan
perannya sebagai backup lagi.
Konfigurasi, sederhana dua lapis digunakan pada Gambar 3.2, adalah "Dasar
LVS Konfigurasi" terbaik untuk penyajian data yang tidak sering berubah seperti
halaman web statis.
16

3.3 Paket Linux Virtual Server


Paket yang digunakan dalam LVS adalah ipvsadm. Paket ipvsadm merupakan
Linux Virtual Server Administrator yang digunakan untuk setup, mengatur atau
memeriksa tabel virtual server pada kernel Linux.
Paket Linux Virtual Server dapat digunakan untuk membangun skabilitas service
jaringan yang didasarkan pada dua cluster atau lebih server. Server aktif (director)
yang akan mengarahkan permintaan (request) service kepada koleksi server host yang
sebenarnya akan menangani sevice. Protocol yang mendukung paket LVS adalah TCP
dan UDP, dengan tiga metode forward paket (NAT, tunneling dan direct routing),
serta beberapa algoritma penjadwalan untuk membagi paket atau beban kepada server
yang ada.
Paket ipvsadm mempunyai dua bentuk format perintah utama untuk
mengeksekusinya, yaitu :

# ipvsadm COMMAND [protocol] service-address


[schedulingmethod] [persistence options]
# ipvsadm command [protocol] service-address server-
address [packet-forwarding-method] [weight options]

Format pertama digunakan untuk memanipulasi virtual service (director) dan


beberapa algoritma untuk meneruskan permintaan (request) service kepada beberapa
virtual service. Sebagai pilihan, waktu aktif dan penyembunyian jaringan dapat
digunakan untuk menentukan lama service. Format kedua digunakan untuk
memanipulasi real-server yang terhubung dengan virtual service (director) yang ada.
Ketika menetapkan sebuah real-server, digunakan pula metode penerusan paket dan
berat beban yang harus dipikul oleh sebuah real server. Perintah ipvsadm dalam huruf
besar untuk mengatur konfigurasi Virtual-Service, sedangkan yang berbentuk huruf
kecil digunakan untuk mengatur konfigurasi Real-Server.
Perintah ipvsadm dalam huruf besar untuk mengatur konfigurasi Virtual-Service,
sedangkan yang berbentuk huruf kecil digunakan untuk mengatur konfigurasi Real-
Server. Berikut ini adalah beberapa bentuk dan penjelasan dari konfigurasi ipvsadm :
17

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

wrr : Algoritma Weighted Round-Robin yaitu menugaskan pekerjaan kepada


Real-Server dengan ukuran berat beban yang dipunyai oleh Real-Server
tersebut. Server dengan berat beban yang besar akan menerima pekerjaan
baru terlebih dahulu dan mendapatkan pekerjaan yang lebih dibandingkan
dengan Real-Server yang sedikit berat bebannya. Server dengan berat
beban yang sama, akan mendapatkan distribusi pekerjaan baru yang sama.
lc : Algoritma Least Connection yaitu menugaskan lebih banyak pekerjaan
kepada Real-Server yang mempunyai pekerjaan aktif yang sedikit.
wlc : Algoritma Weighted Least Connection yaitu menugaskan lebih banyak
pekerjaan kepada Real-Server dengan pekerjaan aktif yang sedikit dan
relatif kepada berat beban Real-Server.
dh : Algoritma Destination Hashing yaitu menugaskan pekerjaan kepada Real-
Server melalui data statistic yang diberikan pada tabel hash oleh alamat IP
Real-Server.
sh : Algoritma Source Hashing yaitu menugaskan pekerjaan kepada server
dengan bentuk yang hampir sama dengan Algoritma Destination Hashing.
r  untuk menambah Real-Server yang terdiri atas service server, alamat IP dan
nomor port. Terdapat beberapa metode forward untuk Real-Server, yaitu :
g : untuk menggunakan gateway (direct-routing).
i : untuk enkapsulasi (tunneling).
m : untuk masquerade (NAT).
w  untuk memberikan besar beban dari Real-Server. Besar beban bernilai integer
mulai dari 0 sampai dengan 65535, sedangkan secara default diset 1.

3.4 Cara Kerja Virtual Server


Virtual server dapat diimplementasikan dalam tiga cara. Ada tiga teknik IP load
balancing dalam sebuah Linux Director, yaitu :
1. Network Address Translation (NAT) : suatu metode yang memanipulasi alamat IP
dan nomor port baik sumber maupun tujuannya. Alamat ip public disamarkan
untuk digunakan oleh alamat IP private agar bisa berhubungan dengan dunia luar
(internet). Semua proses masuk (end-user) dan keluarnya (real server) paket
harus melalui satu alamat IP public saja (director/load balancer/virtual server).
19

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.

3.5 Linux Virtual Server Dengan Metode Direct Routing


Membangun setup LVS yang menggunakan routing langsung memberikan
manfaat peningkatan kinerja dibandingkan dengan topologi LVS jaringan lainnya.
Teknik pengiriman permintaan Direct Routing ini menggunakan alamat virtual IP
yang sama dari real server dan director (LVS). Alamat virtual IP pada
director digunakan untuk menerima paket permintaan, dan kemudian secara
langsung mengirimkan paket pada server yang telah dipilih. Semua real server
menggunakan perangkat alias non-arp sebagai alamat virtual IP. Director
dan semua real server harus memiliki perangkat ethernet yang dihubungkan
dengan sebuah hub/switch. Arsitektur virtual server dengan menggunakan
direct routing dapat dilihat pada gambar 3.3.
20

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

Gambar 3.4 Proses kerja routing langsung pada LVS


(http://www.linuxvirtualserver.org/VS-DRouting.html)
Penyeimbang beban yaitu load balancing hanya perubahan alamat MAC dari
frame data dengan yang ada pada server yang dipilih dan retransmits pada LAN. Ini
adalah alasan bahwa penyeimbang beban dan setiap server harus langsung terhubung
satu sama lain dengan satu segmen sama dari LAN.

3.6 Algoritma Penjadwalan


Salah satu keuntungan dari menggunakan cluster LVS adalah kemampuannya
untuk melakukan fleksibel, menyeimbangkan IP-tingkat beban pada kelompok server
sebenarnya. Fleksibilitas ini disebabkan oleh berbagai algoritma penjadwalan
administrator dapat memilih dari saat mengkonfigurasi sebuah cluster. LVS lebih
unggul dari metode kurang fleksibel, seperti Round-Robin DNS mana sifat hirarki dari
DNS dan caching oleh mesin klien dapat menyebabkan ketidakseimbangan beban.
Selain itu, tingkat rendah filtering yang digunakan oleh router LVS memiliki
keunggulan dibandingkan permintaan penerusan aplikasi-tingkat karena beban
menyeimbangkan di tingkat jaringan paket menyebabkan overhead komputasi
minimal dan memungkinkan untuk skalabilitas yang lebih besar.
Dengan menggunakan penjadwalan, router aktif dapat mempertimbangkan
aktivitas server nyata dan, opsional, faktor berat administrator-ditugaskan ketika
routing permintaan layanan. Menggunakan bobot ditugaskan memberikan prioritas
sewenang-wenang untuk mesin individu. Menggunakan bentuk penjadwalan, adalah
mungkin untuk membuat grup server nyata menggunakan berbagai kombinasi
22

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.

2. Server Weight dan Penjadwalan


Administrator dari sebuah cluster LVS dapat menetapkan bobot untuk setiap
node di beberapa server sebenarnya. bobot ini adalah nilai integer yang merupakan
faktor dalam setiap algoritma penjadwalan bobot (seperti berbobot koneksi
terkecil) dan membantu lebih merata LVS router hardware beban dengan
kemampuan yang berbeda. bobot bekerja sebagai rasio relatif terhadap satu sama
lain. Sebagai contoh, jika satu server yang sebenarnya memiliki bobot 1 dan server
lainnya memiliki bobot 5, maka server dengan bobot 5 mendapat 5 koneksi untuk
setiap mendapat koneksi 1 dari server lain. Nilai default untuk berat server
sebenarnya adalah 1.
Walaupun menambah bobot untuk berbagai konfigurasi hardware di
kelompok server sebenarnya dapat membantu load balance lebih efisien, hal ini
dapat menyebabkan ketidak seimbangan sementara ketika sebuah server
sebenarnya diperkenalkan ke beberapa server nyata dan server virtual dijadwalkan
menggunakan least connections tertimbang. Misalnya, ada tiga server di kelompok
24

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 [-t table] command [match][target/jump]

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.

Gambar 3.6 Paket Filter di IP Tables (Red Hat, Inc. 2013)


25

3.8 Protokol Transport Internet


Lapisan Transport menentukan apakah pengirim dan receiver akan mengatur
koneksi sebelum berkomunikasi dan seberapa sering mereka akan mengirimkan
pernyataan terima kasih dari koneksi yang satu sama lain. Lapisan Transport hanya
memiliki dua protokol: Transmission Control Protocol (TCP) dan User Datagram
Protocol (UDP). Sedangkan set TCP koneksi dan mengirim pengakuan, UDP tidak.
UDP bisa memindahkan data lebih cepat, tetapi menjamin pengiriman TCP.
Protokol pada layer Transport menyampaikan data ke dan menerima data dari
protokol lapisan Transport host lain. Host lainnya dapat di jaringan lokal atau pada
jaringan ribuan mil jauhnya. Dalam dokumentasi beberapa, lapisan Transport juga
disebut lapisan Host-to-Host.
Lapisan transport dari protokol TCP / IP hanya terdiri dari dua protokol, TCP
dan UDP. Menyediakan TCP connection-oriented, komunikasi dapat diandalkan, dan
UDP menyediakan connectionless, komunikasi tidak dapat diandalkan. TCP lebih
lambat dan biasanya digunakan untuk mentransfer data dalam jumlah besar untuk
memastikan bahwa data tidak perlu dikirim lagi. UDP lebih cepat dan biasanya
digunakan untuk mentransfer sejumlah kecil data.
Connection-oriented berarti bahwa sambungan didirikan sebagai dimulai
komunikasi. Dalam hubungan ini, informasi tertentu dipertukarkan untuk mengatur
parameter dari komunikasi utama.
Reliable berarti bahwa pengakuan akan dikirim kembali ke host mengirimkan
seluruh komunikasi untuk memverifikasi penerimaan paket. Karena setiap segmen
data yang diterima di tempat tujuan, pengakuan dikirim ke pengirim dalam jangka
waktu tertentu. Jika acknowledgment (pengakuan) tidak dikirim dalam waktu itu,
pengirim akan mengirim ulang data. Jika data penerima mendapatkan data dalam
kondisi rusak, paket yang rusak hanya dibuang. Penerima tidak mengirim pengakuan
untuk paket yang rusak, dan karena pengirim tidak menerima pengakuan, data kembali
dikirim.
1. TCP
Transmission Control Protocol (TCP) adalah protokol yang menghubungkan
host pengirim dan host penerima untuk satu sama lain. TCP merupakan protokol
berorientasi koneksi, yang berarti bahwa kedua host yang berkomunikasi tahu
tentang satu sama lain. Salah satu aspek pertama mereka menentukan adalah
26

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.

3.9 Web Server


Web Server adalah Server di mana aplikasi HTTP server berjalan bahwa
pengguna mampu surfing dan meminta file yang akan ditransfer dan ditampilkan.
Sedangkan Hypertext Markup Language (HTML) adalah Format file halaman Web
disimpan pada server Web yang dapat ditampilkan dalam format yang bermanfaat
dengan browser Web.
Hypertext Transfer Protocol (HTTP) adalah satu set aturan untuk bertukar file di
Internet. Ini adalah protokol yang menggunakan browser Web ketika berselancar
internet. Tidak seperti FTP, HTTP dirancang sehingga sangat sedikit dibutuhkan
intervensi pengguna. HTTP transfer file terformat yang ditampilkan dalam browser
mereka bukan hanya disimpan ke disk. HTTP aplikasi berjalan pada server Web dan
mendengarkan permintaan, dan kemudian merespon dengan mengirimkan file ke
pemohon. Sebuah server Web adalah sebuah server yang memiliki aplikasi layanan
28

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 type=”teks/javascript” src=”alamat.js”>


</script>

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>

Jumlah JavaScript di <head> dan <body> yang ditempatkan pada dokumen


tidak terbatas.
External JavaScript, Terkadang ada yang menginginkan menjalankan JavaScript
yang sama dalam beberapa kali pada halaman yang berbeda, tetapi tidak mau
disibukkan jika harus menulis ulang script yang diinginkan di setiap halaman. Maka
JavaScript dapat ditulis di file secara eksternal. Jadi, antara dokumen HTML dan
JavaScript dipisahkan, kemudian berkas tersebut dipanggil dari dokument HTML.
Berkas JavaScript tersebut disimpan dengan ekstensi .js.
Untuk menggunakan eksternal JavaScript (.js) dipakai atribut “src” pada tag
<script> pada halaman HTML-nya.
SVG (Scalable Vector Graphics) merupakan suatu format gambar Vector yang
berbasis Open XML untuk membentuk gambar 2 dimensi termasuk animasinya dalam
format XML (eXtensible Markup Language). Untuk mempelajari SVG perlu dasar
tentang pemrograman web yaitu menggunakan HMTL dan dasar-dasar XML.
31

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.

3.11 Enkripsi MD5


Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash
kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart
Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi
keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas
sebuah berkas. Hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai
ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit.
Enkripsi menggunakan MD5 masih mendominasi sebagian besar aplikasi PHP.
Enkripsi MD5 dianggap strong karena enkripsi yang dihasilkannya bersifat ‘one way
hash’. Berapapaun string yang di enkripsi hasilnya tetap sepanjang 32 karakter.
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai
ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit.
Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan dan
hash MD5 terkait:
32

MD5(“The quick brown fox jumps over the lazy dog”) =


9e107d9d372bb6826bd81d3542a419d6

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:

MD5(“The quick brown fox jumps over the lazy cog”) =


1055d3e698d289f2af8663725127bd4b
Hash dari panjang-nol ialah:
MD5(“”) =d41d8cd98f00b204e9800998ecf8427e

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.

3.12 Rekomendasi ITU-T


ITU (International Telecommunication Union) adalah agen khusus United
Nation (PBB) di bidang telekomunikasi. ITU Telecommunication Standardization
Sector (ITU-T) adalah bagian permanen dari ITU. ITU-T bertanggung jawab dalam
pembelajaran terhadap masalah teknis, pengoperasian, tariff questions dan
menerbitkan rekomendasi. Tujuan ITU-T adalah untuk melakukan standardisasi
telekomunikasi di seluruh dunia.
Rekomendasi ITU-T E.500 menjelaskan tentang konsep intensitas trafik dan
metodologi pengukuran intensitas trafik. Rekomendasi ini memberikan prinsip-prinsip
untuk mengukur trafik dari suatu jaringan. Pengukuran yang dilakukan berdasar
Rekomendasi ITU-T E.500 adalah daily continuous measurement. Daily continuous
measurements direkomendasikan untuk dilakukan secara kontinu selama beberapa
hari dengan periode waktu pengukuran tertentu (ITU 2007).

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

4.1 Analisis Permasalahan


Penentuan pemilihan bahasa pemrograman yang diminati mahasiswa teknik
informatika itu menggunakan atribut yang merupakan syarat khusus yang telah
ditetapkan sesuai dengan nilai ujian yang diujikan pada mahasiswa. Sistem aplikasi ini
bisa menjadi bahan dasar untuk mengetahui kemampuan mahasiswa teknik
informatika dalam menguasi bahasa pemrograman sesuai dengan yang diujikan.
Diharapkan dengan sistem yang akan di rancang dapat memberikan rekomendasi
pada dosen pengajar Prodi Teknik Informatika dalam mengetahui kemampuan dan
minat jaringan komputer dan bahasa pemrograman yang dikuasai oleh mahasiswa,
sehingga kemampuan dan bakat mahasiswa bisa tereksploitasi dengan baik.
Langkah-langkah yang dilakukan dalam perancangan perangkat lunak adalah
sebagai berikut :
a. Mendeskripsikan secara global perangkat lunak dan interaksinya dengan entitas-
entitas luar.
b. Mendefinisikan fungsi-fungsi utama yang harus dimiliki oleh perangkat lunak.
c. Menentukan keterkaitan antar fungsi dengan membuat diagram alir data.
d. Menentukan kebutuhan data baik data input maupun data output.
e. Menentukan antarmuka sebagai fasilitator antara user untuk berinteraksi dengan
perangkat lunak.
Aplikasi setting IPVSadm berbasis web yang akan disediakan merupakan
Sistem Load Balancing beban koneksi menggunakan LVS dengan metode Direct
Routing berfungsi dengan baik jika request dari client menuju ke web server secara
langsung dikirimkan ke real web server yang dipilih berdasarkan algoritma weighted
least connection (wlc) sesuai setting yang disimpan dan dijalankan. Dari real web
server request dari client akan langsung di kirimkan hasilnya kembali pada client.
Dengan menggunakan perintah tracert (pada DOS prompt), traceroute (pada linux
console), ipvsadm (pada linux console) dapat diketahui proses perjalanan paket sampai
pada tujuan. User dapat melakukan dan menerima hasil halaman web yang di request
dengan baik. Serta proses monitoring koneksi terlihat sesuai jumlah koneksi dari
seluruh real web server yang ada. Semua setting penambahan dan edit dari Virtual

35
36

Server dan Real Web Server yang dibutuhkan nantinya akan disajikan dalam halaman
aplikasi web interface secara sederhana dan mudah dalam penggunaannya.

4.2 Perancangan Sistem


Dalam perancangan sistem ini akan dijabarkan bagaimana sistem aplikasi akan
dibangun dan diuji coba. Dimana aplikasi Load Balancing akan menggunakan media
web sebagai pengontrol aplikasi dari tool IPVSadm dan sebagai monitoring dari
konfigurasinya dengan metode direct routing yang dibutuhkan. Diharapkan dengan
adanya perancangan sistem yang dibuat dapat lebih memperjelas penelitian pembuatan
aplikasi web berdasarkan tool IPVSadm dengan metode direct routing.
Konsep dasar dari metode direct routing di load balancing adalah bagaimana
nantinya setiap request koneksi yang terbangun dari client terhadap web server bisa
terbagi ke beberapa real web server yang ada sesuai setting yang ada di IPVSadm dari
server load balanicng dan hasil request akan langsung dikembalikan ke client tanpa
harus melewati kembali ke mesin load balancing secara direct. Sistem load balancing
akan berjalan tentunya sesuai dengan data yang tersimpan pada IPVSadm yang telah
dimasukkan dengan aplikasi web interface yang akan dibuat nantinya ini. Dari aplikasi
web nantinya akan dapat memunculkan grafik dari koneksi yang terjadi ke beberapa
real web server.
Berikut diagram blok proses setting konfigurasi IPVSadm hingga terlihat
koneksi ke real web server yang ada, yaitu :

Data IP dan Port Eksekusi Data Load Balancing Direct Routing

Gambar 4.1 Diagram Blok

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.

b. Proses eksekusi data ke IPVSadm


Dari input data yang dilakukan user admin akan dilakukan eksekusi perintah linux
yang langsung mengrimkan data ke IPVSadm agar bisa dilakukan setting
konfigurasi untuk LVS. Dimana nantinya hasil setting yang tersimpan pada
konfigurasi IPVSadm akan ditampilkan ke aplikasi web dalam bentuk daftar
38

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.

d. Proses direct routing ke beberapa real web server


proses direct ini akan berjalan tentunya sesuai dengan konfigurasi dari IPVSadm
yang ada. Proses ini berjalan jika nantinya ada permintaan request ke web server
dari client yang ada, dan langsung akan di direct ke beberapa real web server 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

Tambah Virtual Edit setting


Server dan Virtual Server
Real Web dan Real Web
Server Server

Proses IPVSadm
Tambah atau edit setting
yang telah ditentukan

Apakah setting sesuai dan


tidak berjalan dengan baik ?

ya

Tampil
Setting
IPVSadm

Tampil
Koneksi
Real Web
Server

end

Gambar 4.2 Flowchart Proses Aplikasi Web LVS


40

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.

4.2.1 Diagram Alir Sistem


a. DFD
Data Flow Diagram (DFD) adalah representasi grafis dari aliran data melalui
sistem. Hal ini memungkinkan Anda untuk mewakili proses dalam sistem dari
sudut pandang data. DFD memungkinkan Anda memvisualisasikan bagaimana
sistem beroperasi, apa sistem menyelesaikan dan bagaimana itu akan dilaksanakan,
bila disempurnakan dengan spesifikasi lebih lanjut.
Data flow diagram digunakan oleh analis sistem untuk merancang sistem
pemrosesan informasi tetapi juga sebagai cara untuk model seluruh organisasi.
Anda membangun DFD pada awal pemodelan proses untuk memodelkan fungsi
sistem anda harus melaksanakan dan interaksi antara fungsi-fungsi bersama dengan
berfokus pada pertukaran data antara proses. Anda dapat mengaitkan data dengan
model data konseptual, logis, dan fisik dan model berorientasi objek.
1. Context Diagram
Diagram konteks adalah diagram yang terdiri dari suatu proses dan
menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan
level tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau
output dari sistem. Ia akan memberi gambaran tentang keseluruan sistem.
Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam
41

diagram konteks hanya ada satu proses. Tidak boleh ada store dalam diagram
konteks.

Gambar 4.3 (a) Context Diagram


Dari gambar 4.3 context diagram tersebut terlihat proses masukan dan keluaran
dari aplikasi setting IPVSadm untuk pengguna user admin. Untuk pengguna
user admin, proses masukan yang dapat dilakukan yaitu data ip dan port
virtual server, data ip dan port real web server dan beban server, password
user admin untuk login. Sedangkan proses keluaran yang diterima oleh user
admin yaitu info daftar data virtual server dan real web server, hak akses user
admin untuk login.
Untuk IPVSadm, proses masukan yang dapat dilakukan yaitu data virtual
server dan real web server. Sedangkan proses keluaran yang diterima oleh
aplikasi setting IPVSadm yaitu info daftar data virtual server, real web server
dan hasil grafik dari koneksi yang terjadi ke setiap real web server dan log port
koneksi asal (client) ke port koneksi tujuan (real web server) yang ada.
2. DFD Level 1
Diagram level 0 akan didekomposisi menjadi beberapa sub proses diagram
level selanjutnya yang dinamakan diagram level 1. Terdapat beberapa sub
proses pada diagram flow selanjutnya antara lain Kelola Data user, Setting
Aturan, dan Laporan koneksi beberapa real web server. Terdapat satu data
store yaitu password user. Gambar 4.3.1 adalah data flow diagram level 1.
DFD level ini merupakan proses selanjutnya dari context diagram, dalam level
ini data dijelaskan lebih rinci lagi, DFD level 1 pada sistem ini dapat di lihat
pada gambar dibawah ini :
42

Gambar 4.3.1 (a2) DFD Level 1

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

Gambar 4.3.2 (a3) DFD Level 2


Pada Gambar 4.3.2 di atas menunjukkan sub proses kelola data virtual server
dan real web server pada level 2 yang akan didekomposisi menjadi 8 proses.
Prosesnya yaitu insert, edit, delete dan lihat daftar data virtual server dan real
web server.
44

4.2.2 Rancangan Antarmuka Program


Perancangan input/output untuk interaksi user dan sistem dilakukan pada tahap
ini, desain antarmuka ini dibuat dengan menggunakan evolus pencil sebuah perangkat
lunak yang khusus digunakan untuk membuat rancangan antar muka. Berdasarkan dari
analisa sistem yang sudah dilakukan maka tampilan antar muka yang dibuat adalah
sebagai berikut :
1. Halaman Login Administrator

Username

Password

Log in

Gambar 4.4 Antarmuka tampilan login


Pada Gambar 4.4 adalah rancangan antarmuka login yang terdiri dari input
username dan password. Pengguna aktif harus administrator yang mempunyai hak
akses root dalam linux, kemudian akan masuk ke halaman utama setting LVS.

2. Halaman Setting Utama konfigurasi

Setting Virtual Server

Setting Real Web Server

Monitoring Connection Linux Virtual Server,


grafik bar, log port asal dan tujuan

Gambar 4.5 Antarmuka tampilan Setting Linux Virtual Server


45

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.

3. Halaman Edit Password Administrator

Username : admin

Old Password

New Password

Confirm
Password
New Password

Gambar 4.6 Antarmuka tampilan penggantian password admin


Pada Gambar 4.6 adalah rancangan antarmuka tampilan penggantian password
admin yang terdiri dari input Old password, New Password dan Confirm password.
Pengguna administrator yaitu admin saja, kemudian dapat melakukan penggantian
password lama ke password baru.

4.2.3 Topologi Jaringan LVS


Topologi jaringan Linux Virtual Server (LVS) dengan metode Direct Routing ini
terdiri dari tiga komponen utama yang saling berhubungan, yaitu ipvsadm, httpd (web
server), BIND (DNS server) dan membutuhkan 12 perangkat komputer sebagai server
dan client. Adapun 11 server ini terdiri dari satu komputer server sebagai PC LVS
router untuk memeratakan beban koneksi ke real web server, dan 10 komputer web
46

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

Gambar 4.7 Proses jalannya paket pada LVS Direct Routing


47

LVS CIP 192.168.1.101


DIP 192.168.1.254
VIP 192.168.1.250

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

Real Web Sever 9 Real Web Sever 10


RIP 192.168.1.19 RIP 192.168.1.20
VIP 192.168.1.250 VIP 192.168.1.250

Gambar 4.8 Topologi jaringan LVS Direct Routing

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.

4.3 Spesifikasi Sistem


Hasil analisis kebutuhan dan perancangan perangkat lunak menjadi acuan untuk
melakukan implementasi menjadi sistem yang dapat berfungsi sesuai dengan
kebutuhan.

4.3.1 Spesifikasi Perangkat Keras


Kebutuhan hardware dalam pembuatan sistem LVS menggunakan metode
Direct routing adalah :
a. 10 buah komputer dengan spesifikasi sama dengan fungsi sebagai real web
server dengan beberapa spesifikasi pada tabel 4.1 berikut.
49

Table 4.1 Spesifikasi Real Web Server

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

4.3.2 Spesifikasi Perangkat Lunak


Kebutuhan software dalam pembuatan system LVS menggunakan metode Direct
routing adalah :

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

b. Real Web Server


1) Sistem Operasi Linux CentOS 6.5
2) Httpd 2.2.3
3) File Demo Website
51

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.

5.1 Batasan-batasan Implementasi


Beberapa batasan dalam mengimplementasikan Sistem Aplikasi Load Balancing
Web Server Berdasarkan IPVSadm adalah sebagai berikut :
1. Masukan yang diterima oleh sistem aplikasi adalah berupa data ip address, port
dan beban yang diisikan oleh pengguna.
2. Keluaran yang diterima oleh admin berupa hasil konfigurasi IPVSadm, Log
koneksi real web server berupa grafik bar, dan log port asal (client) dan port
tujuan (real web server).
3. Aplikasi yang digunakan berbasis web dengan basis data penyimpanan
menggunakan file txt untuk menyimpan password admin yang sudah terenkripsi
ke md5.
4. Metode yang digunakan yaitu Direct Routing dengan penjadwalan wlc .
5. Sistem ini hanya digunakan oleh administrator jaringan saja yang memiliki hak
root akses penuh di server linux dan ingin melakukan setting terhadap load
balancing dengan IPVSadm.
6. Sistem ini dapat melakukan penambahan dan perubahan konfigurasi IPVSadm.
7. Konfigurasi hanya dijalankan untuk satu virtual server di dalam server load
balancing.
8. Konfigurasi dijalankan ke 10 real web server yang ada dengan satu server load
balancing, dimana web server tidak dapat diakses langsung dari client untuk
layanan web service http port 80.
9. Menggunakan Tool DoSHTTP untuk dapat menghasilkan proses request dari
client secara beruntun dalam satu waktu terhapat layanan web service yang
tersedia di web server yang ada.

51
52

5.2 Implementasi Sistem Aplikasi Load Balancing Web Server Berdasarkan


IPVSadm

Hasil perancangan sistem aplikasi load balancing IPVSadm yang telah


diuraikan pada Bab 4 menjadi acuan untuk melakukan implementasi bagian sistem.
Bagian sistem yang diimplementasikan yaitu implementasi basis pengetahuan,
implementasi mesin inferensi dan implementasi antarmuka aplikasi.

5.2.1 Implementasi Basis Pengetahuan


Pada pembahasan implementasi basis pengetahuan ini terdiri dari 2 bagian, yaitu
implementasi basis data dan implementasi aturan
5.2.1.1 Implementasi Data
Implementasi penyimpanan data dilakukan hanya untuk password admin yang
disediakan dari hasil enkripsi md5 dari password admin yang merupakan password
default admin. Dimana hasil enkripsi md5 dari password admin akan digunakan
sebagai acuan awal login dalam mengakses konfigurasi IPVSadm via web interface.
Berikut hasil md5 dari admin yaitu :

Gambar 5.1 Enkripsi password MD5 di file pwd.txt


Dimana password md5 dari admin akan disimpan dalam file pwd.txt. hasil password
kata “admin” yang telah dienkripsi ke md5 yaitu
21232f297a57a5a743894a0e4a801fc3.
5.2.1.2 Implementasi Aturan
Implementasi aturan konfigurasi dilakukan secara script perintah IPVSadm yang
langsung di eksekusi dalam web yang berjalan di server load balancing. Berikut hasil
konfigurasi aturan yang masuk ke tabel IPVSadm di halaman web.
53

Gambar 5.2 Tampilan tabel aturan IPVSadm

5.2.2 Implementasi Mesin Inferensi


Bahasa pemrogaman php sendiri digunakan untuk memproses beberapa
algoritma untuk IPVSadm.
5.2.2.1 Algoritma Konfigurasi LVS
Implementasi algoritma konfigurasi dari aplilaksi IPVSadm via web akan
digunakan untuk melakukan konfigurasi tabel IPVSadm
5.2.2.1.1 Algoritma Konfigurasi Virtual Server
Sistem algoritma untuk konfigurasi dari tool IPVSadm yang menyimpan tabel
konfigurasi virtual server sebagai berikut.
1. Tambah virtual server

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. ?>

Gambar. 5.3 Potongan Source code Implementasi tambah virtual server


Penjelasan Gambar 5.3 implementasi algoritma tambah virtual server, yaitu :
1) Baris 1 adalah tanda skrip awal untuk membuat bahasa web PHP.
54

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.

2. Hapus virtual server

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. ?>

Gambar. 5.4 Potongan Source code Implementasi hapus virtual server


Penjelasan Gambar 5.4 implementasi algoritma hapus virtual 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
del_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.
55

5) Baris 6 adalah deklarasi variabel yang menyimpan eksekusi perintah shell


command linux untuk menghapus virtual server di 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.

3. Edit virtual server

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. ?>

Gambar. 5.5 Potongan Source code Implementasi edit virtual server


Penjelasan Gambar 5.5 implementasi algoritma edit virtual 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
edit_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-6 adalah deklasi variabel untuk menerima variabel edit ip virtual dan
port virtual server yang dikirimkan form.
5) Baris 7 adalah menggabungkan variabel ip virtual dan port virtual dalam
satu variabel.
6) Baris 8 adalah menggabungkan variabel edit ip virtual dan port virtual
dalam satu variabel.
56

7) Baris 9 adalah deklarasi variabel yang menyimpan eksekusi perintah shell


command linux untuk hapus virtual server ke dalam tabel IPVSadm dengan
mengabungkan variabel di baris 7.
8) Baris 10 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk menambahkan virtual server di dalam tabel IPVSadm
dengan mengabungkan variabel di baris 8.
9) Baris 11 adalah untuk mengeksekusi perintah yang dideklarasikan ke dalam
variabel di baris 9.
10) Baris 12 adalah untuk mengeksekusi perintah yang dideklarasikan ke dalam
variabel di baris 10.
11) Baris 13 adalah tanda skrip akhir untuk membuat bahasa web PHP.

5.2.2.1.2 Algoritma Konfigurasi Real Web Server


Sistem algoritma untuk konfigurasi dari aplikasi IPVSadm yang menyimpan
table konfigurasi real web server.
1. Tambah real server

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.

2. Hapus real server

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. ?>

Gambar. 5.7 Potongan Source code Implementasi hapus real server


Penjelasan Gambar 5.7 implementasi algoritma hapus 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
del_real ditekan untuk menerima data real server yang dikirim melalui
variabel $_POST dari form.
58

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.

3. Edit real server

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. ?>

Gambar. 5.8 Potongan Source code Implementasi edit real server


59

Penjelasan Gambar 5.8 implementasi algoritma edit 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
edit_real ditekan untuk menerima data real server yang dikirim melalui
variabel $_POST dari form.
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-8 adalah deklasi variabel untuk menerima variabel ip real server dan
beban real server yang dikirimkan form.
6) Baris 9 adalah menggabungkan variabel edit ip real server dan port virtual
server dalam satu variabel.
7) Baris 10 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk hapus real server di dalam tabel IPVSadm dengan
mengabungkan variabel di baris 5 dan baris 9.
8) Baris 12 adalah deklasi variabel untuk menerima variabel edit ip real server
yang dikirimkan form.
9) Baris 13 adalah menggabungkan variabel edit ip real server dan port virtual
server dalam satu variabel.
10) Baris 14 adalah deklarasi variabel yang menyimpan eksekusi perintah shell
command linux untuk tambah real server di dalam tabel IPVSadm dengan
mengabungkan variabel di baris 5, 8 dan 13, serta menggabungkan varabel
beban pada baris 8.
11) Baris 15 adalah untuk mengeksekusi perintah yang didklarasikan ke dalam
variabel di baris 10.
12) Baris 16 adalah untuk mengeksekusi perintah yang didklarasikan ke dalam
variabel di baris 14.
13) Baris 18 adalah tanda skrip akhir untuk membuat bahasa web PHP.

5.2.2.2 Monitoring
Implementasi algoritma monitoring dari aplilaksi IPVSadm via web akan
digunakan untuk menampilkan table IPVSadm.
60

5.2.2.2.1 Algoritma Monitoring Konfigurasi IPVSadm


Sistem algoritma untuk monitoring konfigurasi dari aplikasi IPVSadm yang
menyimpan table konfigurasi virtual server dan real web server.

1. <textarea name="logkoneksi" cols="75" rows="15"


disabled readonly="readonly" id="logkoneksi">
2. <?php
3. echo shell_exec("sudo ipvsadm -Ln");
4. ?>
5. </textarea>

Gambar. 5.9 Potongan Source code Implementasi monitoring konfigurasi IPVSadm


Penjelasan Gambar 5.9 implementasi monitoring konfigurasi IPVSadm, yaitu :
1) Baris 1 adalah inisialisasi awal text area untuk menampilkan log konfigurasi
dari IPVSadm nantinya, dengan salah satu parameter read only.
2) Baris 2 adalah tanda skrip awal untuk membuat bahasa web PHP.
3) Baris 3 adalah deklarasi eksekusi perintah shell command linux untuk
menampilkan log IPVSadm dalam bentuk echo.
4) Baris 4 adalah tanda skrip awal untuk membuat bahasa web PHP.
5) Baris 5 adalah inisialisasi akhir text area.

5.2.2.2.2 Grafik Koneksi Real Web Server


Sistem algoritma untuk grafik koneksi real web server dari aplikasi IPVSadm
yang menyimpan log koneksi virtual server dan real web server. Dengan
menggunakan Java Script dari Highchart yang telah di konfigurasi sedemikian rupa
agar sesuai dengan kebutuhan yang diinginkan.
1. <?php
2. $spasi22='" "';
3. $y=shell_exec("sudo ipvsadm -Ln | grep Route |
wc -l"); //itung baris
4.
5.
6. $x=1; //Nilai Variable
7. while ($x<=$y){ //ip
8. $iki=shell_exec("sudo ipvsadm -Ln | grep
Route | cut -d".$spasi22." -f36 | head -$x | tail -n
+$x");
61

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

19) Baris 28 adalah inisialisasi sumbu x dengan inisialisasi kategori di sumbu x


20) Baris 29 adalah inisialisasi sumbu y dengan inisialisasi judul sumbu y
21) Baris 30 adalah deklarasi untuk keterangan koneksi grafik.
22) Baris 31 adalah inisialisasi opsional plot grafik.
23) Baris 32 adalah deklarasi tipe series yang menonaktifkan animasi grafik.
24) Baris 35 adalah deklarasi php untuk mambaca array nama (IP Address) dan
data (koneksi) dari fungsi perulangan foreach.
25) Baris 36-37 adalah fungsi untuk menampilakn array yang menampung
variabel IP address dan jumlah koneksi.
26) Baris 39 adalah batas deklarasi php untuk fungsi perulangan foreach.
27) Baris 43 adalah akhir inisialisasi highchart.
28) Baris 45 adalah deklarasi pemanggilan javascript histogram untuk
menampilan hasil grafik.
64

5.2.2.3 Autentifikasi User


Implementasi algoritma login admin untuk masuk ke aplikasi dan ganti
password untuk validasi akses ke aplikasi.
5.2.2.3.1 Login Admin
Berikut potongan source code PHP proses login untuk memvalidasi user admin
sebagai akses admnistrator aplikasi.

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>

Gambar 5.11 Potongan source code halaman login


65

Penjelasan Gambar 5.11 implementasi proses login, yaitu :


1. Baris 1 adalah tanda skrip awal bahasa javascript yang di dalamnya terdapat
fungsi validasi input login admin dan password bila kosong atau belum
terisi.
2. Baris 2 adalah pembuatan fungsi validasi untuk form1 di mana terdapat
variabel input user name dan password.
3. Baris 3 adalah berlakunya pengecekan input user name login jika kosong
maka akan muncul peringatan.
4. Baris 4 adalah kata peringatan yang akan muncul bila login belum diisi atau
kosong.
5. Baris 5 adalah fungsi untuk mengarahkan kursor input kembali ke kotak
input login bila belum terisi.
6. Baris 6 adalah proses pengembalian nilai false ke form.
7. Baris 7 adalah berlakunya pengecekan input password jika kosong maka
akan muncul peringatan.
8. Baris 8 adalah kata peringatan yang akan muncul bila password belum diisi
atau kosong.
9. Baris 9 adalah fungsi untuk mengarahkan kursor input kembali ke kotak
input password bila belum terisi.
10. Baris 10 adalah proses pengembalian nilai false ke form.
11. Baris 11 adalah tanda skrip akhir javascript.
12. Baris 13 adalah inisialisasi pembuatan form1. Pengaktifan method post
untuk mengirim data. Pengaktifan action ke halaman cek password.
Pengaktifan onSubmit untuk proses cek validasi input user name dan
password. Serta action pemanggilan file chechpwd.php.
13. Baris 23 adalah inisialisasi user name bertipe text.
14. Baris 26 adalah inisialisasi password bertipe password.
15. Baris 29 adalah inisialisasi tombol submit untuk proses baca input dalam
form1.
16. Baris 31 adalah inisialisasi tanda akhir dari 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.

5.2.2.3.2 Ganti Password Admin


Berikut potongan source code PHP proses ganti password sebagai akses
admnistrator aplikasi.
67

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>&nbsp;</td>
38. <td><div align="center">
39. <input type="submit" name="submit" id="submit"
value="New Password">
40. </div></td></tr></table></form>

Gambar 5.13 Potongan source code halaman ganti password


68

Penjelasan Gambar 5.13 implementasi proses ganti password, yaitu :


1. Baris 1 adalah tanda skrip awal bahasa javascript yang di dalamnya terdapat
fungsi validasi input password baru dan konfirmasi password baru yang
terisi.
2. Baris 2 adalah pembuatan fungsi validasi untuk form1 di mana terdapat
variabel input new password dan confirm password.
3. Baris 3 adalah berlakunya pengecekan input new password jika kosong.
4. Baris 4 adalah kata peringatan yang akan muncul bila new password belum
diisi atau kosong.
5. Baris 5 adalah fungsi untuk mengarahkan kursor input kembali ke kotak
input new password bila belum terisi.
6. Baris 6 adalah proses pengembalian nilai false ke form.
7. Baris 8 adalah berlakunya pengecekan input comfirm password jika kosong.
8. Baris 9 adalah kata peringatan yang akan muncul bila confirm password
belum diisi atau kosong.
9. Baris 10 adalah fungsi untuk mengarahkan kursor input kembali ke kotak
input confirm password bila belum terisi.
10. Baris 11 adalah proses pengembalian nilai false ke form.
11. Baris 16 adalah inisialisasi pembuatan form1. Pengaktifan method post
untuk mengirim data. Pengaktifan action ke halaman save password.
Pengaktifan onSubmit untuk proses cek validasi input password baru dan
konfirm password. Serta action pemanggilan file savepwd.php.
12. Baris 28 adalah inisialisasi old password bertipe password.
13. Baris 34 adalah inisialisasi new password bertipe password.
14. Baris 39 adalah inisialisasi confirm password bertipe password.
15. Baris 40 adalah inisialisasi tanda akhir dari form.
69

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 5.14 Potongan source code halaman proses save password


Penjelasan Gambar 5.14 implementasi proses save password, yaitu :
1. Baris 1 adalah tanda skrip awal untuk membuat bahasa web PHP.
2. Baris 2-4 adalah inisialisasi penerimaan variabel old, new, dan comfirm
password yang dikirim melalui fungsi POST.
70

3. Baris 6 adalah inisialisasi konversi variabel password ke enkripsi md5.


4. Baris 7 adalah inisialisasi nama file yang menyimpan enkripsi admin md5,
yang merupakan default untuk menyimpan enkripsi password untuk
administrator web.
5. Baris 9 adalah inisialisasi untuk mengakses file pwd.txt dengan mode baca.
6. Baris 10 adalah inisialisasi baca isi file pwd.txt.
7. Baris 12 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 dilakukan pengecekan tahapan berikutnya.
8. Baris 13 adalah proses cek input new password dan konfirm password, maka
bila sama maka akan dilakukan proses penggantian password ke yang baru
di tahapan proses perintah berikutnya.
9. Baris 15 adalah menampilkan tulisan peringatan jika new password dan
confirm password sama.
10. Baris 16 adalah proses variabel confirm password dari input variabel di baris
6 dikonversikan ke enkripsi md5.
11. Baris 19 adalah inisialisasi nama file yang menyimpan enkripsi admin md5.
12. Baris 20 adalah proses membuka isi file pwd.txt dengan mode write.
13. Baris 21 adalah menampung hasil enkripsi konfirm password di variabel
stringdata.
14. Baris 22 adalah proses tulis password ke file pwd.txt dengan password baru.
15. Baris 23 adalah proses penutupan file pwd.txt setelah dilakukan penulisan
data password baru.
16. Baris 25 adalah menampilakan tulisan pada halaman dengan info password
sudah pergantian password.
17. Baris 27-28 adalah inisialisasi jika input new password dan konfirm
password berbeda maka ada peringatan tidak sama dan menampilkan
peringatan kesalahan.
18. Baris 29 adalah proses penutupan pembacana file pwd.txt.
19. Baris 32 adalah inisialisasi jika input baru password salah.
20. Baris 33 adalah menampilkan peringatan password sekarang tidak sama
dengan input.
21. Baris 34 adalah tanda skrip akhir untuk membuat bahasa web PHP.
71

5.2.3 Implementasi Antarmuka Aplikasi


Antarmuka Aplikasi Sistem aplikasi Load Balancing web server berbasis web
ini digunakan oleh administrator untuk berinteraksi dengan sistem perangkat lunak
tool IPVSadm dalam server load balancing.
5.2.3.1 Tampilan Halaman Login
Halaman login merupakan halaman awal aplikasi saat pengguna administrator
kali membuka load balancing web server. Pada halaman login, admin dapat memulai
login dengan memasukkan username dan password pada textbox yang tersedia.
Seperti Pada Gambar 5.15 berikut ini.

Gambar 5.15 Tampilan login awal halaman aplikasi


Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.3.1 Login
admin.
5.2.3.2 Tampilan Admin
halaman admin merupakan halaman utama langsung yang menyajikan
konfigurasi load balancing metode direct routing.
5.2.3.2.1 Konfigurasi Virtual Server
Pada konfigurasi akan diberikan tampilan untuk memasukkan data virtual
server, berikut gambar menunya.
72

Gambar 5.16 Tampilan menu konvigurasi virtual server


Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.1.1
Algoritma Konfigurasi Virtual Server.

5.2.3.2.2 Konfigurasi Real Web Server


pada konfigurasi akan diberikan tampilan untuk memasukkan data real web
server, berikut gambar menunya.

Gambar 5.17 Tampilan menu konfigurasi real web server

Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.1.2
Algoritma Konfigurasi Real Web Server Server.

5.2.3.2.3 Tampilan Monitoring


Halaman monitoring menyajikan hasil konfigurasi load balancing dan grafik
koneksi ke real web server.
1. Hasil Konfigurasi Load Balancing
Akan ditampilkan informasi hasil konfigurasi dari virtual server dan real web
server yang ada seperti gambar berikut.
73

Gambar 5.18 Tampilan monitoring config load balancing web server


Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.2.1
Algoritma Monitoring Konfigurasi IPVSadm.
2. Grafik Koneksi Real Web Server
Akan ditampilkan informasi hasil konfigurasi dari real web server yang ada
seperti gambar berikut.

Gambar 5.19 Tampilan grafik koneksi real web server


Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.2.2 Grafik
Koneksi Real Web Server.

5.2.3.3 Tampilan New Password


Akan menampilkan halaman untuk mengganti password administrator,
seperti gambar berikut.
74

Gambar 5.20 Tampilan menu konfigurasi ganti password admin


Gambar di atas merupakan hasil dari koding php dari subbab 5.2.2.3.2 Ganti
Password Admin.

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.21 Tampilan perintah membuat direktori pada LVS


Membuka file Setting repo local, seperti yang ditunjukkan pada gambar 5.22
berikut.

Gambar 5.22 Tampilan perintah membuka file repo pada LVS

Edit file CentOS-Media.repo menjadi seperti berikut.

Gambar 5.23 Tampilan file konfigurasi repo local pada LVS


Tanda #(pagar) depan menandakan komentar dan perintah setelah tanda pagar
ini tidak akan di eksekusi. Setelah di edit seperti di atas maka simpan dan ke luar
dari editor vi dengan cara tekan tombol [Esc] dan ketik :wq . Perintah ini akan
melakukan write ke file dan quit dari editor vi.
Lanjutkan dengan edit file CentOS-Base.repo seperti yang ditunjukkan pada
gambar 5.24 berikut.

Gambar 5.24 Tampilan perintah membuka file mirror repo local pada LVS
76

Kemudian lakukan edit dengan menambahkan perintah enabled=0 untuk


menonaktifkan semua mirror paket CentOS yang dituju setelah perintah
gpgcheck=1, seperti yang ditunjukkan pada gambar 5.25 berikut.

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.26 Tampilan perintah update repo local pada LVS

Jika perintah di atas menghasilkan keterangan seperti ditunjukkan gambar di atas


maka proses paket repo local telah berjalan dengan baik.

2. Setting IP Address dan Gateway


Terdapat satu NIC yang terpasang pada LVS yang dideteksi oleh linux
sebagai eth0. untuk melakukan Setting alamat IP eth0 lakukan dengan cara
merubah parameter ifcfg-eth0 seperti berikut.
Untuk eth0 yang akan digunakan ke jaringan client dan LVS, maka setting network
seperti yang ditunjukkan pada gambar 5.27 berikut.

Gambar 5.27 Tampilan perintah konfigurasi device eth0 pada LVS


Kemudian tambahkan beberapa baris perintah seperti yang ditunjukkan pada
gambar 5.28 berikut.

Gambar 5.28 Tampilan file konfigurasi device eth0 pada LVS


78

Untuk koneksi Virtual IP Address (VIP) untuk mendukung pengoperasian sistem


LVS maka akan dibuat alias IP address dari eth0 dengan cara seperti yang
ditunjukkan pada gambar 5.29 berikut.

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.

Gambar 5.31 Tampilan perintah restart service network pada LVS


Jika perintah di atas menghasilkan keterangan seperti ditunjukkan gambar di atas
maka proses setting network telah berjalan dengan baik.
79

3. Tes koneksi Network


Setelah satu NIC mendapat alamat IP dan gateway, untuk melihat konfigurasi
yang telah dibuat dapat dilakukan dengan cara mengetikkan perintah ifconfig -a
seperti yang ditunjukkan pada gambar 5.32 berikut.

Gambar 5.32 Hasil keluaran perintah ifconfig –a pada LVS


Untuk melihat apakah setting network pada server telah berfungsi dengan baik
dapat dilakukan dengan cara melakukan PING seperti yang ditunjukkan pada
gambar 5.33 berikut.

Gambar 5.33 Hasil keluaran perintah ping pada LVS


80

Jika perintah di atas menghasilkan keterangan seperti ditunjukkan gambar di atas


maka network telah berjalan dengan baik.

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.

Gambar 5.34 Tampilan perintah konfigurasi file sysctl pada LVS


Kemudian set parameter “net.ipv4.ip_forward=1”
Simpan dan keluar dari editor.

Gambar 5.35 Tampilan file konfigurasi sysctl pada LVS


Kemudian lakukan tes setting dengan menjalankan perintah sysctl –p seperti
yang ditunjukkan pada gambar 5.36 berikut.

Gambar 5.36 Hasil keluaran perintah sysctl pada LVS


81

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.

Gambar 5.37 Tampilan perintah iptables pada LVS

Untuk melihat hasilnya dapat menjalankan perintah berikut.

Gambar 5.38 Hasil keluaran perintah iptables nat pada LVS

6. Konfigurasi hostname dan resolv


Untuk memberi nama host pada LVS dapat dilakukan dengan cara seperti
yang ditunjukkan pada gambar 5.39 berikut.

Gambar 5.39 Tampilan perintah konfigurasi file network pada LVS

Kemudian edit parameter “HOSTNAME=lvs.site.net”


Simpan dan keluar dari editor.
82

Gambar 5.40 Tampilan file konfigurasi network pada LVS


Kemudian lakukan tes setting dengan menjalankan perintah uname –a. Bila
konfigurasi belum berubah lakukan restart server (init 6) seperti yang ditunjukkan
pada gambar 5.41 berikut.
.

Gambar 5.41 Hasil keluaran perintah uname pada LVS


Untuk memberi tahu resolver bahwa akan membuat server DNS site.net maka edit
file resolv.conf dengan cara seperti yang ditunjukkan pada gambar 5.42 berikut.

Gambar 5.42 Tampilan perintah konfigurasi file resolv pada LVS


Kemudian tambahkan seperti yang ditunjukkan pada gambar 5.43 berikut.

Gambar 5.43 Tampilan file konfigurasi resolv pada LVS

7. Instalasi ipvsadm
Proses instalasi ipvsadm dapat dilakukan seperti yang ditunjukkan pada
gambar 5.44-5.45 berikut.

Gambar 5.44 Tampilan perintah instalasi ipvsadm pada LVS


83

Gambar 5.45 Tampilan keluaran perintah instalasi ipvsadm pada LVS

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.

Gambar 5.46 Tampilan perintah untuk menjalankan ipvsadm


84

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.

Gambar 5.49 Tampilan keluaran perintah ipvsadm pada LVS


85

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.

Gambar 5.50 Tampilan keluaran perintah instalasi BIND pada LVS


86

10. Konfigurasi BIND


Agar server dapat digunakan sebagai DNS server sekaligus maka ada
beberapa file yang harus di edit. Lakukan cara seperti yang ditunjukkan pada
gambar 5.51 berikut.
Edit file named dari BIND.

Gambar 5.51 Tampilan perintah konfigurasi file named pada LVS


Edit file named.conf menjadi seperti yang ditunjukkan pada gambar 5.52 berikut.

Gambar 5.52 Tampilan file konfigurasi named pada LVS


87

kemudian buat file site.net.db dengan cara seperti yang ditunjukkan pada gambar
5.53 berikut.

Gambar 5.53 Tampilan perintah membuat file site.net.db pada LVS

Kemudian isi file seperti yang ditunjukkan pada gambar 5.54 berikut.

Gambar 5.54 Tampilan file konfigurasi site.net.db pada LVS

kemudian buat file situs.net.db dengan cara seperti yang ditunjukkan pada gambar
5.55 berikut.

Gambar 5.55 Tampilan perintah membuat file situs.net.db pada LVS

Kemudian isi file seperti yang ditunjukkan pada gambar 5.56 berikut.
88

Gambar 5.56 Tampilan file konfigurasi situs.net.db pada LVS

kemudian buat file 1.168.192.db dengan cara berikut.

Gambar 5.57 Tampilan perintah membuat file 10.168.192.db pada LVS

Kemudian isi file seperti yang ditunjukkan pada gambar 5.58 berikut.

Gambar 5.58 Tampilan file konfigurasi 10.168.192.db pada LVS


89

11. Tes konfigurasi BIND


Untuk melakukan pengujian apakah DNS sudah bisa berjalan dengan baik
lakukan jalankan perintah dig seperti yang ditunjukkan pada gambar 5.59 berikut.

Gambar 5.59 Tampilan perintah untuk menjalankan BIND

Gambar 5.60 Tampilan keluaran perintah dig pada LVS


Test ping ke www.site.net seperti yang ditunjukkan pada gambar 5.61 berikut.

Gambar 5.61 Tampilan keluaran perintah ping pada LVS


90

12. Setting visudo


Berikut untuk membuka ijin untuk melakukan eksekusi perintah shell linux
dari client dengan web base aplikasi dilakukan setting di file sistem linux yaitu
visudo. Lakukan langkah seperti yang ditunjukkan di gambar 5.62 Berikut.

Gambar 5.62 Tampilan perintah untuk edit visudo


Edit salah satu parameter di dalamnya seperti yang di tampilkan pada gambar 5.63
seperti berikut.

Gambar 5.63 Tampilan perintah parameter visudo yang di edit


Tambah salah satu parameter di dalamnya seperti yang di tampilkan pada gambar
5.64 seperti berikut.

Gambar 5.64 Tampilan penambahan parameter visudo untuk apache


Setelah selesai maka simpan dan keluar dari editor vim.
91

13. Konfigurasi FTP server


Konfigurasi FTP server dalam LVS untuk upload file aplikasi web base Load
balancing. Sebelumnya pastikan packed FTP server terpasang dan berjalan dengan
baik dalam LVS. Langkah install menggunakan perintah berikut.

Gambar 5.65 Perintah install paket vsftpd


Setelah selesai dengan baik dilakuakan beberapa konfigurasi seperti berikut.
Edit file konfigurasi di /etc/vsftpd/vsftpd.conf

Gambar 5.66 Tampilan perintah edit file konfigurasi vsftpd


Beberapa baris yang perlu dirubah adalah :
- Baris 15: rubah dari NO menjadi YES
local_enable=YES
- Baris 18
write_enable=YES
- Baris 80 dan 81, hilangkan tanda comment (“#”)
ascii_upload_enable=YES
ascii_download_enable=YES
- Baris 95
chroot_list_enable=YES
- Baris 97, hilangkan tanda comment
chroot_list_file=/etc/vsftpd/chroot_list
- Baris 103
ls_recurse_enable=YES
- Diakhir konfigurasi tambahkan baris berikut.
chroot_local_user=YES
local_root=public_ftp
use_localtime=YES
92

Buatlah file chroot_list, file ini berisi daftar lokal user yang diberi akses login ke
server FTP.

Gambar 5.67 Tampilan Perintah edit file user list ftp


Dalam file tambahkan nama user ftp “fedora”.
Disini kita mendaftarkan username dengan nama “fedora” agar mendapat akses
write ke FTP server. Untuk akses read-only, tidak diperlukan username. Buat
username dan password untuk user “fedora”

Gambar 5.68 Tampilan perintah membuat user fedora


User fedora dan password sudah selesai dibuat.
Masuk ke direktori user fedora dan buatlah folder public_ftp, folder ini akan
digunakan sebagai folder utama untuk username fedora yang login via FTP.
Berikut langkahnya.

Gambar 5.69 Tampilan perintah membuat direktori public_ftp


chmod dan chown folder public_ftp agar user fedora mendapat akses write.

Gambar 5.70 Tampilan perintah chmod dan chown untuk folder public_ftp
93

Jalankan service FTP.


[root@server fedora]# service vsftpd start

Gambar 5.71 Tampilan perintah memulai service ftp


Sampai disini langkah konfigurasi FTP server dan siap digunakan dengan aplikasi
FTP client.
14. Script monitoring
Disini dibuat suatu script shell untuk memantau keberadaan real server.

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

2. Baris 2 adalah perintah untuk memperoleh IP address virtual server yang


sedang digunakan, yang akan disimpan pada variabel LVS.
3. Baris 3 adalah inisialisasi spasi dalam variabel spasi1.
4. Baris 4 adalah perintah untuk memperoleh jumlah real server yang digunakan.
5. Baris 5 adalah inisialisasi variabel COUNT sama dengan satu.
6. Baris 6 adalah inisialisasi variabel i sama dengan satu.
7. Baris 7 adalah inisialisasi perulangan untuk melakukan perintah berulang kali
berdasarkan nilai awal i sampai sejumlah real server yang ada.
8. Baris 8 adalah deklarasi awal untuk perulangan while yang dilakukan dibaris 7.
9. Baris 9 adalah perintah untuk memperoleh IP address real server yang ada,
yang akan disimpan pada variabel cari_ip.
10. Baris 10 adalah perintah untuk memperoleh nilai beban real server yang ada,
yang akan disimpan pada variabel beban.
11. Baris 11 adalah perintah untuk melakukan ping ke real server yang ada dan
hasil received yang diterima akan disimpan ke variabel count.
12. Baris 12 adalah inisialisasi kondisi untuk variabel count di baris 11, bila berisi
nilai 0 maka real server sedang offline
13. Baris 13 adalah perintah untuk menghapus real server dari konfigurasi tabel
IPVSadm dengan parameter input variabel LVS dan cari_ip.
14. Baris 14 adalah inisialisasi kondisi bila variabel count berisi nilai selain 0
maka real server sedang online.
15. Baris 15 adalah perintah pengecekan kondisi terhadap service web yang
berjalan pada real server.
16. Baris 16 adalah perintah untuk menambahkan real server ke tabel IPVSadm
dengan parameter variabel LVS, IP address real server dan beban ditentukan.
17. Baris 17 adalah inisialisasi kondisi terakhir terhadap service web yang berjalan
pada real server.
18. Baris 18 adalah perintah untuk menghapus real server dari konfigurasi tabel
IPVSadm dengan parameter input variabel LVS dan cari_ip.
19. Baris 19-20 adalah inisialisasi penutupan perintah kondisi.
20. Baris 21 adalah inisialisasi penambahan nilai variabel i sebanyak satu.
21. Baris 22 adalah inisialisasi akhir perintah perulangan while.
95

5.3.1.2 Implementasi Real Web Server


Implementasi berikut akan dilakukan beberapa setting terhadap real web server,
berikut langkahnya dan untuk beberapa server lainnya konfigurasinya sama hanya saja
berbeda di IP address yang harus berbeda.
1. Setting Repository Local
Untuk setting repository hampir sama seperti pada server LVS.

2. Setting IP Address dan Gateway


Terdapat satu NIC yang terpasang pada virtual mesin Real Web Server yang
dideteksi oleh linux sebagai eth0. untuk melakukan Setting alamat IP eth0 lakukan
dengan cara merubah parameter ifcfg-eth0 seperti berikut.
Untuk eth0 yang akan digunakan ke jaringan client dan LVS maka setting network
seperti yang ditunjukkan pada gambar 5.73 berikut.

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.

3. Tes koneksi Network


Setelah satu NIC mendapat alamat IP dan gateway, untuk melihat konfigurasi
yang telah dibuat, dapat dilakukan dengan cara mengetikkan perintah ifconfig –a
seperti yang ditunjukkan pada gambar 5.78 berikut.
97

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

Jika perintah di atas menghasilkan keterangan seperti ditunjukkan gambar di atas


maka network telah berjalan dengan baik.

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.

Gambar 5.82 Tampilan perintah edit konfigurasi sysctl


100

Tambah parameter seperti dua baris terakhir berikut.

Gambar 5.83 Tampilan edit file sysctl

Agar load balancing berjalan dengan baik diperlukan penambahan setting


ARP di real web server, dengan Setting interface loopback supaya tidak menjawab
ARP request. Tambahkan perintah arp dengan edit file sysctl linux dengan enam
baris akhir perintah berikut.
101

Gambar 5.84 Tampilan tambahan perintah pada sysctl.conf

Lakukan cek konfigurasi dengan perintah “sysctl -p” pada terminal linux
sehingga hasilnya seperti berikut.

Gambar 5.85 Hasil konfigurasi sysctl


102

7. Salin website demo


Untuk memasukkan semua file website yang sebagai demo pada real web
server dapat dimasukkan langsung ke folder http di /var/www/html/ pada
setiap real web server yang ada. Dalam hal ini media flashdisk dipakai untuk
menyalin ke setiap server. Adapun perintah menyalin seluruh file website caranya
sebagai berikut.
Terlebih dahulu buat folder untuk proses mount dari flashdisk, perintah linux
seperti berikut.

Gambar 5.86 Tampilan perintah membuat folder untuk mount flashdisk


Lalu untuk melihat flashdisk terbaca dengan drive apa dalam linux dengan perintah
berikut.

Gambar 5.87 Tampilan perintah fdisk -l


Dari gambar 5.86 Di atas terlihat flashdisk masuk dengan nama “sdb1” di linux
dari program fdisk.
Menjalankan mount flashdisk dengan perintah berikut.

Gambar 5.88 Tampilan perintah mount flashdisk


103

Berikut lanjutan perintah untuk menyalin file website ke folder http.

Gambar 5.89 Tampilan perintah penyalinan file website ke folder http


Jika semuanya tersalin dengan baik tanpa kesalahan maka dapat diakses langsung
dari client dengan memanggil IP dari salah satu real web server yang ada dalam hal
ini dengan IP 192.168.1.11, hingga akan tampil website yang di salin sebelumnya
ke folder default layanan http.

Gambar 5.90 Tampilan website dari real web server

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

Gambar 5.91 Tampilan tambahan baris filter pada firewall


Lima baris perintah tambahannya yaitu :

-A INPUT -s 192.168.1.250/32 -p tcp -m tcp --dport 80 -j ACCEPT


-A INPUT -s 192.168.1.254/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.1.11/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j DROP

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

5.3.2 Implementasi Aplikasi Ke Server Load Balancing


Implementasi aplikasi Load Balancing web server berdasarkan IPVSadm akan
dijalankan di dalam server LVS dimana terdapat tools IPVSadm.
5.3.2.1 Upload Aplikasi Load Balancing Web Server
Untuk melakukan proses upload aplikasi load balancing web server ke server
LVS menggunakan FTP (file transfer protocol). Semua file pendukung aplikasi di
letakkan ke folder /var/www/html.

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 Tampilan proses perintah copy ke folder root web


106

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

5.3.2.2 Percobaan Akses Aplikasi Load Balancing Web Server


Untuk melakukan akses ke aplikasi load balancing web server berdasarkan
IPVSadm maka ada satu komputer yang terhubung ke jaringan load balancing web
server. Dengan melakukan setting ip address komputer satu subnet dengan server,
seperti berikut.

Gambar 5.94 Setting IP address pada client


Gambar 5.94 Setting ip address di atas sesuai dengan subnet yang digunakan
oleh server dan dipastikan DNS mengarah ke server. Untuk memanggil aplikasi bisa
langsung melalui aplikasi browser yang ada di OS masing-masing komputer gunakan,
seperti berikut hasilnya.
107

Gambar 5.95 Tampilan awal login ke client


Alamat aplikasi di URL http://www.site.net dengan menggunakan user dan password
default yaitu user “admin” dan password “admin”

.
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.

6.1 Pengujian Sistem


Proses pengujian dilakukan dengan pengujian validasi dan pengujian akurasi.
Pengujian validasi dilakukan untuk mengetahui fungsional sistem aplikasi yang dibangun
sudah sesuai dengan daftar kebutuhan yang ada. Pengujian akurasi dilakukan untuk
mengetahui seberapa besar akurasi yang didapat dari penggunaan metode Direct Routing
dalam menyelesaikan masalah trafik koneksi web server. Pengujian web base aplikasi
dilakukan untuk mengetahui apakah konfigurasi ke IPVSadm dapat bekerja sesuai dan
monitoring koneksi web dapat langsung terlihat.

6.1.1 Pengujian Validasi


Pengujian validasi digunakan untuk mengetahui apakah sistem apliaksi yang
dibangun sudah benar sesuai dengan yang dibutuhkan seperti yang dijelaskan pada bab IV.
Pada setiap kebutuhan dilakukan proses pengujian dengan kasus uji masing-masing untuk
mengetahui kesesuaian antara kebutuhan dengan kinerja sistem.
Adapun pengujian validasi sistem aplikasi akan dilakukan beberapa tahapan seperti
dalam tabel berikut.
Tabel 6.1 Pengujian Validasi
Kode Uji
Nama Pengujian Keterangan
Validasi
6.1.1.1 Login input login dari admin sehingga admin
dapat mengakses menu aplikasi load

108
109

balancing web server berdasarkan


IPVSadm
6.1.1.2 Tambah Konfigurasi Virtual input virtual server baru dari admin
Server sehingga admin dapat menambahkannya
ke tabel IPVSadm
6.1.1.3 Hapus Konfigurasi Virtual input hapus virtual server dari admin
Server sehingga admin dapat menghapusnya di
tabel IPVSadm
6.1.1.4 Edit Konfigurasi Virtual input edit virtual server dari admin
Server sehingga admin dapat merubah di tabel
IPVSadm
6.1.1.5 Tambah Konfigurasi Real Web input real server baru dari admin sehingga
Server admin dapat menambahakannya ke tabel
IPVSadm
6.1.1.6 Hapus Konfigurasi Real Web input hapus real server dari admin
Server sehingga admin dapat menghapusnya ke
tabel IPVSadm
6.1.1.7 Edit Konfigurasi Real Web input edit real server dari admin sehingga
Server admin dapat merubahnya di tabel
IPVSadm
6.1.1.8 Hasil Konfigurasi IPVSadm report konfigurasi IPVSadm
6.1.1.9 Hasil Koneksi Real Web grafik koneksi web request ke admin
Server Dengan Grafik 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 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
110

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.
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.

Gambar 6.1 Menu login aplikasi

2. Masukkan user name “admin” (default).


3. Masukkan password “admin”.
4. Dilanjutkan dengan klik “Login”.
5. Jika sukses masuk ke halaman “Control Center on Linux Virtual Server”, lihat
gambar 6.2
111

Gambar 6.2 Halaman konfigurasi IPVSadm

6. Jika terjadi gagal atau kesalahan login akan muncul peringatan seperti gambar
6.3 – 6.4.

Gambar 6.3 Info gagal login


112

Gambar 6.4 Info kesalahan login

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.

6.1.1.2 Tambah Konfigurasi Virtual Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas tambah
konfigurasi virtual server bagi admin, admin harus melakukan prosedur berikut.
1. Pada group menu Virtual Server isikan IP Virtual Server yang ada di server
LVS dan masukkan port web virtual server seperti gambar 6.5 berikut.
113

Gambar 6.5 Input Tambah IP dan Port Virtual Server


2. Dilanjut klik “Add VServer”
3. Jika tidak ada masalah maka konfigurasi akan masuk di tampilan “Monitoring
Config Load Balancing”, seperti gambar 6.6.

Gambar 6.6 Hasil konfigurasi tambah virtual server


Dari prosedur di atas diharapkan sistem dapat menerima input virtual server baru
dari admin sehingga admin dapat menambahkannya ke tabel IPVSadm, maka menu
tambah virtual server status valid.

6.1.1.3 Hapus Konfigurasi Virtual Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas hapus
konfigurasi virtual server bagi admin, admin harus melakukan prosedur berikut.
1. Pada group menu Virtual Server isikan IP Virtual Server yang ada di server
LVS dan masukkan port web virtual server seperti gambar 6.7 berikut.
114

Gambar 6.7 Input Hapus IP dan Port Virtual Server


2. Dilanjut klik “Delete VServer”
3. Jika tidak ada masalah maka konfigurasi akan hilang di tampilan “Monitoring
Config Load Balancing”, seperti gambar 6.8.

Gambar 6.8 Hasil konfigurasi add virtual server

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.

6.1.1.4 Edit Konfigurasi Virtual Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas edit
konfigurasi virtual server bagi admin, admin harus melakukan prosedur berikut.
1. Pada group menu Virtual Server isikan IP Virtual Server yang ada di server
LVS dan masukkan port web virtual server seperti gambar 6.9 berikut.
115

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.

Gambar 6.10 Input Edit IP dan Port Virtual Server baru


3. Dilanjut klik “Edit VServer”
4. Jika tidak ada masalah maka konfigurasi akan terganti di tampilan “Monitoring
Config Load Balancing”, seperti gambar 6.11.

Gambar 6.11 Hasil konfigurasi edit virtual server


116

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.

6.1.1.5 Tambah Konfigurasi Real Web Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas tambah
konfigurasi real web server bagi admin, admin harus melakukan prosedur berikut.
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 isikan IP Real Server yang ada konek server
LVS dan masukkan beban (weight) virtual server seperti gambar 6.12 berikut.

Gambar 6.12 Input Tambah IP dan weight Real Server


3. Dilanjut klik “Add RServer”
4. Jika tidak ada masalah maka konfigurasi akan masuk di tampilan “Monitoring
Config Load Balancing”, seperti gambar 6.13.

Gambar 6.13 Hasil konfigurasi tambah real server


Dari prosedur di atas diharapkan sistem dapat menerima input real server baru dari
admin sehingga admin dapat menambahakannya ke tabel IPVSadm, maka menu tambah
real server status valid.
117

6.1.1.6 Hapus Konfigurasi Real Web Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas hapus
konfigurasi real web server bagi admin, admin harus melakukan prosedur berikut.
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 isikan IP Real Server yang ada konek server
LVS seperti gambar 6.14 berikut.

Gambar 6.14 Input Hapus IP dan Port Real Server


3. Dilanjut klik “Delete RServer”
4. Jika tidak ada masalah maka konfigurasi akan terhapus di tampilan
“Monitoring Config Load Balancing”, seperti gambar 6.15.

Gambar 6.15 Hasil konfigurasi hapus real server

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.

6.1.1.7 Edit Konfigurasi Real Web Server


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas edit
konfigurasi real server bagi admin, admin harus melakukan prosedur berikut.
118

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.

Gambar 6.17 Input Edit IP dan weight Virtual Server baru

4. Dilanjut klik “Edit RServer”


5. Jika tidak ada masalah maka konfigurasi akan terganti di tampilan “Monitoring
Config Load Balancing”, seperti gambar 6.18.
119

Gambar 6.18 Hasil konfigurasi edit virtual server

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.

6.1.1.8 Hasil Konfigurasi IPVSadm


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas hasil
konfigurasi IPVSadm bagi admin, admin hanya melakukan prosedur berikut.
1. Pada bagian bawah halaman menu konfigurasi ada keterangan “Monitoring
Config Load Balancing” seperti gambar 6.19.

Gambar 6.19 Monitoring Config Load Balancing

Dari prosedur di atas diharapkan sistem dapat menampilkan report konfigurasi


IPVSadm, maka menu report konfigurasi IPVSadm status valid.

6.1.1.9 Hasil Koneksi Real Web Server Dengan Grafik


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas tampilan
grafik koneksi real web server bagi admin, admin harus melakukan prosedur berikut.
120

1. Pada bagian bawah halaman menu konfigurasi ada keterangan “Connection


Real Web Server” seperti gambar 6.20.

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.

6.1.1.10 Proses Ganti Password Admin


Untuk menguji validitas kinerja dari sistem dalam menyediakan fasilitas penggantian
password bagi admin, admin harus melakukan prosedur berikut.
1. Unutk melakukan pergantian password admin dapat mengakses menu Pada
halaman konfigurasi pada bagian teratas terdapat link menu “New Password”
untuk mengganti password.
2. Masukkan password yang digunakan login atau password default yaitu
“admin” pada kotak “old password”, lalu dilanjut dengan password baru di
kotak “new password” dan masukkan kembali password baru di kotak
“confirm password”, berikut menu ganti password.
121

Gambar 6.21 Menu ganti password admin


3. Bila password lama dan baru sudah dimasukkan maka untuk melanjut ke
proses pergantian password dapat menekan tombol “new password” agar bisa
langsung di proses.
4. Jika terjadi gagal atau kesalahan pergantian password akan muncul peringatan
seperti gambar 6.22 – 6.23

Gambar 6.22 keterangan kegagalan pergantian password atau salah isikan password

Gambar 6.23 Keterangan pergantian password yang sukses


122

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.

6.1.2 Pengujian Akurasi


Pengujian akurasi dilakukan untuk mengetahui peforma keakurasian dari sistem
apliaksi load balancing wer server berdasarkan IPVSadm dengan memberikan hasil
konfigurasi dari tool IPVSadm yang sesuai. Untuk mempermandingkan nilai akurasinya
dapat dilihat dengan cara membandingkan langsung penyimpanan setting dan report dari
IPVSadm dengan hasil yang tampil di web base aplikasi.

6.1.2.1 Perbandingan Hasil Konfigurasi Perintah Manual Dengan Aplikasi Web


Perbandingan akan dilakukan dengan membandingkan hasil konfigurasi dari aplikasi
web base dengan konfigurasi IPVSadm yang tersimpan di dalam LVS. Berikut adalah
konfigurasi manual dari terminal linux.

Gambar 6.24 Konfigurasi IPVSadm dari terminal linux


Dari gambar 6.24 di atas menunjukan beberapa langkah perintah untuk membuat
virtual server dan real server dari terminal linux, dimana hasilnya dapat dilihat langsung
dengan perintah “ipvsadm -Ln” dan pada aplikasi web juga muncul hasil yang sama
seperti berikut.
123

Gambar 6.25 Hasil konfigurasi IPVSadm di web base

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.

6.1.2.2 Perbandingan Report Koneksi Dengan Grafis


Perbandingan akan dilakukan dengan membandingkan hasil report koneksi dari
aplikasi web base dengan konfigurasi IPVSadm yang dihasilkan di dalam LVS. Berikut di
tampilkan bahwa hasil konfigurasi yang berjalan dengan dua real server terjadi koneksi
masuk dan hasilnya sama dengan hasil koneksi di grafis.

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

Gambar 6.27 Grafik hasil koneksi real server

Berdasarkan gambar 6.27 di atas terlihat bahwa hasil koneksi yang terlihat di
konfigurasi sama dengan hasilnya pada grafis, maka hasilnya valid.

6.1.3 Pengujian Direct Routing


Pengujian web server direct routing bertujuan untuk melihat hasil konfigurasi yang
dilakukan sebelumnya apakah sudah sesuai dengan kinerja yang berjalan melalui akses
situs dari posisi client ke aplikasi load balancing web server berdasarkan IPVSadm.
Pengujian siap dilakukan dengan ketentuan setting jaringan web sserver dan konfigurasi
IPVSadm load balancing web server sesuai dengan ketentuan yang dinginkan dalam
tulisan ini. Pengujian dengan mematikan sementara firewall pada setiap real web server
yang ada guna mencapai akses penuh untuk request layanan web.

6.1.3.1 Uji Koneksi Dari Client Ke Web Server Tunggal


Pengujian akses web server dapat dilakukan secara langsung ke satu web server yang
ada dari client untuk mendapatkan hasil peforma koneksi secara langsung. Berikut hasil
peforma yang diujikan dengan bantuan tool DoShttp yang dapat menghasilkan request
beruntun dalam satu waktu sesuai yang diingin cobakan ke web server.
125

Gambar 6.28 Hasil report koneksi client ke web server tunggal


Dari gambar 6.28 di atas terlihat bahwa dengan mengakses server langsung
mengahsilkan durasi 2 menit 7 detik dengan request 100000 koneksi.

6.1.3.2 Uji Koneksi Dari Client Ke Load Balancer Web Server


Pengujian akses web server dapat dilakukan ke Linux Virtual Server (LVS) yang ada
dari client untuk mendapatkan hasil peforma koneksi. Berikut hasil peforma yang diujikan
dengan bantuan tool http.
126

Gambar 6.29 Hasil report koneksi client ke LVS


Dari gambar 6.29 di atas terlihat bahwa dengan mengakses server dengan load
balancing LVS menghasilkan durasi 56 detik dengan request 100000 koneksi, lebih cepat
dari pada akses langsung ke web server.

6.2 Analisis Pengujian


Proses analisis yang dilakukan memiliki tujuan untuk mendapatkan kesimpulan
dari hasil pengujian sistem Aplikasi Load Balancing Web Server Berdasarkan IPVSadm
berbasis web. Analisis dihasilkan dari pengujian yang telah dilakukan baik pengujian
validasi, akurasi maupun pengujian Direct Routing pada web server yang ada.

6.2.1 Analisis Validasi


Berdasarkan hasil validasi yang dilakukan dengan aplikasi load balancing web
server berdasarkan IPVSadm berbasis web terlihat bahwa semua fasilitas yang dilakukan
berfungsi dengan baik dan valid. Sehingga fungsional sistem aplikasi sudah terpenuhi
127

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.

6.2.2 Analisis Akurasi


Berdasarkan hasil akurasi yang dilakukan dan diisikan oleh admin maka dihasilkan
akurasi yang sesuai masukan dan keluaran yang dapat dilihat langsung melalui tampilan
web base yang disajikan dengan apa yang ada di konfigurasi dan report IPVSadm yang di
dalam server LVS. Dari percobaan akurasi di atas dapat terlihat bahwa konfigurasi
IPVSadm dari terminal linux langsung menghasilkan laporan yang sama baik dalam
konfigurasi virtual server dan real server maupun jumlah koneksi setiap real server.
Berikut hasil akurasi yang didapat dalam tabel keterangan.
Tabel 6.2 Hasil Akurasi

Kode Uji Akurasi Status


Akurasi Akurasi
IPVSadm Web Aplikasi
6.1.2.1 beberapa langkah perintah terlihat hasil konfigurasi yang Sesuai
untuk membuat virtual server terlihat dari terminal linux
dan real server dari terminal dengan hasil tampilan
linux, dimana hasilnya dapat konfigurasi di web base
dilihat langsung dengan aplikasi adalah sama
perintah “ipvsadm -Ln”
6.1.2.2 real server pertama terjadi hasil koneksi yang terlihat di Sesuai
koneksi masuk ke server 35 konfigurasi sama dengan
koneksi dan real server kedua hasilnya pada grafis bar
terjadi koneksi masuk ke server
26 koneksi
Keterangan kolom :
Kode akurasi : Kode akurasi menggunakan subbab di dalam bab 6 ini.
Uji akurasi : ada dua buah uji akurasi yang dilakukan sesuai sub bab di dalam
bab 6 ini, yaitu di tool IPVSadm dan Web Aplikasi yang dijalankan.
130

IPVSadm : pengujian di tool IPVSadm.


Web aplikasi : pengujian di sistem web aplikasi.
Status akurasi : Hasil status pengujian akurasi dari sub bab di dalam bab 6 ini.
Dimana jika hasil di IPVSadm dan Web Aplikasi sama maka status
sesuai.
Dari dua uji yang telah dilakukan pengujian akurasi menunjukkan status akurasi
sama seluruhnya yang menandakan bahwa fungsionalitas sistem web aplikasi dapat
berjalan dengan baik sesuai dengan tool IPVSadm.

6.2.3 Analisis Direct Routing


Berdasarkan hasil Direct Routing web server yang dilakukan dengan uji coba dari
client baik secara langsung web server tunggal maupun dengan melalui LVS didapat hasil
tool DoSHttp yang bisa melakukan request terhadapat service http secara beruntun dalam
satu waktu. Adapun ada beberapa parameter uji yang perlu dilihat dari hasil report tool
DoSHttp yaitu :
1. Durasi (respon time) dalam menyelesaikan request yang dilakukan;
2. Koneksi yang diterima (received) balik oleh client dari request yang dilakukan;
3. Berapa persen request yang hilang (loss) dari request yang dilakukan.
Berikut hasil pengujian yang didapat.
1. Durasi
Hasil pengamatan durasi request antara web server tunggal dengan web server load
balancing dapat dilihat ditabel berikut.
Tabel 6.3 Tabel Durasi request ke web server tunggal dengan load balancing
No Durasi Request (detik)
Request Request Tercepat
Percobaan Tunggal LVS
1 100 0 0 LVS
2 200 0 0 LVS
3 500 0 1 Tunggal
4 600 0 1 Tunggal
5 1000 1 1 LVS
6 1200 2 1 LVS
7 1500 1 2 Tunggal
8 2000 3 3 LVS
9 3000 4 5 Tunggal
10 5000 6 6 LVS
131

Dari tabel di atas menghasilkan grafik berikut.

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

7 1500 989 1022 LVS


8 2000 1322 1496 LVS
9 3000 1998 2182 LVS
10 5000 3723 3841 LVS

Dari tabel di atas menghasilkan grafik berikut.

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

Dari tabel di atas menghasilkan grafik berikut.

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

2. Diharapkan percobaan penjadwalan pada load balancing dapat menggunakan


metode algoritma pembagian beban yang lain seperti Algoritma penjadwalan
yang digunakan dalam teknik load balancing ini yaitu Round Robin (rr),
Weighted Round Robin (wrr), Least Connection (lc), dan lainnya sesuai yang
di dukung tool IPVSadm untuk menghasilkan performansi yang lebih efektif
khususnya dalam melayani request yang lebih banyak
3. Karena Load Balancer ini menggunakan metode Direct Roting alangkah
baiknya digunakan pada jaringan intranet. Dan agar lebih maksimum jaringan
intranet sebaiknya dalam hal bandwidth tidak terbatas, agar proses pengiriman
paket data lebih cepat ke client.
Daftar Pustaka

Bourke, Tony. 2001. Server Load Balancing. USA : O'Reilly


Horman, Simon. 2004. Linux Virtual Server Tutorial. Japan : VA Linux Systems Japan.
Wagito. 2005. Jaringan Komputer Teori dan Implementasi Berbasis Linux. Yogyakarta:
Gava Media.
Network Performance Objectives for IP-based Services, ITU-T Y.1541 Recommendations,
Februari 2006.
Mack, Joseph. 2006. LVS-mini-HOWTO. Released under GPL.
Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika.
Sofana, Iwan. 2007. Mudah Membangun Server dengan Fedora Core. Bandung:
Informatika Bandung.
Red Hat, Inc. 2008. Red Hat Cluster Suite Overview: Red Hat Cluster Suite for Red Hat
Enterprise Linux. USA : Open Publication License.
Sofana, Iwan. 2008. Membangun Jaringan Komputer. Bandung: Informatika Bandung.
Manai, Syamsudin. 2010. 60 Menit Belajar Script (Shell). Yogyakarta: Informatika
Bandung.
Ardhana, Kusuma. 2012. Dengan PHP Menyelesaikan Website 30 Juta. Jakarta: Jasakom.
Red Hat, Inc. 2013. A Guide to Securing Red Hat Enterprise Linux Edition 4. United
States.
Sembiring, Irwan. 2009. Uji availabilitas Load Balancing Web Server Menggunakan
Linux Virtual Server. Bali: Universitas Kristen Satya Wacana.
Lukitasari, Desy. 2010. Analisis Perbandingan Load Balancing Web Server Tunggal
Dengan Web server Cluster Menggunakan Linux Virtual Server. Palembang :
Universitas Sriwijaya.
Asri, Yessy. 2010. Rancang Bangun Aplikasi Setting Load Balancing Web Server Pada
FreeBSD. Jakarta: Sekotah Tinggi Teknik PLN.
Haris Nasution, Abdul. 2011. Komparasi Algoritma Penjadwalan Pada Layanan
Terdistribusi Load Balancing LVS Via NAT. Surabaya : Institut Teknologi Sepuluh
November.
Baskoro, Pranata Ari. 2011. Rancang Bangun Server Learning Management System (LMS)
Berbasis Metode Load Balancing. Surabaya : Institut Sepuluh November.

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

Anda mungkin juga menyukai