13
perpustakaan.uns.ac.id digilib.uns.ac.id commit to user 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

IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

Embed Size (px)

Citation preview

Page 1: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

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

Page 2: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

i

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

Page 3: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

ii

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

Dekan FMIPA UNS Teknik Informatika FMIPA UNS

Prof. Ir.Ari Handono Ramelan,M.Sc,(Hons).Ph.D. Drs. Y.S.Palgunadi, M.Sc

NIP. 19610223 198601 1 001 NIP. 19560407 198303 1 004

Page 4: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

iii

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

Page 5: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

iv

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

Page 6: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

v

MOTTO

“Dream as if you will live forever and live as if you'll die today “

“Akan selalu ada sisi baik dibalik usaha terbaik”

Page 7: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

Gatot Irianto

Page 8: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

3.1.2 Spesifikasi Software ........................................................................ 19

Page 9: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

DAFTAR PUSTAKA .......................................................................................... xiii

Page 10: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

Hasil Uji Parameter Response Time keseluruhan sistem ................ 58

Page 11: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

Topologi testing 2 .................................................................... 36

Page 12: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

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

Grafik Perbandingan throughput keseluruhan sistem .............. 58

Page 13: IMPLEMENTASI HIGH AVAILABILITY SERVER DENGAN …eprints.uns.ac.id/19497/1/AWAL.pdfperpustakaan.uns.ac.id digilib.uns.ac.id TUGAS AKHIR commit to user IMPLEMENTASI HIGH AVAILABILITY

perpustakaan.uns.ac.id digilib.uns.ac.id

commit to user

xii

DAFTAR LAMPIRAN

Halaman

LAMPIRAN A Data Hasil Percobaan LA-A