commit to user
IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN
MENGGUNAKAN LOADBALANCE, F AILOVER, 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
commit to user
i
HALAMAN PERSETUJUAN
IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN
MENGGUNAKAN LOADBALANCE, F AILOVER, 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
commit to user
ii
HALAMAN PENGESAHAN
IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN
MENGGUNAKAN LOADBALANCE, F AILOVER, 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 Dekan FMIPA UNS Teknik Informatika FMIPA UNS
Prof. Ir.Ari Handono Ramelan,M.Sc,(Hons).Ph.D. Drs. Y.S.Palgunadi, M.Sc
commit to user
iii ABSTRACT
Gatot Irianto, 2014. IMPLEMENTATION OF HIGH AVAILABILITY SERVER
USING LOAD BALANCE, F AILOVER, 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.
commit to user
iv ABSTRACT
Gatot Irianto, 2014. IMPLEMENTASI HIGH AVAILABILITY SERVER
DENGAN MENGGUNAKAN LOADBALANCE, F AILOVER, 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.
commit to user
v MOTTO
“Dream as if you will live forever and live as if you'll die today “
commit to user
vi
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
commit to user
vii 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 Spesifikasi hardware ... 18
commit to user
viii
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
commit to user
ix
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
commit to user
x
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
commit to user
xi
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
commit to user
xii
DAFTAR LAMPIRAN
Halaman