perpustakaan.uns.ac.id
digilib.uns.ac.id
IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN MENGGUNAKAN LOADBALANCE, FAILOVER, DAN REDUNDANSI DATABASE
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Teknik Informatika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sebelas Maret
Disusun Oleh: GATOT IRIANTO NIM. M3110070
PROGRAM DIPLOMA III TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET SURAKARTA 2014 commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
HALAMAN PERSETUJUAN
IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN MENGGUNAKAN LOADBALANCE, FAILOVER, DAN REDUNDANSI DATABASE
Disusun Oleh
GATOT IRIANTO NIM. M3110070
Proposal Tugas Akhir ini Telah disetujui untuk disusun dan ditindaklanjuti Pada tanggal
Pembimbing Utama
RUDI HARTONO, S.Si NUPN. 9906008058
commit to user
i
perpustakaan.uns.ac.id
digilib.uns.ac.id
HALAMAN PENGESAHAN IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN MENGGUNAKAN LOADBALANCE, FAILOVER, DAN REDUNDANSI DATABASE Disusun Oleh: GATOT IRIANTO NIM. M3110070 Pembimbing Utama
Rudi Hartono, S.Si. NUPN. 9906008058 Tugas akhir ini telah diterima dan disahkan oleh dewan penguji Tugas Akhir Program Studi Diploma III Teknik Informatika Pada hari …………….tanggal …………….. Dewan Penguji: 1. Penguji 1 Rudi Hartono, S.Si.
(
)
(
)
(
)
NUPN. 9906008058 2. Penguji 2
Agus Purnomo, S.Si. NUPN. 9906002096
3. Penguji 3
Rosita Yanuarti, S.Kom.,M.Cs NIDN. 0629018601 Disahkan Oleh :
Ketua Program Studi Diploma III Teknik Informatika FMIPA UNS
Dekan FMIPA UNS
Prof. Ir.Ari Handono Ramelan,M.Sc,(Hons).Ph.D. NIP. 19610223 198601 1 001
commit to user
ii
Drs. Y.S.Palgunadi, M.Sc NIP. 19560407 198303 1 004
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRACT
Gatot Irianto, 2014. IMPLEMENTATION OF HIGH AVAILABILITY SERVER USING LOAD BALANCE, FAILOVER, AND REDUNDANCY. DIII Informatics Engineering, Faculty of Mathematics and Natural Science, University of Sebelas Maret. The use of web-based applications are now beginning to grow rapidly as technological advances. The higher level of application, an Application server is required to have a high availability. High availability must have reliable performance that can handle many requests and have a high uptime. High Availability is characteristic of the system related to the availability of information. High Availability is usually expressed as a percentage of uptime in a given year. There are two concepts that are applied in the implementation of High Availability is the continuous availability and Failover Availability. Implementation of high availability servers in this report was using three technologies, those were load balancing, failover and redundancy database. Load balancing used to improve system performance, Failover was used to anticipate the failure of a server by using a backup server, and database redundancy in addition was to use as well as data backup and the backup server. Load balancer function divides all requests to multiple servers that are handled by him. Load balancer can improve system performance by adding servers. Load balancer function divides all requests to multiple servers that are handled by him. Load balancer can improve system performance by adding servers. The more servers are used, the greater the resulting performance. For the addition of a server into two servers on the server parameters that can increase throughput 55%, in successful reply parameters that can increase 60% and the response time parameters are not well one server because the number of successful reply which generated nearly doubled at each rate level. In high Availability system, redundancy and failover is the most important thing to keep always available. Function failover if one server goes down automatically be handled server that acts as a backup. While redundancy is used to create multiple paths to access the resource, the line can be used simultaneously or alternately depending on the specific configuration. Keywords: High Availability, Load balancing, Failover, Database Redundancy, Webserver
commit to user
iii
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRACT Gatot Irianto, 2014. IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN MENGGUNAKAN LOADBALANCE, FAILOVER, DAN REDUNDANSI DATABASE. DIII Teknik Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret, Surakarta. Penggunaan aplikasi berbasis web sekarang ini mulai berkembang pesat seiring kemajuan teknologi. Semakin tinggi tingkat kebutuhan suatu aplikasi maka server aplikasi dituntut untuk mempunyai ketersediaan yang tinggi (High Availability). Ketersediaan yang tinggi tersebut harus mempunyai performa yang handal agar dapat menangani banyak request dan mempunyai up time yang tinggi. High Availability adalah karakterisrik suatu sistem yang berkaitan dengan ketersedian informasi. High Availability biasanya dinyatakan sebagai persentase dari uptime pada tahun tertentu. Ada 2 konsep yang diterapkan dalam implementasi High Availability yaitu Continuous Availability dan Failover Availability. Implementasi High Availability server pada penelitian ini menggunakan 3 teknologi yaitu Loadbalancing, Failover, dan Redudansi databases. Loadbalancing digunakan untuk meningkatkan performa dari sistem, Failover digunakan untuk mengantisipasi kegagalan suatu server dengan menggunakan backup server, dan Redundansi database selain digunakan sebagai backup data juga sebagai sekaligus backup server. Loadbalancer berfungsi membagi semua request kedalam beberapa server yang di tangani olehnya. Loadbalancer dapat meningkatkan performa suatu system dengan melakukan penambahan server. Semakin banyak server yang digunakan maka performa yang dihasilkan akan meningkat. Untuk pertambahan dari 1 server menjadi 2 server pada parameter troughput dapat meningkat sebesar 55 %, Pada parameter reply sukses yang dihasilkan bertambah 60 % dan pada parameter responsetime tidak sebaik 1 server karena jumlah reply sukses yang dihasilkan hampir dua kali lipat pada tiap ratenya. Dalam sistem High Availabiliti, redundansi dan failover merupakan hal yang paling penting untuk menjaga agar selalu tersedia (Available). Failover berfungsi bila salah satu server mati secara otomatis akan ditangani server yang bertindak sebagai backup. Sedangkan redundansi digunakan untuk membuat beberapa jalur untuk mengakses sebuah resource, jalur tersebut dapat digunakan secara bersamaan atau bergantian tergantung konfigurasi yang diberikan. Kata Kunci: High Availability, Loadbalancing, Failover, Redudansi Database, Webserver
commit to user
iv
perpustakaan.uns.ac.id
digilib.uns.ac.id
MOTTO
“Dream as if you will live forever and live as if you'll die today “ “Akan selalu ada sisi baik dibalik usaha terbaik”
commit to user
v
perpustakaan.uns.ac.id
digilib.uns.ac.id
KATA PENGANTAR Puji dan syukur kepada Allah SWT yang telah memberikan berkah dan rahmat-Nya sehingga penulis dapat menyelesaikan penyusunan karya ini. Dalam penyusunan karya ini, penulis memperoleh banyak petunjuk, pengarahan, bimbingan, informasi, dan pengetahuan dari berbagai pihak. Oleh karena itu pada kesempatan ini penulis mengucapkan terima kasih setulus-tulusnya kepada: 1. Drs. Y.S Palgunagi, M.Sc sebagai ketua jurusan D III Teknik Informatika FMIPA UNS 2. Bapak Rudi Hartono, S.Si. sebagai dosen pembimbing tugas akhir 3. Dosen – dosen DIII Teknik Informatika FMIPA UNS yang telah memberikan dukungan kepada penulis dalam pelaksanaan tugas akhir 4. Para staff dan karyawan UPT. Puskom UNS yang telah mendukung dan mau bekerja sama dengan penulis dalam pembuatan tugas akhir 5. Bapak dan Ibu serta keluarga yang selalu memberikan dukungan dan semangat untuk menyelesaikan tugas akhir 6. Teman - teman Teknik Informatika B angkatan 2010, keluarga SAT PUSKOM UNS yang telah menyediakan waktu untuk berbagi ilmu dan pengetahuan dalam kuliah dan kerja 7. Berbagai pihak yang tidak dapat disebutkan satu persatu. Demikian laporan Tugas Akhir ini penulis susun dengan harapan bermanfaat pagi penulis maupun pembaca.
Surakarta, Desember 2014
Gatot Irianto
commit to user
vi
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR ISI
HALAMAN PERSETUJUAN ................................................................................. i HALAMAN PENGESAHAN ................................................................................. ii ABSTRACT ........................................................................................................... iii MOTTO .................................................................................................................. v KATA PENGANTAR ........................................................................................... vi DAFTAR ISI ......................................................................................................... vii DAFTAR TABEL .................................................................................................. ix DAFTAR GAMBAR .............................................................................................. x DAFTAR LAMPIRAN ......................................................................................... xii BAB I ...................................................................................................................... 1 Latar Belakang ......................................................................................... 1 Rumusan Masalah .................................................................................... 2 Batasan Masalah ....................................................................................... 2 Tujuan Penelitian ...................................................................................... 2 Manfaat Penelitian .................................................................................... 2 Metodologi Penelitian .............................................................................. 3 Sistematika Penulisan ............................................................................... 5 BAB II ..................................................................................................................... 6 High Availability server ........................................................................... 6 Sistem Operasi .......................................................................................... 6 Nginx HTTP Server .................................................................................. 7 MySQL ...................................................................................................... 9 PHP ........................................................................................................ 10 Load Balancing ...................................................................................... 10 HAProxy ................................................................................................. 11 CARP ...................................................................................................... 13 Httperf .................................................................................................... 13 NFS ..................................................................................................... 15 BAB III ................................................................................................................. 18 Spesifikasi Perangkat ............................................................................. 18 3.1.1 3.1.2
Spesifikasi hardware....................................................................... 18 commit to user Spesifikasi Software ........................................................................ 19 vii
perpustakaan.uns.ac.id
digilib.uns.ac.id
Jalannya Penelitian ................................................................................. 19 Perancangan Sistem ................................................................................ 21 3.3.1
Perancangan load balance server .................................................... 21
3.3.2
Perancangan failover ....................................................................... 23
3.3.3
Perancangan redudansi databases ................................................... 24
BAB IV ................................................................................................................. 25 Topologi jaringan ................................................................................... 25 Instalasi Server ....................................................................................... 26 Konfigurasi Aplikasi Server ................................................................... 29 4.3.1
Konfigurasi Webserver.................................................................... 29
4.3.2
Konfigurasi Failover ....................................................................... 30
4.3.3
Konfigurasi Database Server .......................................................... 32
Pengujian dan Analisa ............................................................................ 35 4.4.1
Skema pengujian ............................................................................. 35
4.4.2
Parameter Throughput ..................................................................... 39
4.4.3
Parameter Response Time ............................................................... 40
4.4.4
Parameter Reply Sukses .................................................................. 42
4.4.5
Konsumsi Sumberdaya ................................................................... 43
4.4.6
Failover ........................................................................................... 46
4.4.7
Redundansi database ...................................................................... 49
4.4.8
Keseluruhan sistem ......................................................................... 54
BAB V................................................................................................................... 60 Kesimpulan ............................................................................................. 60 Saran ....................................................................................................... 61 DAFTAR PUSTAKA .......................................................................................... xiii
commit to user
viii
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR TABEL Hasil Uji Parameter Throughput ..................................................... 39 Hasil Uji Parameter Response Time ................................................ 40 Hasil Uji Parameter Reply sukses ................................................... 42 Tabel penggunaan sumberdaya pada topologi 1 ............................. 44 Tabel penggunaan sumberdaya pada topologi 2 ............................. 44 Tabel penggunaan sumberdaya pada topologi 3 ............................. 45 Hasil Uji Parameter Throughput keseluruhan sistem ..................... 56 Hasil Uji Parameter Response Time keseluruhan sistem ................ 57 Hasil Uji Parameter Response Time keseluruhan sistem ................ 58
commit to user
ix
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR GAMBAR Skema load balance ..................................................................... 12 Skema Penelitian ......................................................................... 19 Rancangan High Availability ...................................................... 21 Skema load balance ..................................................................... 22 Skema failover ............................................................................. 23 Skema redundansi ........................................................................ 24 Skema High Availability ............................................................. 25 Topologi fisik Jaringan ................................................................ 25 Skema Instalasi ............................................................................ 26 Booting instalasi FreeBSD10.0 ................................................... 27 Menu instalasi FreeBSD 10.0 ...................................................... 27 Pengaktifan modul php pada nginx ............................................. 29 seting startup aplikasi .................................................................. 29 menjalankan nginx dan php-fpm ................................................. 29 php info........................................................................................ 29 Tampilan web server ................................................................ 30 Kostum kerner.......................................................................... 30 Instalasi kernel ......................................................................... 30 Status CARP ............................................................................ 31 Konfigurasi CARP loadbalancer 1 .......................................... 31 Konfigurasi CARP loadbalancer 2 .......................................... 31 Perintah restart network dan routing ........................................ 31 Interface status server 1 ........................................................... 32 interface status server 2 ........................................................... 32 Konfigurasi mysql.................................................................... 32 Perintah masuk kedalam mysql ............................................... 33 Konfigurasi user replikasi ........................................................ 33 master status db02 ................................................................... 34 konfigurasi slave mysql ........................................................... 34 slave status database db03 ....................................................... 34 Topologi testing 1 .................................................................... 35 to user Topologi testingcommit 2 .................................................................... 36
x
perpustakaan.uns.ac.id
digilib.uns.ac.id
Topologi testing 3 .................................................................... 36 Topologi 4 ................................................................................ 37 Topologi 5 ................................................................................ 37 Topologi 6 ................................................................................ 38 Perintah pengujian performa .................................................... 38 Grafik Perbandingan Troughput .............................................. 39 Grafik Perbandingan Response Time ....................................... 41 Grafik Perbandingan reply suskes ........................................... 43 Status loadbalancer lb01 awal ................................................. 47 Status loadbalancer lb02 awal ................................................. 47 Status ping saat loadbalancer lb01 down ................................ 47 Status loadbalancer lb01 setelah loadbalancer lb01 down ..... 48 Status loadbalancer lb02 setelah loadbalancer lb01 down ..... 48 ping setelah loadbalancer lb01 up ........................................... 48 Stat us loadbalancer lb01 setelah loadbalancer lb01 up......... 49 Status loadbalancer lb02 setelah loadbalancer lb01 up.......... 49 Status database db02 sebelum down ....................................... 50 Status database db03 sebelum database db02 down ............... 50 Perbandingan data sebelum database db02 down ................... 51 Saat database db02 down ........................................................ 51 input data saat database db02 down ........................................ 52 Status database db02 stelah database db02 up ....................... 52 Status database db02 setelah database db02 up ...................... 52 Perintah penurunan nilai demotion .......................................... 53 Status carp database db02 ....................................................... 53 Status carp database db03 ....................................................... 53 Perbandingan data setelah database db02 up kembali ............ 54 Grafik Perbandingan throughput keseluruhan sistem .............. 56 Grafik Perbandingan response time keseluruhan sistem ......... 57 Grafik Perbandingan throughput keseluruhan sistem .............. 58
commit to user
xi
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR LAMPIRAN
Halaman LAMPIRAN A
Data Hasil Percobaan
commit to user
xii
LA-A