RANCANG BANGUN HIGH AVAILABILITY
BERBASIS LOAD BALANCING DAN FAILOVER
PADA CLOUD SERVER
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadyah Malang
Oleh:
Fery Pratama Putra 08560013
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2013
i
LEMBAR PERSETUJUAN
RANCANG BANGUN HIGH AVAILABILITY BERBASIS
LOAD BALANCING DAN FAILOVER PADA CLOUD
SERVER
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Menyetujui,
Pembimbing I Pembimbing II
Hariyady, S.Kom, MT Setio Basuki, ST NIP : 101.9406.0262 NIP : 108.0907.0477
ii
LEMBAR PENGESAHAN
RANCANG BANGUN HIGH AVAILABILITY BERBASIS
LOAD BALANCING DAN FAILOVER PADA CLOUD
SERVER
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh :
Fery Pratama Putra 08560013
Tugas Akhir ini telah diuji dan dinyatakan lulus oleh tim penguji pada tanggal 26 Oktober 2013
Mengetahui/Menyetujui
Penguji I Penguji II
Denar Regata Akbi, S.Kom Sofyan Arifianto, S.Si, M.Kom
Mengetahui,
Ketua Jurusan Teknik Informatika
Eko Budi Cahyono, S.Kom, MT NIP : 108.9504.0330
iii
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini,
Nama : Fery Pratama Putra Tempat, Tgl Lahir : Kudus, 22 Pebruari 1991
NIM : 08560013
Fakultas/Jurusan : Teknik/ Informatika
Menyatakan bahwa karya ilmiah/skripsi/tugas akhir saya yang berjudul: ”RANCANG BANGUN HIGH AVAILABILITY BERBASIS LOAD
BALANCING DAN FAILOVER PADA CLOUD SERVER” adalah bukan
merupakan karya tulis orang lain, baik sebagian maupun keseluruhan, kecuali dalam bentuk kutipan yang telah saya sebutkan sumbernya.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya dan apabila pernyataan ini tidak benar, saya siap mendapatkan sanksi akademis.
Mengetahui, Malang, 26 Oktober 2013
Dosen Pembimbing Yang Menyatakan
iv
ABSTRAK
Cloud Computing merupakan sebuah cara baru dalam memanfaatkan sumber daya komputer, dimana semua aplikasi disediakan dalam bentuk service. Ketika user ingin menggunakan aplikasi maupun insfrastruktur, user tidak harus melakukan instalasi apapun. User hanya tinggal melakukan akses ke jaringan cloud. High availability merupakan sebuah aspek penting dalam cloud computing, dimana user memerlukan ketersediaan akses ke server cloud. Tujuan utamanya adalah untuk menjaga agar sistem tetap tersedia bagi user.
Salah satu metode untuk mencapai availability pada cloud computing adalah failover. Failover bekerja dengan memindahkan beban kerja dari satu komputer ke komputer yang lain secara otomatis ketika terjadi kegagalan. Diperlukan setidaknya satu komputer cadangan untuk menjaga sistem tetap tersedia untuk user.
Pada tugas akhir ini, high availability berhasil menangani kegagalan sistem pada controller node. Dengan teknologi failover, layanan cloud tetap bisa diakses oleh user.
v
ABSTRACT
Cloud computing is a new way of exploiting the computer resource, where all applications are provided in the form of services. When users want to use the applications and infrastructure provided by the cloud, they do not need to install anything, the only thing they need is access to the network of cloud services. High availability is an important aspect of cloud computing. Users require the availability of access to cloud servers. Its main purpose is to keep the system remains available for use by the user.
One method for achieving Availability in Cloud Computing is Failover. Failover works by moving workload one computer to another, automatically when the computer fails. Its need at least one computer backup to maintain the system available for users.
In this study, the high availability system success in handling system failure in controller node. With the failover technology, cloud service still can be access by user.
vi
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah SWT, atas limpahan rahmat dan Hidayah-Nya sehingga peneliti dapat menyelesaikan tugas akhir yang berjudul :
“RANCANG BANGUN HIGH AVAILABILITY BERBASIS LOAD BALANCER DAN FAILOVER PADA CLOUD SERVER”
Di dalam tulisan ini disajikan pokok-pokok bahasan yang meliputi perancangan sistem high availability, pembuatan sistem high availability, dan pengujian sistem high availability.
Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan kedepan.
Malang, 14 Oktober 2013
vii
DAFTAR ISI
LEMBAR PERSETUJUAN... i
LEMBAR PENGESAHAN ... ii
LEMBAR PERNYATAAN ... iii
ABSTRAK ... iv
ABSTRACT ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... vii
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xii
BAB I ... 1 PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah ... 2 1.3 Tujuan Penelitian ... 2 1.4 Batasan Masalah ... 2 1.5 Metodologi ... 3 1.6 Sistematika Penulisan ... 4 BAB II ... 6 LANDASAN TEORI ... 6
2.1 Fault, Failures dan Outages ... 6
2.2 High Availability ... 6
2.2.1 Definisi ... 6
2.2.2 Fungsi dan Tujuan ... 7
viii
2.3 Load Balancing ... 13
2.3.1 Definisi ... 13
2.3.2 Sistem dan Algoritma ... 13
2.4 Cloud Computing ... 14
2.4.1 Definisi Cloud Computing ... 14
2.4.2 Sistem dan Arsitektur ... 14
2.5 Penelitian Sebelumnya ... 16
BAB III... 18
ANALISA DAN PERANCANGAN SISTEM ... 18
3.1 Analisa Sistem ... 18
3.1.1 Spesifikasi Perangkat Keras ... 18
3.1.2 Instalasi Perangkat Lunak ... 19
3.2 Perancangan Alur Sistem ... 21
3.3 Perancangan Sistem ... 23
3.4 Konfigurasi Sistem ... 24
3.4.1 Controller Node Master dan Slave ... 24
3.4.1.1 Persiapan Sistem Operasi ... 24
3.4.1.2 Konfigurasi Kartu Jaringan ... 24
3.4.1.3 Instalasi MySQL dan RabbitMQ ... 25
3.4.1.4 Sinkronisasi Antar Node... 25
3.4.1.5 Instalasi Virtual LAN dan Konfigurasi IP Forwarding ... 25
3.4.1.6 Instalasi dan Konfigurasi Keystone ... 26
3.4.1.7 Instalasi dan Konfigurasi Glance ... 27
3.4.1.8 Instalasi dan Konfigurasi Quantum ... 29
3.4.1.9 Instalasi Nova ... 30
ix
3.4.1.11 Instalasi Horizon ... 35
3.4.2 Network Node ... 35
3.4.2.1 Persiapan Sistem Operasi ... 35
3.4.2.2 Sinkronisasi dan IP Forwarding ... 35
3.4.2.3 Konfigurasi Kartu Jaringan ... 36
3.4.2.4 Instalasi Vswitch ... 36
3.4.2.5 Instalasi Quantum ... 37
3.4.3 Compute Node ... 38
3.4.3.1 Persiapan Sistem Operasi ... 38
3.4.3.2 Konfigurasi IP Forwarding dan Sinkronisasi ... 38
3.4.3.3 Konfigurasi Kartu Jaringan ... 39
3.4.3.4 Instalasi KVM ... 39
3.4.3.5 Instalasi Open Vswitch ... 40
3.4.3.6 Instalasi Quantum ... 41
3.4.3.7 Instalasi Nova ... 42
3.4.4 Pembuatan VM (Virtual Machine)... 44
BAB IV ... 47
IMPLEMENTASI DAN PENGUJIAN ... 47
4.1 Implementasi ... 47
4.1.1 Lingkungan Implementasi ... 47
4.1.2 Instalasi High Availability Load Balancer ... 47
4.2 Pengujian Sistem ... 52
4.2.1 Skenario Pengujian Sistem ... 52
4.2.2 Pengujian Fungsionalitas Sistem... 52
4.2.2.1 Pengujian Arsitektur Cloud Computing ... 52
x
4.2.2.3 Pengujian High Availability ... 55
BAB V ... 57
KESIMPULAN DAN SARAN ... 57
5.1 Kesimpulan ... 57
5.2 Saran ... 57
xi
DAFTAR GAMBAR
Gambar 2.1. Infrastruktur sederhana sistem high availability
(The Rackspace Cloud Engineering Team, 2010) ... 9
Gambar 2.2. High availability active standby pada komputer cluster (Engelmann, 2006) ... 11
Gambar 2.3. Asymmetric active/active pada komputer cluster (Engelmann, 2006) ... 12
Gambar 2.4. Symmetric active/active pada komputer cluster (Engelmann, 2006) ... 12
Gambar 2.5. Cloud Computing Stack (Bhardwaj, 2010) ... 15
Gambar 2.6. Arsitektur Cloud (Bhardwaj, 2010) ... 16
Gambar 3.1. Diagram Alur Perencanaan Sistem ... 21
Gambar 3.2. Diagram Alur Sistem High Availability ... 22
Gambar 3.3. Skema Rancangan High Availability... 23
Gambar 4.1. Tampilan dashboard Openstack ... 53
Gambar 4.2. Tampilan daftar service yang aktif pada openstack ... 53
Gambar 4.3. Tampilan Node Controller Master ... 54
Gambar 4.4. Tampilan Node Controller Slave ... 54
xii
DAFTAR TABEL
Tabel 3.1. Daftar service cloud... 20 Table 3.2. Daftar IP Address Node ... 20
58
DAFTAR PUSTAKA
Bhardwaj, Sushil, Leena Jain, and Sandeep Jain. "Cloud computing: A study of infrastructure as a service (IAAS)." International Journal of engineering and information Technology 2.1 (2010): 60-63.
Chaczko, Zenon, et al. "Availability and Load Balancing in Cloud Computing."2011 International Conference on Computer and Software Modeling IPCSIT. Vol. 14. 2011.
Choubey, Rajnish, Rajshree Dubey, and Joy Bhattacharjee. "A survey on cloud computing security, challenges and threats." International Journal on Computer Science and Engineering (IJCSE) 3.3 (2011): 1227-1231. Engelmann, Christian, et al. "Symmetric active/active high availability for
high-performance computing system services." Journal of Computers 1.8 (2006): 43-54.
G. Wei, V. Athanasios, Y. Zheng and N. Xiong, “A game-theoretic method of fair resource allocation for cloud computing services,” J.Supercomputing, 2009,DOI 10.1007/s11227-009-0318-1.
Gray, J., & Siewiorek, D. P. (1991). High-availability computer systems.Computer, 24(9), 39-48.
http://documentation.softwareag.com/webmethods/tamino/ins441/ha/ha.ht m Diakses pada tanggal 02 April 2013.
L. Wang, G. Laszewski, M. Kunze and J. Tao, “Cloud computing: a perspective study”, J New Generation Computing, 2010, pp 1-11.
Marcus, E., & Stern, H. (2003). Blueprints for high availability. Wiley. Padhy, R. P., & Patra, M. R. (2013). Architecture & Design of Affordable
and Highly Available Enterprise Cloud Service. International Journal of Cloud Computing and Services Science (IJ-CLOSER), 2(2), 85-105.
Perkov, Luka, Nikola Pavkovic, and Juraj Petrovic. "High-availability using open source software." MIPRO, 2011 Proceedings of the 34th International Convention. IEEE, 2011.
59
R. Shimonski. Windows 2000 & Windows Server 2003 Clustering and Load Balancing. Emeryville.McGraw-Hill Professional Publishing, CA, USA (2003), p 2, 2003.
The Rackspace Cloud Engineering Team. 2010.ARCHITECTING HIGH
AVAILABILITY LINUX ENVIRONMENTS WITHIN THE