KOMPARASI ALGORITMA PENJADWALAN ROUND-ROBIN & LEAST CONNECTION PADA WEB SERVER LOAD BALANCING LVS METODE DIRECT ROUTING, NAT DAN TUNNELING
Proposal Tugas Akhir
Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata I Teknik Informatika Universitas Muhammadiyah Malang
Muhammad Yusran 201110370311154
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015
LEMBAR PERSETUJUAN KOMPARASI ALGORITMA PENJADWALAN ROUND-ROBIN & LEAST CONNECTION PADA WEB SERVER LOAD BALANCING LVS DIRECT ROUTING, NAT DAN TUNNELING
Muhammad Yusran 201110370311154
Telah Direkomendasikan Untuk Diajukan Sebagai Judul Tugas Akhir Di Teknik Informatika Universitas Muhammadiyah Malang
Menyetujui, Dosen I,
Dosen II,
Zamah Sari, S.T., M.T. NIDN : 0708087701
Agus Eko Minarno, S.Kom., M.Kom. NIDN: 0729118203
I.
LATAR BELAKANG World Wide Web (WWW) telah menjadi standar de facto sebagai infrastruktur dasar untuk beragam layanan internet. Banyak sekali perusahaan dan organisasi yang membutuhkan website untuk beberapa tujuan seperi promosi produk, bisnis ecommerce, forum online dan layanan aplikasi web lainnya. Single web server yang mayoritas digunakan oleh perusahaan tersebut untuk layanan berbasis web memiliki beberapa kekurangan yang tergolong fatal. Ketika website mendapatkan request
yang banyak dimana
request
tersebut tidak bisa
ditangani oleh web server, maka dampak terburuk adalah terjadi overload dan crash. High-end Server seperti IBM Mainframe, BlueGene/L maupun Sun Fire yang harganya sangat mahal adalah salah satu solusi untuk menjawab masalah overload, namun
hanya perusahaan-perusahan besar biasanya
mengeluarkan
budget
yang
besar
untuk
yang dapat
penyediaan
dan mampu
High-end server.
Dan
bagaimana dengan perusahaan kecil dan organisasi yang tidak memiliki dana besar? Masalah seperti inilah yang menjadi alasan penting untuk diterapkan suatu teknologi network load balancing. Network Load Balancing merupakan sistem yang diharapkan dapat
menangani
beban simultan yang besar dengan kemungkinan kegagalan yang sangat kecil. Salah satu jenis sistem network load balancing yang bekerja pada layer empat yaitu Linux Virtual Server (LVS).
II.
RUMUSAN MASALAH 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 pada tugas akhir ini akan dicoba mengkomparasi performa sistem cluster saat menggunakan dua algoritma
penjadwalan
yang berbeda yaitu round-robin dan least connection,
berdasarkan parameter yang telah ditentukan, untuk menemukan mana algoritma yang mempunyai performa paling baik diantara keduanya.
III.
BATASAN MASALAH Adapun batasan-batasan permasalahan yang akan dicakup dalam tugas akhir ini
antara lain :
Test performansi algoritma penjadwalan hanya pada protokol http (80) / nginx webserver.
Diimplementasikan pada jaringan dengan pengalamatan Ipv4
Tidak membahas keamanan jaringan
Mengkomparasi algoritma penjadwalan round-robin dan least connection
Parameter perbandingan yang diukur adalah Time Response, Throughput, Request Lost dan CPU utilization.
IV.
Semua Server dibangun secara virtual dengan menggunakan VMware Workstation
TUJUAN Tujuan dalam pembuatan Tugas Akhir ini adalah menemukan
algoritma
penjadwalan terbaik antara algoritma round-robin dan least connection pada sistem cluster menggunakan LVS load balancing via Direct Routing, berdasarkan parameter yang telah ditetapkan.
V.
METODOLOGI Metodologi
penelitian
yang
dilakukan
dalam
pembuatan
system
dan
penyelesaian tugas akhir ini adalah sebagai berikut :
Studi pustaka dan literature Pada tahap ini penulis akan mempelajari cara pengcompile-an kernel linux,
administrasi paket load balancing (ipvsadm), LVS literatur dan lainnya, yang bersumber pada buku-buku dan dari internet.
Perancangan sistem dan implementasi LVS Pada tahap ini akan dilakukan perancangan dan implementasi mesin load
balancing dengan menggunakan LVS via Direct Routing, NAT & Tunneling pada sistem operasi linux.
a. Rancang Sistem Untuk menganalisis algoritma scheduling di linux virtual server (LVS), pada tugas akhir ini dilakukan perancangan, implementasi dan pengukuran beberapa parameter meliputi throughput, request loss, waktu respon, dan cpu utilization. Pada linux virtual server terdapat tiga komponen penyusun utama yaitu:
Director, sebagai sebuah server yang bertugas untuk meneruskan paket dari client kepada real server. Client dari jaringan luar akan menganggap director seolah sebagai server tunggal.
Real Server, sebagai server yang melayani permintaan client, dalam hal ini sebagai web server yang memberikan layanan http.
NFS Server, sebagai pusat data yang menyediakan content ke web server agar semua web server memiliki content yang sama. Sistem virtual cluster yang dirancang menggunakan metode Direct Routing,
NAT & Tunneling dengan beban pada real balancer/director. Terdapat sebuah
director
server aktif.
diseimbangkan oleh load Director dan
real
server
dihubungkan oleh switch dan kedua real server memberikan layanan sama yaitu http.
NAT
Topologi LVS via NAT
Network Address Translation (NAT) adalah sebuah metode pada mesin load balancing yang memetakan IP address (Internet Protocol) dan nomor port dari sebuah group (private) ke group (public) lainnya. Paket yang datang ditulis ulang oleh director baik ip address maupun nomor port-nya untuk memberikan ip address dan nomor port tujuan dari real server dan mem-forward-nya ke real server yang dituju. Seluruh proses masuknya paket dari cilent ke real-server dan keluarnya hasil pengolahan paket dari realserver ke client harus melalui director.
Tunneling
Topologi LVS via Tunneling
Di metode ini, ketika ada paket request datang, maka Load Balancer akan ‘membungkus’ paket tersebut ke dalam paket yang lain dan meneruskannya ke salah satu backend server. Kemudian backend server yang menerima paket request tadi akan membuka ‘bungkus’nya dan membalasnya. Paket respon dari backend server akan dikirim langsung ke klien tanpa melalui Load Balancer kembali, sehingga beban Load Balancer akan jauh lebih ringan
Direct Routing
Topologi LVS via Direct Routing
Konsep direct routing pada LVS adalah load balancer dan real server berada dalam satu jaringan. Load balancer mempunyai virtual ip address, yang digunakan untuk menerima paket, dan langsung mengarahkan paket ke server yang terpilih. Semua real server mempunyai interface non-arp alias yang dikonfigurasi dengan virtual ip address atau mengalihkan paket yang ditujukan untuk virtual ip address untuk soket lokal, oleh karena itu real server dapat memproses paket secara lokal. LVS DR akan meneruskan paket langsung ke backend server tanpa ada penambahan data apapun pada paket IP. Nantinya, semua backend server dan Load Balancer akan memiliki sebuah alamat IP yang sama, yang digunakan oleh klien untuk mengakses mereka. Mirip seperti LVS TUN, paket request yang datang di Load Balancer akan dikirimkan langsung ke backend server. Backend server pun ketika membalas paket akan mengirimkannya langsung ke klien, tanpa melalui Load Balancer.
b. Spesifikasi Prengkat Keras Sistem linux virtual cluster diuji dengan cara membangkitkan request secara simultan dalam jumlah yang banyak. Untuk melakukan hal tersebut tentunya akan memerlukan jumlah client yang banyak pula. Maka digunakan request generator agar cukup dengan satu buah komputer seolah dapat menghasilkan request yang dihasilkan oleh banyak client secara simultan.
Spesifikasi komputer client: a. Processor : Intel Centrino Core 2 Duo CPU 2,2 GHz b. RAM : 4 GB c. OS : Linux Ubuntu Desktop 14.04 Spesifikasi komputer director: a. Virtual Machine Disk (VMware Workstation) b. RAM : 512 MB Minimal diperlukan dua real server untuk menciptakan sistem clustering, dimana aplikasi yang digunakan yaitu aplikasi http. Spesifikasi komputer yang digunakan yaitu : Real Server I a. Virtual Machine Disk (VMware Workstation) b. RAM : 256 MB Real Server II a. Virtual Machine Disk (VMware Workstation) b. RAM : 256 MB NFS Server a. Virtual Machine Disk (VMware Workstation) b. RAM : 256 MB
c. Spesifikasi Perangkat Lunak Perangkat lunak yang digunakan pada penelitian ini adalah sebagai berikut : a. Sistem Operasi Komputer sebagai director, NFS dan kedau real server menggunakan sistem operasi Ubuntu Server 12.4. Sedangkan komputer client (pembangkit request) menggunakan sistem operasi Ubuntu Desktop 14.04. b. Kernel Kernel merupakan inti dari suatu sistem operasi yang berhubungan langsung dengan perangkat keras. Pada bagian kernel terdapat berbagai pilihan untuk memilih dan mengaktifkan driver perangkat keras dan algoritma penjadwalan yang akan digunakan. Kernel yang digunakan saat penelitian tugas akhir ini adalah kernel versi 3.2.0-23 untuk seluruh perangkat.
c. Web Server Perangkat lunak untuk web server yaitu nginx. d. Ipvsadm IP Virtual Server Administration (Ipvsadm) digunakan untuk mengatur kerja director sehingga dapat menambahkan layanan-layanan apa saja yang dapat diberikan,
memilih
algoritma
penjadwalan
yang digunakan, dan
meneruskan request kepada real server yang sedang aktif. Pada director dan LVS keduanya menggunakan ipvsadm versi 1.24. e. Httperf Perangkat lunak yang digunakan untuk membangkitkan request agar dapat menghasilkan banyak
request
dalam satu
waktu
yaitu
httperf.
Dengan
menggunakan httperf maka tidak perlu ada banyak komputer sebagai client, cukup satu komputer sebagai client tetapi mampu menghasilkan banyak request secara simultan. Pada penelitian tugas akhir ini digunakan httperf versi 0.8.
Proses komparasi algoritma dengan tiga metode LVS yang berbeda Mengkomparasi dan mengevaluasi dua algoritma LVS berdasarkan parameterparameter yang telah ditetapkan untuk menemukan algoritma terbaik diantara keduanya pada untuk setiap metode (Direct Routing, NAT & Tunneling) LVS yang digunakan. Hasil yang didapatkan akan dituliskan dalam bentuk table sehinggah memudahkan untuk membandingkan hasil dan penarikan kesimpulan.
Penulisan laporan dan kesimpulan Tahap ini dilakukan penyusunan laporan hasil analisa dan implementasi dari uji coba yang telah dilakukan di atas. Serta menyimpulkan hasil yang diperoleh selama pengujian dan pengimplementasian.
JADWAL KEGIATAN
DAFTAR PUSTAKA
[1]
Komparasi Algoritma Penjadwalan Pada Layanan Terdistribusi Load Balancing LVS Via NAT.. eepis-its.edu/uploadta/downloadmk.php?id=1264. Diakses pada tanggal 29 Desember 2014
[2]
Load Balancing LVS-DR Transparent Proxy Cache Cluster (Testing With 3 Scheduling Algorithm). https://tunaro.wordpress.com/2013/12/22/load-balancing-lvs-dr-transparentproxy-cache-cluster-testing-with-3-scheduling-algorithm/. Diakses pada tanggal 16 Desember 2014
[3]
Mengenal
Teknologi
Load
Balancing.
http://fxekobudi.net/networking/mengenal-
teknologi-load-balancing/. Diakses pada tanggal 12 Januari 2015 [4]
Uji Availabilitas Load Balancing Web Server Menggunakan Linux Virtual Server. https://yudiagusta.files.wordpress.com/2009/11/224-230-knsi09-041-uji-availabilitasload-balancing-web-server-menggunakan-linux-virtual-server.pdf. Diakses pada tanggal 4 Januari 2015