ANALISIS KETERSEDIAAN LAYANAN DAN KINERJA SUMBER DAYA PADA INFRASTRUKTUR SERVER VIRTUAL
DADAN IRWAN
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2017
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa tesis berjudul Analisis Ketersediaan Layanan dan Kinerja Sumber Daya pada Infrastruktur Server Virtual adalah benar hasil karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang telah diterbitkan maupun tidak diterbitkan dari penulis lain telah disebut dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, April 2017
Dadan Irwan G651130011
RINGKASAN DADAN IRWAN. Analisis Ketersediaan Layanan dan Kinerja Sumber Daya pada Infrastruktur Server Virtual. Dibimbing oleh HERU SUKOCO dan SRI WAHJUNI. Server merupakan komponen utama untuk pengolahan dan penyediaan layanan informasi. Sebuah server dirancang untuk menyediakan layanan (services) secara terus-menerus tanpa mengalami gangguan. Teknologi processor multicore dan fungsi kerja secara multitasking yang terdapat pada setiap server belum sepenuhnya dimanfaatkan secara optimal karena hanya digunakan untuk menyediakan satu layanan aplikasi server. Perusahaan atau institusi yang mengelola server secara mandiri, dapat memberdayakan dan mengoptimalkan server tersebut agar mampu menyediakan beberapa layanan yang berbeda pada satu server. Virtualisasi merupakan teknik yang digunakan untuk mengoptimalkan fungsi sebuah server menjadi beberapa mesin server secara virtual. Sementara itu, penggunaan server tunggal memiliki kelemahan apabila terjadi kerusakan pada hardware atau software, menyebabkan layanan pada user terganggu. Konsep dan penerapan service availability adalah meminimalisir terjadinya gangguan layanan kepada users, sehingga perlu melakukan langkah agar layanan kepada user tetap berjalan dengan baik. Failover server merupakan teknik untuk menangani kegagalan layanan pada server dengan menggantikan peran server utama dengan server cadangan. Implementasi pada failover server memerlukan minimal 2 unit server dengan aplikasi Heartbeat dan DRBD sebagai software pendukung. Penelitian ini memiliki dua tujuan di antaranya: (1) untuk menganalisis service availability pada server yang mengimplementasikan teknik failover pada native server dan virtual server; (2) untuk menganalisis tingkat utilisasi processor dan memory pada server utama serta server cadangan berbasis virtualisasi. Tahapan pada penelitian ini adalah analisis masalah dan kebutuhan sistem, disain dan implementasi sistem, pengujian sistem, analisa hasil dan pembahasan, penarikan kesimpulan. Pada penelitian ini memerlukan sejumlah perangkat server dan beberapa aplikasi diantaranya aplikasi hypervisor untuk virtualisasi, aplikasi sistem operasi dan web server, aplikasi sistem informasi manajemen, dan aplikasi benchmarking. Pada proses pengujian dan pengukuran menggunakan beberapa dukungan aplikasi yaitu Httperf, Sysstat, dan Free. Sistem informasi Perpustakaan merupakan aplikasi untuk akses user ke server ketika proses pengujian dan pengukuran. Berdasarkan proses pengujian menunjukkan presentase proses failover dengan request rate 10 koneksi/detik pada native server 96.99% dan pada virtual server 92.84%. Proses failback pada native server 91.78% dan pada virtual server 82.04%. Proses failback pada native server 91.78% dan pada virtual server 82.04%. Utilisasi processor pada native server rata-rata 67.99% dan pada virtual server dengan 2VS rata-rata 43.73%. Utilisasi memory pada native server rata-rata 48.92% dan pada virtual server dengan 2VS rata-rata 78.13%. Kesimpulannya adalah proses failover menghasilkan presentase service availability yang lebih baik jika dibandingkan dengan proses failback. Sementara
itu, berdasarkan hasil pengukuran utilisasi pada processor dan memory, tingkat kesibukan processor pada virtual server memiliki presentase yang lebih rendah dari native server. Tetapi sebaliknya, utilisasi memory pada virtual server memiliki presentase yang lebih tinggi dari native server. Kata kunci: failback, failover, native server, service availability, virtual server
SUMMARY
DADAN IRWAN. Service Availability and Resources Performance of Analysis on Virtual Server Infrastructure. Supervised by HERU SUKOCO and SRI WAHJUNI.
The server is a main component for processing and provision of information services. The server is designed to provide services continuously without interruption. The use of servers with multicore processor technology and work in a multitasking function has not been fully utilized optimally because it is only used to provide a service application server. The virtualization is a technique used to optimize the functions of a server into multiple virtual machine servers. Meanwhile, the use of a single server has a weakness any damage to hardware or software, thus causing the service to the user will be disrupted. The failover server is a technique for dealing with the failure of the service on the server by replacing the role of the primary server to the backup server. Implementation of failover servers requires a minimum of 2 units to the application server Heartbeat and DRBD as supporting software. This study has two objectives include: (1) to analyze service availability at the server that implements failover technique on the native server and virtual server; (2) to analyze the utilization of the processor and memory on the primary server and backup server of based virtualization infrastructure. Stages of this research are the analysis of the problems and require of the system, the design and system implementation, the system testing, the analysis of results and discussion, the conclusion. In this study requires an amount of devices and applications such as server hypervisor to the virtualization of applications, the operating system and web application servers, the application management information systems, and the application of benchmarking tools. In the process of testing and measurement, uses multiple applications support is Httperf, SYSSTAT, and Free. The library information system is an application for user access to the server when the process of testing and measurement. Based on the testing process, the results showed the percentage failover process to request rate of 10 connection/second on a native server of 96.99% and 92.84% on a virtual server. The failback processes to the native server of 91.78% and 82.04% on a virtual server. The processor utilization on the native server averages of 67.99% and 2 VSs on the virtual server with an average of 43.73%. The memory utilization on the native server averages of 48.92% and 2 VSs virtual server with an average of 78.13%. The conclusion that the failover system can run well, the level of activity on the virtual server processor is lower but at a higher memory. The conclusion was that the percentage availability failover process produces better than the failback process. Meanwhile, based on the results of measurements on the processor and memory utilization, the level of activity on the virtual server processor has a lower percentage of the native server. But otherwise,
memory utilization on the virtual server has a higher percentage of the native server. Keywords: failback, failover, native server, service availability, virtual server
© Hak Cipta Milik IPB, Tahun 2017 Hak Cipta Dilindungi Undang-Undang Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah, dan pengutipan tersebut tidak merugikan kepentingan IPB. Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apapun tanpa izin IPB.
x
ANALISIS KETERSEDIAAN LAYANAN DAN KINERJA SUMBER DAYA PADA INFRASTRUKTUR SERVER VIRTUAL
DADAN IRWAN
Tesis sebagai salah satu syarat untuk memperoleh gelar Magister Ilmu Komputer pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2017
xi
Penguji Luar Komisi pada Ujian Tesis: Irman Hermadi SKom MS PhD
xii Judul Tesis : Analisis Ketersediaan Layanan dan Kinerja Sumber Daya pada Infrastruktur Server Virtual Nama : Dadan Irwan NIM : G651130011
Disetujui oleh Komisi Pembimbing
DrEng Heru Sukoco, SSi MT Ketua
Dr Ir Sri Wahjuni, MT Anggota
Diketahui oleh
Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
Dr Ir Sri Wahjuni, MT
Dr Ir Dahrul Syah, MScAgr
Tanggal Ujian: 8 Februari 2017
Tanggal Lulus:
xiii
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala limpahan nikmat dan karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Judul yang dipilih pada penelitian yang dilaksanakan sejak bulan Juli 2015 ini adalah Analisis Ketersediaan Layanan dan Kinerja Sumber Daya pada Infrastruktur Server Virtual. Terima kasih penulis ucapkan kepada Bapak DrEng Heru Sukoco, SSi MT dan Dr Ir Sri Wahjuni, MT selaku Dosen pembimbing yang telah banyak meluangkan waktu untuk membimbing, mengarahkan serta memberi saran kepada penulis sampai selesainya penelitian ini. Penulis juga mengucapkan terima kasih kepada: 1 2 3
Dr Ir Agus Buono, MSi MKom selaku Ketua Departemen Ilmu Komputer. Dr Ir Sri Wahjuni, MT selaku Ketua Program Studi Magister Ilmu Komputer. Rektor Universitas Islam “45” Bekasi, pimpinan dan teman sejawat di Fakultas Teknik UNISMA yang telah mendorong dan memfasilitasi penulis untuk melaksanakan tugas belajar ini. 4 Staf Tata Usaha Departemen Ilmu Komputer dan FMIPA Institut Pertanian Bogor. 5 Staf Tata Usaha Sekolah Pascasarjana Institut Pertanian Bogor. 6 Kepada kedua orang tua, istri dan ketiga putra tercinta atas cinta kasih dandukungannya kepada penulis, serta seluruh keluarga, dan teman-teman atas segala do’a dan kasih sayangnya. 7 Kementerian Ristek dan Direktorat Pendidikan Tinggi yang telah memberikan Beasiswa BPPDN kepada Penulis selama melaksanakan studi di Program Studi Ilmu Komputer IPB Bogor. 8 Laboratorium Komputer Program Studi Teknik Komputer dan Direktorat Informasi dan Komunikasi Unisma Bekasi yang memfasilitasi selama penelitian tesis ini. 9 Rekan NCC dan satu bimbingan, Yuggo, Akbar, Debby serta teman satu angkatan Ilmu Komputer 2013 yang selalu bersama penulis selama menimba ilmu di kampus tercinta. Semoga segala bantuan, bimbingan, dan motivasi yang telah diberikan kepada penulis senantiasa mendapat balasan dari Allah SWT. Semoga penulisan tesis ini dapat bermanfaat untuk kita semua. Kritik dan saran sangat penulis harapkan demi kesempurnaan tesis ini di masa yang akan datang. Bogor, April 2017
Dadan Irwan
xiv
DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN 1 PENDAHULUAN Latar Belakang Perumusan Masalah Tujuan Penelitian Manfaat Penelitian Ruang Lingkup Penelitian 2 TINJAUAN PUSTAKA Virtualisasi Hypervisor Nilai Rata-rata Availability Clustering Failover Clustering Distributed Replicated Block Device Httperf Generator 3 METODE PENELITIAN Analisis permasalahan dan kebutuhan Kebutuhan Perangkat Lunak Disain Sistem Arsitektur Sistem Disain Topologi Implementasi Sistem Evaluasi dan Pengujian Sistem Pengukuran dan Pengambilan Data 4 HASIL DAN PEMBAHASAN Analisis Utilisasi Processor Analisis Utilisasi Memory Pengujian Failover dan Failback Analisis Service Availability 5 SIMPULAN dan SARAN Simpulan Saran DAFTAR PUSTAKA LAMPIRAN RIWAYAT HIDUP
xiv xv xvi 1 1 2 2 2 2 4 4 4 5 5 5 6 7 8 9 9 10 10 10 11 12 14 15 17 17 19 20 25 26 26 26 27 29 32
xv
DAFTAR TABEL 1 2 3 4 5 6 7 8 9 10 11 12
Parameter Httperf Kebutuhan perangkat keras Spesifikasi server utama dan server cadangan Kebutuhan perangkat lunak Daftar IP address untuk masing-masing server Aplikasi layanan pada server Rancangan virtual machine untuk kedua server Daftar IP address pada virtual server Daftar IP address pada virtual machine Sistem layanan pada server Skenario pengujian pada server Skenario pembebanan pada server
8 9 10 10 12 13 13 13 13 14 15 15
xvi
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Arsitektur pada sistem tradisional (i), hosted virtualization (ii), dan full virtualization (iii) 4 Arsitektur server cluster 4 Arsitektur server cluster pada kondisi normal dan failure 6 Arsitektur failover clustering server 7 Arsitektur distributed replicated block device 7 Diagram alir tahapan penelitian 9 Arsitektur sistem native server 11 Arsitektur virtual server 11 Topologi jaringan pada virtual server 12 Sistem clustering pada full virtualization 14 Utilisasi processor pada server utama 17 Utilisasi processor pada server cadangan 18 Utilisasi memory pada server utama 19 Utilisasi memory pada server cadangan 19 Jumlah request success rate untuk proses failover pada (a) native server dan (b) virtual server 21 Jumlah request success rate untuk proses failback pada (a) native server dan (b) virtual server 22 Jumlah reply rate untuk proses failover pada (a) native server dan (b) virtual server 22 Jumlah reply rate untuk proses failback pada (a) native server dan (b) virtual server 23 Presentase success ratio untuk proses failover pada (a) native server dan (b) virtual server 24 Presentase success ratio untuk proses failback pada (a) native server dan (b) virtual server 24
xvii
DAFTAR LAMPIRAN
1 2 3 4 5 6
Script konfigurasi pada aplikasi Heartbeat Script konfigurasi pada aplikasi DRBD Script pengujian failover dan failback Script uji pembebanan pada processor Script pengukuran utilisasi processor Script pengukuran utilisasi memory
29 29 30 31 31 31
1 PENDAHULUAN Latar Belakang Server merupakan komponen utama untuk pengolahan dan penyediaan layanan informasi. Sebuah server dirancang untuk menyediakan layanan (services) secara terus-menerus tanpa mengalami gangguan (Calzolari et al. 2010). Sementara itu, banyak perusahaan sangat membutuhkan ketersediaan layanan informasi yang mampu memproteksi data dari berbagai gangguan (Thein dan Lwin 2009). Oleh karena itu, dalam penyediaan layanan informasi memerlukan sebuah server dengan dukungan hardware, software dan infrastruktur jaringan yang handal. Pada umumnya, server memiliki teknologi processor multicore dan fungsi kerja secara multitasking, sehingga mampu memberikan layanan dengan maksimal (Tseng et al. 2013). Processor canggih tersebut dapat dimanfaatkan untuk menjalankan aplikasi-aplikasi dan services secara virtual (Ardianto et al. 2012). Saat ini, terdapat banyak server dengan kapasitas dan spesifikasi tinggi namun belum maksimal dalam penggunaannya. Virtualisasi merupakan teknik untuk mengembangkan dan memberdayakan fungsi sebuah server menjadi beberapa server secara virtual (Afriandi 2012). Teknik virtualisasi memiliki beberapa kelebihan seperti peningkatan efisiensi server, penghematan waktu pengembangan dan pemeliharaan, serta penghematan pengadaan software berlisensi (Ardianto et al. 2010). Dampak negatif yang muncul dari penerapan virtualisasi adalah utilisasi sumber daya pada server akan meningkat. Processor dan memory adalah dua komponen utama yang menyokong kinerja sebuah server. Oleh karena itu perlu melakukan pengukuran pada utilisasi processor dan memory untuk mengetahui kinerja server tersebut agar tetap stabil dalam menyediakan berbagai services ke pengguna. Penelitian terkait dengan teknik virtualisasi dilakukan oleh Nurhaida (2009) adalah pengukuran skalabilitas pada prosesor, memori, dan traffic jaringan pada virtualisasi server. Teknik yang digunakan adalah dengan menggabungkan tiga server, dan kemudian berkembang menjadi beberapa server virtual yang memiliki tiga fungsi layanan yang berbeda. Pendekatan lain adalah pengembangan sistem cloud computing menggunakan empat unit server menggunakan teknik clustering untuk menentukan skalabilitas dari virtualisasi server (Rahman 2012). Namun, kedua pendekatan ini memiliki kelemahan karena belum menerapkan teknik failover server, sehingga ketika ada kerusakan atau gangguan ke server akan mengakibatkan gangguan layanan kepada pengguna. Penerapan virtualisasi pada satu server memiliki kelemahan bahwa jika ada kerusakan pada server, maka layanan kepada pengguna akan terganggu (Ngilu et al. 2013). Sistem failover merupakan teknik service availability pada sebuah server untuk mencegah terjadinya kegagalan layanan kepada pengguna. Menurut Muchtar (2012), teknologi failover server merupakan sebuah teknologi yang bertujuan untuk mengatasi kegagalan service availability pada sebuah server dengan cara menggantikan peran server utama dengan sebuah server cadangan. Sementara itu, Menurut Hirt (2009), teknik failover server adalah solusi untuk
2 membantu menjaga akses user ke aplikasi dan sumber daya server ketika terjadi kegagalan fungsi sebuah server. Berdasarkan paparan di atas, maka untuk mengembangkan dan mengoptimalkan fungsi layanan sebuah server kepada pengguna memerlukan teknik virtualisasi dan failover server. Penelitian ini bertujuan menganalisis service availability menggunakan teknik failover server dan melakukan pengukuran utilisasi processor dan memory untuk mengetahui kinerja pada native server dan virtual server.
Perumusan Masalah Berdasarkan latar belakang dan permasalahan di atas, maka rumusan masalah pada penelitian ini adalah sebagai berikut: Bagaimana proses failover dan failback pada kedua server dapat berjalan 1 dengan downtime yang rendah. 2 Pada penerapan teknik virtualisasi, bagaimana tingkat utilisasi processor dan memory pada server utama dan server cadangan. Tujuan Penelitian 1
2
Penelitian ini bertujuan untuk: Menganalisis service availability pada layanan server yang mengimplementasikan teknik failover pada infrastruktur native server dan virtual server. Menganalisis tingkat utilisasi processor dan memory pada server utama serta server cadangan berbasis virtualisasi.
Manfaat Penelitian 1 2 3
Manfaat yang diharapkan dari penelitian ini adalah: Perusahaan atau institusi yang mengelola server sendiri, memiliki keuntungan pada aspek efisiensi dan pengembangan sistem. Aspek pemeliharaan, pengembangan, dan pengawasan sistem oleh pengelola server akan menjadi lebih mudah Tingkat layanan kepada user akan selalu berjalan tanpa terjadi gangguan yang mengakibatkan
Ruang Lingkup Penelitian 1
2 3
Lingkup pada penelitian ini adalah sebagai berikut: Penelitian ini menggunakan metode simulasi dengan membangun testbed di jaringan LAN yang terdiri atas 2 server native yang memiliki 4 mesin server virtual. Manajemen virtualisasi menggunakan metode full virtualization. Jenis failover yang digunakan adalah asynchronous.
3 4 5 6 7
Skenario pengujian pada service availability memiliki perbedaan dengan pengujian kinerja server. Proses pengujian dilakukan dengan skenario terencana (planned scenario). Pada mesin native server dan virtual server menggunakan aplikasi tools benchmarking dan sistem operasi berbasis open soure. Ukuran kinerja (performance metrics) pada service availability menggunakan parameter jumlah request success rate dan jumlah reply rate. Sedangkan pengujian processor dan memory menggunakan tingkat utilisasi.
4
2 TINJAUAN PUSTAKA Virtualisasi Menurut Afrinadi (2012), virtualisasi merupakan teknik untuk mengembangkan dan memberdayakan fungsi sebuah server menjadi beberapa server secara virtual. Teknik virtualisasi memiliki kelebihan diantaranya peningkatan efisiensi penggunaan server, pemeliharaan lebih mudah, dan penghematan pengadaan software berlisensi (Ardianto et al. 2010). Penerapan teknik virtualisasi dapat menggunakan arsitektur hosted maupun full virtualization (Marshall et al. 2009). Arsitektur hosted merupakan teknik virtualisasi yang dijalankan di atas sistem operasi, sedangkan full virtualization merupakan teknik virtualisasi yang dijalankan di atas perangkat keras. Perbedaan arsitektur sistem tradisional, hosted, dan full virtualization dapat dilihat pada Gambar 1.
(i)
(ii)
(iii)
Gambar 1 Arsitektur pada sistem tradisional (i), hosted virtualization (ii), dan full virtualization (iii) (Sumber: vmware ESX essentials in the virtual data center, 2009)
Hypervisor Hypervisor atau virtual machine manager (VMM) adalah sebuah software yang digunakan untuk membangun beberapa komputer secara virtual (Purnoma 2010). Hypervisor berfungsi untuk mengelola sistem virtualisasi yang memungkinkan banyak sistem operasi dapat berjalan secara independen meskipun berada pada satu sumber daya hardware yang sama. Scott lowe membagi hypervisor menjadi 2, yaitu:
5 1
2
Hypervisor type-1 atau Bare-metal hypervisor. Hypervisor ini berjalan langsung di atas hardware yang menjadi host untuk mengatur hardware dan guests-nya, sehingga akses virtual machine bisa langsung ke hardware. Hypervisor type-2 atau Hosted hypervisor. Hypervisor ini berjalan di atas sistem operasi yang berjalan pada host, sehingga guests sistem operasi harus melewati host sistem operasi terlebih dahulu ketika mengakses hardware.
Nilai Rata-rata Penghitungan rata-rata dilakukan dengan menjumlahkan seluruh nilai suatu kelompok sampel, kemudian dibagi dengan jumlah sampel tersebut. Sehingga jika suatu kelompok sampel acak dengan jumlah sampel n, maka bisa dihitung rata-rata dari sampel tersebut dengan menggunakan rumus seperti pada persamaan 1. 𝜇𝑥 =
xi 𝑁
………………………………………………………
(1)
Keterangan: 𝜇𝑥 = Rata-rata populasi Xi= Data ke-i dari variabel acak X 𝑁= Ukuran populasi Availability Availability atau high availability (HA) adalah kondisi dimana sistem layanan selalu tersedia (up), meminimalkan kemungkinan terjadinya downtime dan single-point-of-failure (Calzolari etal. 2010). High-availability cluster, yang juga sering disebut sebagai failover cluster pada umumnya diimplementasikan untuk tujuan meningkatkan layanan yang disediakan oleh cluster tersebut. Elemen cluster akan bekerja dengan memiliki node-node redundan, yang kemudian digunakan untuk menyediakan layanan ketika salah satu elemen cluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redundansi. Clustering Menurut Hirt (2009) clustering adalah dua atau lebih sistem yang bekerja secara bersama-sama untuk mencapai tujuan yang sama. Cluster merupakan sekelompok mesin yang bertindak sebagai entitas tunggal untuk menyediakan sumber daya dan layanan ke jaringan. Dalam dunia komputer server clustering menggunakan lebih dari satu server yang menyediakan redundant interconnections, sehingga user hanya mengetahui bahwa ada satu sistem server yang tersedia dan user tidak menyadari jika terjadi kegagalan pada sistem server karena tersedianya server sebagai redundant atau backup. Arsitektur desain clustering server ditampilkan pada Gambar 2 dan Gambar 3.
6 .
Gambar 2 Arsitektur server cluster (Sumber: https://msdn.microsoft.com/en-us/library/ff649250.aspx)
Gambar 3 Arsitektur server cluster pada kondisi normal dan failure (Sumber: https://msdn.microsoft.com/en-us/library/ff649250.aspx) Terdapat tiga tipe cluster yang dominan yaitu: 1 High Performance Computing (HPC) merupakan tipe cluster HPC ditujukan pada suatu proses komputasi dapat dipercepat, dengan demikian task dapat diselesaikan dengan lebih cepat. 2 High Availability (HA) merupakan tipe cluster ini ditujukan agar program yang dijadikan di atasnya bisa terus berjalan, sekalipun salah satu node hang atau down. 3 Load-Balancing (LB) merupakan tipe cluster ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Failover Clustering Menurut Hirt (2009) failover clustering bertujuan untuk membantu menjaga akses user ke aplikasi dan sumber daya server ketika mengalami kejadiankejadian seperti kegagalan software dan hardware yang mengakibatkan server berhenti bekerja. Failover clustering menyediakan solusi ketersediaan layanan di mana jika terjadi kegagalan pada sistem hardware seperti salah satu komponen mengalami kerusakan yang menyebabkan server utama mati total, maka server cadangan dalam anggota cluster yang akan mengambil alih fungsi dari server yang mati, sehingga user tidak mengetahui jika terjadi kegagalan pada server,
7 karena proses layanan yang diberikan oleh server utama akan diambil alih oleh server cadangan dan apabila server utama sudah kembali normal maka layanan secara otamatis akan kembali ke server utama. Konsep failover cluster adalah membuat satu unit server sebagai server utama dan satu unit server yang lain sebagai server cadangan. Arsitektur desain failover clustering ditampilkan pada Gambar 4.
Gambar 4 Arsitektur failover clustering server (Sumber: https://msdn.microsoft.com/en-us/library/ff650328.aspx)
Distributed Replicated Block Device Distributed replicated block device (DRBD) merupakan perangkat yang dirancang sebagai blok pembangun untuk membentuk high availability (HA) cluster. DRBD juga merupakan jaringan yang berbasis raid-1. Pada Gambar 5 merupakan sebuah ilustrasi dengan dua unit server yang berisi komponenkomponen biasa dari Kernel Linux seperti sistem berkas, buffer cache, disk scheduler, disk driver, TCP/IP stack, dan driver network interface card (NIC).
Gambar 5 Arsitektur distributed replicated block device (Sumber: https://www.drbd.org/en/doc/user-guide-90/ch-fundamentals)
8 Httperf Generator Httperf adalah aplikasi yang digunakan untuk mengukur kinerja web server yang dibuat oleh David Mosberger dari HP Labs. Httperf bekerja menggunakan protokol HTTP baik HTTP/1.0 dan HTTP/1.1 dan menawarkan berbagai generator beban kerja. Httperf menyediakan fitur yang fleksibel dalam pembuatan beban kerja sesuai dengan parameter yang diberikan padanya (Rasian dan Mursanto 2009). Htterf merupakan sebuah tool untuk sistem operasi turunan UNIX. Httperf dapat membangkitkan sejumlah paket load dan mendukung HTTP/1.0 dan HTTP/1.1 (Bullock 2007). Perintah Httperf yang digunakan saat memberikan pembebanan pada sebuah server sebagai berikut: Httperf --server mydomain.com --uri /index.html --num-conn 5000 --rate 200 -timeout 5 Tabel 1 Parameter Httperf No Parameter 1 Httperf 2 --uri /index.html 3
--num-conn 5000
4 5
--rate 200 --timeout 5
Keterangan Perintah untuk menjalankan Httperf Menerangkan dengan spesifik alamat URL yang diakses oleh web server, contoh file index.html Menginstruksikan Httperf untuk menyediakan 5000 koneksi Membuat 200 koneksi baru per detik Mengatur waktu timeout sebesar 5 detik
9
3 METODE PENELITIAN Metode penelitian ini menggunakan beberapa tahapan yaitu analisis permasalahan dan kebutuhan sistem, disain dan implementasi sistem, pengujian sistem, analisis hasil pengujian, dan penarikan kesimpulan. Penelitian ini dilaksanakan di Universitas Islam “45” Bekasi dan Sistem Informasi Perpustakaan merupakan aplikasi yang digunakan untuk pengujian dan pengukuran. Pada Gambar 6 ditunjukkan tahapan-tahapan proses penelitian.
Mulai
Analisi Masalah dan Kebutuhan Selesai Disain dan Implementasi Kesimpulan Native server
Virtual server Analisis Hasil
Pengujian
Gambar 6 Diagram alir tahapan penelitian
Analisis permasalahan dan kebutuhan Tahap pertama adalah menganalisis terhadap permasalahan yang berhubungan dengan topik penelitian. Permasalahan itu diantaranya adalah penggunaan teknik virtualisasi dan sistem failover pada native server dan virtual server. Permasalahan lainnya adalah menganalisis kebutuhan hardware, software, dan infrastruktur jaringan serta mencari jurnal-jurnal dan tulisan-tulisan terkait. Berdasarkan analisis yang dilakukan, maka pada penelitian ini diperlukan beberapa perangkat keras seperti disajikan pada Tabel 2. Tabel 2 Kebutuhan perangkat keras No 1 2 3 4 5 6 7
Jenis perangkat keras Server Switch Harddisk Drive (HDD) Network Interface Card (NIC) Komputer client Router Modem ADSL
Jumlah 2 unit 2 unit 4 unit 4 unit 2 unit 1 unit 1 unit
Keterangan Tidak identik HDD kedua memiliki ukuran sama -
10 Sementara itu, spesifikasi perangkat keras pada kedua server yang digunakan untuk penelitian ini memiliki tipe yang tidak identik dan untuk penerapan failover clustering dengan jenis aktif-pasif tidak memerlukan persyaratan tersebut. Pada Tabel 3 disajikan spesifikasi khusus perangkat keras pada kedua server. Tabel 3 Spesifikasi server utama dan server cadangan No 1 2 3 4 5
Spesifikasi perangkat keras Processor Memory(RAM) Harddisk Drive 01 Harddisk Drive02 Network Interface Card
Server utama
Server cadangan
Intel Xeon 3.0 Ghz Intel Xeon 3.0 Ghz 2048 MB 2048 MB 160 GB 260 GB 80 GB 80 GB eth0 & eth1 eth0 & eth1
Keterangan 2 Core SATA SATA -
Kebutuhan Perangkat Lunak Perangkat lunak yang digunakan pada penelitian ini diantaranya sistem operasi dan aplikasi yang diperlukan untuk membangun sistem native server dan virtual server. Semua perangkat lunak yang digunakan berbasis open source dan non licenses. Pada Tabel 4 ditampilkan daftar kebutuhan perangkat lunak yang digunakan pada proses penelitian. Tabel 4 Kebutuhan perangkat lunak No 1 2 3 4 5 6
Jenis perangkat lunak Sistem Operasi Aplikasi Web Server Aplikasi Hypervisor Aplikasi Clustering Aplikasi sinkronisasi data Tools Benchmarking
Nama perangkat lunak Turnkey Lamp Apache2, PHP, Mysql ProxmoxVE versi 3.4 Heartbeat DRBD Versi 8.4.5 Httperf, Sysstat, Free
Keterangan
Free open source
Disain Sistem Arsitektur Sistem Tahap kedua adalah merancang arsitektur sistem failover dan topologi jaringan. Terdapat dua arsitektur pada failover availability yaitu synchronous dan asynchronous. Pada penelitian ini menggunakan arsitektur asynchronous. Arsitektur asynchronous merupakan arsitektur yang proses sinkronisasinya dilakukan oleh server aktif kepada server pasif. Arsitektur asynchronous adalah jenis failover yang tidak memerlukan server identik dan spesifikasi yang sama. Pada Gambar 7 ditunjukkan disain arsitektur failover pada native server dengan dua unit server, satu server bertindak sebagai server utama dan server lainnya sebagai cadangan. Pada arsitektur yang sama terdapat dua aplikasi yaitu Heartbeat yang berfungsi untuk sistem failover dan Duplicated Replicated Block Device (DRBD) berfungsi untuk proses duplikasi dan replikasi data. Pada Gambar 8 ditunjukkan
11 arsitektur failover pada virtual server. Pada arsitektur ini terdapat dua mesin virtual yang dibangun pada masing-masing server. Arsitektur yang dibangun pada virtual server menyerupai arsitektur pada native server. Perbedaan antara kedua arsitektur ini adalah terletak pada penggunaan dua mesin virtual pada virtual server.
Applications Master server Heartbeat
Slave server Failover and failback of system
DRBD system
Heartbeat
DRBD system Replication of data
Gambar 7 Arsitektur sistem native server Applications
Master server01
Heartbeat
Slave server01 Failover and failback of system
Heartbeat
VM01
VM01 DRBD system
DRBD system Replication of data Replication of data
DRBD system
DRBD system
VM02
VM02
Heartbeat
Failover and failback of system
Master server02
Heartbeat
Slave server02 Applications
Gambar 8 Arsitektur virtual server Disain Topologi Sementara itu, topologi jaringan pada native server dan virtual server memiliki disain yang sama. Terdapat koneksi langsung antara server utama dengan cadangan yang digunakan untuk sistem DRBD. Setiap server terhubung ke jaringan Internet untuk proses implementasi dan pengujian sistem. Pada
12 Gambar 9 ditampilkan rancangan topologi sistem failover pada native server dan virtual server.
Gambar 9 Topologi jaringan pada virtual server Implementasi Sistem Pada tahap ini adalah implementasi sistem failover pada native server dan virtual server. Implementasi sistem failover ini menggunakan dua server, dimana sebuah server sebagai server utama dan server lainnya sebagai server cadangan. Terdapat dua proses yang berbeda pada implementasi sistem failover server. Proses pertama adalah implementasi pada native server dengan menggunakan sistem operasi Turnkey Lamp 64 bit versi 4.2. Pada sistem operasi ini sudah menyediakan dukungan web server, database server, MySQL server, PHP server dan lainnya. Sistem Informasi Manajemen Perpustakaan adalah aplikasi untuk proses pengujian sistem. Scrift konfigurasi pada aplikasi Heartbeat dan DRBD dapat dilihat pada Lampiran 1 dan Lampiran 2. Aplikasi Heartbeat diperlukan untuk proses failover layanan pada server seperti web server dan database server, sedangkan aplikasi DRBD digunakan untuk kebutuhan duplikasi data pada saat terjadi proses failover dan failback. Sementara itu, untuk proses failover diperlukan tiga buah alamat Internet Protocol versi 4 (IP address) diantaranya untuk IP address server utama, server cadangan dan satu buah IP address digunakan bersama-sama sebagai IP virtual yang akan diakses oleh user. Pada Tabel 5 dan Tabel 6 ditampilkan penggunaan IP address dan aplikasi layanan yang digunakan pada masing-masing server. Tabel 5 Daftar IP address untuk masing-masing server No IP address Server utama 1 Eth0 83.1.0.101 2 Eth1 192.168.1.1 3 IP Virtual 83.1.0.103
Server cadangan 83.1.0.102 192.168.1.2 83.1.0.103
13 Tabel 6 Aplikasi layanan pada server No 1 2 3 4 5 6
Jenis aplikasi server Sistem Operasi Failover Clustering Web server Database server Aplikasi website
Server utama Turnkey Lamp Heartbeat DRBD Apache2 Mysql SIM Perpustakaan
Server cadangan Turnkey Lamp Heartbeat DRBD Apache2 Mysql -
Pada tahapan ini, juga diperlukan sebuah Harddisk drive tambahan dengan kapasitas yang sama pada kedua server. Harddisk drive ini diperlukan untuk mentransfer data website ketika server utama mengalami down dan akan dikembalikan lagi ketika server utama sudah aktif. Pada tahapan kedua dibangun sistem virtual server menggunakan aplikasi hypervisor ProxmoxVE 3.4 dengan tipe full virtualization. Selanjutnya, pada masing-masing server dibangun 2 buah virtual machine (VM) dengan jenis KVM, kemudian dipasang sistem operasi dan aplikasi layanan web server dan database server menggunakan Turnkey Lamp versi4.2. Spesifikasi pada masing-masing server dan virtual machine dapat dilihat pada Tabel 7. Sementara itu, pada Tabel 8 dan Tabel 9 ditampilkan IP address untuk setiap server virtualisasi dan VM. Sedangkan pada Tabel 10 ditampilkan sistem layanan pada kedua VM baik pada server utama maupun server cadangan. Pada tahap ini diterapkan failover clustering untuk setiap virtual machine, VM01 pada server utama dipasangkan dengan VM01 pada server cadangan dan VM02 pada server utama dipasangkan dengan VM02 pada server cadangan. Setiap virtual machine pada server utama digunakan sebagai virtual server utama dan setiap virtual machine pada server cadangan digunakan sebagai virtual server cadangan. Tabel 7 Rancangan virtual machine untuk kedua server No 1 2 3 4 5
Spesifikasi logik perangkat keras Processor Memory (RAM) Harddisk Drive01 Harddisk Drive02 Network Interface Card (NIC)
Server utama VM01 VM02 1 core 1 core 512 Mb 512 Mb 50 Gb 50 Gb 10 Gb 10 Gb Eth0 Eth1
Server cadangan VM01 VM02 1 core 1 core 512 Mb 512 Mb 50 Gb 50 Gb 10 Gb 10 Gb Eth0 Eth1
Tabel 8 Daftar IPaddress pada virtual server No 1 2
IP address vmbr0 vmbr1
Jenis server Utama 83.1.0.101 192.168.1.1
Cadangan 83.1.0.102 192.168.1.2
Tabel 9 Daftar IP address pada virtual machine No 1 2 3
IP address Eth0 Eth1 IP Virtual
Server utama VM01 VM02 83.1.0.104 83.1.0.106 192.168.1.3 192.168.1.5 83.1.0.103 83.1.0.108
Server cadangan VM01 VM02 83.1.0.105 83.1.0.107 192.168.1.4 192.168.1.6 83.1.0.103 83.1.0.108
14 Tabel 10 Sistem layanan pada server tahap 2 No
Layanan server
1 2 3 4 5 6
Sistem Operasi Failover Clustering Web server Database server Konten Website
Server utama VM01 VM02 Turnkey Lamp Heartbeat DRBD Apache2 Mysql Ya
Server cadangan VM01 VM02 Turnkey Lamp Heartbeat DRBD Apache2 Mysql Tidak
Pada Gambar 10 disajikan sistem server failover clustering berbasis aplikasi hypervisor full virtualization. Pada masing-masing virtual server dibangun dua buah virtual machine. Pengembangan teknik failover servernya menggunakan aplikasi Heartbeat dan DRBD.
Gambar 10 Sistem clustering pada full virtualization Evaluasi dan Pengujian Sistem Pada tahap ini dilakukan evaluasi untuk mengetahui sistem ketersediaan layanan serta utilisasi sumber daya processor dan memory. Evaluasi dilakukan pada dua jenis server yaitu native server dan virtual server. Evaluasi untuk ketersediaan layanan meliputi pengujian dan pengukuran proses terjadinya failover dan failback. Untuk mengetahui kinerja sumber daya dilakukan pengujian dan pengukuran utilisasi processor dan memory. Proses pengujian dan pengukuran ketersediaan layanan menggunakan tools benchmarking yaitu aplikasi Httperf generator sebagai aplikasi pembangkit untuk request dari user ke server, sedangkan untuk pengukuran utilisasi sumber daya selain menggunakan aplikasi Httperf generator, juga digunakan aplikasi Sysstat untuk pengukuran utilisasi processor dan aplikasi Free untuk pengukuran utilisasi memory. Data hasil pengujian dan pengukuran selanjutnya disajikan dalam bentuk tabel dan grafik yang akan dianalisis berdasarkan tujuan dari penelitian ini. Pada Tabel 11 ditunjukkan skenario pengujian pada sistem failover server dan pengukuran utilisasi sumber daya. Skenario aktivitas request user terhadap layanan server di-generate menggunakan aplikasi Httperf generator dengan jumlah koneksi dan request rate tertentu.
15 Tabel 11 Skenario pengujian pada server No Jenis pengujian Skenario pengujian Server yang diuji 1 Pengukuran Melakukan pembebanan pada utilisasi server dengan mengirim jumlah processor dan koneksi maksimal 4000 dan Native server dan memory. request rate antara 100-1000 virtual server dengan interval 100 koneksi 2 Pengujian failover Menonaktifkan dan mengaktifkan dan failback aplikasi layanan Heartbeat Pengukuran dan Pengambilan Data Proses pengukuran dan pengambilan data baik pada proses failover, failback, serta untuk mengetahui utilisasi sumber daya processor dan memory dilakukan dengan melakukan skenario pengujian seperti pada Tabel 11. Langkah yang dilakukan untuk pengambilan data pada proses failover dan failback serta pengukuran utilisasi sumber daya dapat dilihat pada Tabel 12. Nilai akhir diperoleh dengan menggunakan Persamaan 1 untuk perhitungan nilai rata-rata pada setiap proses pengambilan data tersebut. Data yang dihasilkan dari masingmasing proses pengujian disimpan dalam sebuah file yang memiliki ekstensi *.csv dan *.txt. Tabel 12 Skenario pembebanan pada server Jenis pengukuran dan No Skenario pembebanan pengambilan data 1 Utilisasi processor dan memory Dilakukan proses pengujian dengan skenario pada Tabel 11 yang dilakukan dari user, pada waktu yang sama dilakukan pengukuran utilisasi processor menggunakan aplikasi Sysstat dan pengukuran memory menggunakan aplikasi Free yang jalankan pada server (lihat Lampiran 5 dan 6). 2 Proses failover dan failback Melakukan pembebanan pada server dengan mengirim jumlah koneksi maksimal 2000 dan request rate antara 10-50 dengan interval 10 koneksi, setiap pengujian dilakukan pengulangan sebanyak 5 kali (lihat Lampiran 3 dan 4) Pada proses pengukuran utilisasi processor dan memory untuk kedua jenis server dilakukan pembangkitan request rate secara bertahap mulai dari 100 sampai dengan 1000 koneksi/detik dengan total jumlah koneksi yang sama yaitu 4000. Tabel 13 disajikan skenario uji pembebanan dengan variasi request rate, alamat IP, dan target halaman web-nya.
16 Halaman yang digunakan sebagai target akses dari user ke server adalah index.php. Pada halaman ini menampilkan beberapa layanan seperti 10 jumlah buku terpopuler, 10 jumlah anggota yang paling aktif, beberapa layanan mesin pencari dan login member. Tabel 13 Uji pembebanan dengan total jumlah 4000 koneksi No Request rate (koneksi/detik) Alamat IP 1 100 2 200 3 300 4 400 5 500 83.1.0.103 6 600 7 700 8 800 9 900 10 1000
Halaman web
index.php
17
4 HASIL DAN PEMBAHASAN Analisis Utilisasi Processor
Loud processor (%)
Processor merupakan komponen utama pada server yang berfungsi untuk memproses data. Pada komputer server, komponen tersebut memberikan pengaruh yang sangat besar dalam memproses kecepatan layanan pada user. Semakin tinggi jumlah core processor dan spesifikasinya, maka semakin cepat layanan yang diberikan dan juga proses yang dieksekusinya. Secara spesifik, penggunaan processor pada komputer selain digunakan untuk aplikasi berbasis user juga digunakan untuk system. Sehingga perlu diketahui berapa utilisasi processor pada saat melakukan pemrosesan data yang dikirimkan oleh user. Pada penelitian ini, proses pengukuran utilisasi processor dilakukan bersamaan dengan pengukuran utilisasi pada memory. Kedua proses tersebut dilakukan pada mesin server utama dan server cadangan secara bergantian dengan menggunakan tools aplikasi Sysstat untuk processor dan aplikasi Free untuk memory. Skenario pengujian dilakukan mengacu pada Tabel 11 tentang uji pembebanan kinerja sumber daya menggunakan aplikasi Httperf dengan proses pengulangan sebanyak 10 kali. Pengukuran dilakukan dengan menentukan interval waktu penggunaan kedua komponen setiap detik dan langsung disimpan dalam tipe file *.csv, kemudian data yang dihasilkan dari pengukuran dihitung nilai rata-rata untuk setiap 10 kali pengulangan. Pada Gambar 11 disajikan utilisasi processor pada server utama dan pada Gambar 12 disajikan utilisasi processor pada server cadangan. Terdapat 3 jenis data diantaranya adalah native server (NS), sebuah layanan virtual server (1VS) dan dua buah layanan virtual server (2VS). Pengujian pada kedua jenis server diperlukan untuk mengukur seberapa besar utilisasi processor yang digunakan oleh sistem dalam mengeksekusi berbagai layanan aplikasi ditingkat user dan system. 100
NS
90
1VS
80
2VS
70 60 50 40 30 20
10 0 100
200
300
400
500
600
700
800
900 1000
Request rate (koneksi/detik)
Gambar 11 Utilisasi processor pada server utama
18
Loud processor (%)
100
NS
90
1VS
80
2VS
70
60 50 40 30 20 10 0 100
200
300
400
500
600
700
800
900 1000
Request rate (koneksi/detik)
Gambar 12 Utilisasi processor pada server cadangan Berdasarkan data pada Gambar 11 dan Gambar 12, ditunjukkan beban utilisasi processor dengan variasi alokasi processor yang tersedia. Pada native server teralokasi jumlah core processor sebanyak 2 core dan pada server virtual teralokasi jumlah core processor masing-masing 1 core. Berdasarkan pengujian yang telah dilakukan, bahwa beban tertinggi utilisasi processor native server pada server utama adalah 89.08%, sedangkan ketika menjalankan kedua server virtual pada virtual server dalah 58.80%. Sementara itu, pada server cadangan beban tertinggi untuk native server adalah 89.05% dan ketika menjalankan kedua server virtual adalah 76.81%. Utilisasi processor pada native server menggunakan resources rata-rata sebesar 68.08%, sedangkan utilisasi processor pada virtual server dengan beban 1 server virtual rata-rata 22.78% dan 2 server virtual 43.73%. Pada server cadangan utilisasi processor untuk native server rata-rata 67.91% dan pada virtual server dengan beban 1 server virtual sebesar 35% dan 2 server virtual sebesar 51.33%. Utilisasi processor pada native server cenderung lebih tinggi dibandingkan dengan utilisasi pada virtual server. Dengan demikian, tingkat kesibukan processor pada virtual server lebih rendah dibandingkan pada native server, sehingga nilai efisiensi pemakaian server lebih tinggi. Salah satu penyebab tingginya utilisasi pada native server yaitu sistem operasi dipasang langsung di atas hardware, sehingga terdapat banyak system aplikasi dan driver yang berjalan dan menggunakan banyak resources pada server tersebut. Sementara itu, tingginya utilisasi processor pada request rate (rr) yang rendah disebabkan durasi waktu untuk memproses rr yang rendah memerlukan waktu yang lebih lama dibandingkan dengan rr yang lebih tinggi. Sebagai contoh, ketika jumlah rr=200 koneksi/detik dengan jumlah total 4000 koneksi, maka server memerlukan waktu proses sekitar 20 detik. Sementara itu, ketika jumlah rr=1000 koneksi/detik dan jumlah total 4000 konekasi, maka server memerlukan waktu proses sekitar 4 detik.
19 Analisis Utilisasi Memory
Utilisasi memory (%)
Pengukuran memory diperlukan untuk mengetahui penggunaan pada memory sebagai media penyimpanan sementara pada server. Pengukuran utilisasi memory dilakukan bersamaan dengan proses pengukuran pada processor. Skenario dan proses pengukuran utilisasi pada memory mengacu pada Tabel 11. Aplikasi yang digunakan untuk mengukur utilisasi memory yaitu Free yang dijalankan pada mesin server utama dan server cadangan. Pada Gambar 13 dan Gambar 14 disajikan utilisasi memory untuk server utama dan server cadangan pada native server dan virtual server. Terdapat 3 jenis data diantaranya adalah native server (NS), sebuah layanan virtual server (1VS) dan dua buah layanan virtual server (2VS) 100 90 80 70 60 50 40 30 20 10 -
NS 1VS 2VS
100 200 300 400 500 600 700 800 900 1000 Request rate (koneksi/detik)
Utilisasi memory (%)
Gambar 13 Utilisasi memory pada server utama 100
NS
90
1VS
80
2VS
70 60 50 40 30 20 10
0 100 200 300 400 500 600 700 800 900 1000 Request rate (koneksi/detik)
Gambar 14 Utilisasi memory pada server cadangan
20 Utilisasi memory pada kedua native server menunjukkan nilai yang tidak jauh berbeda dan cenderung mengalami peningkatan secara linear seiring dengan kenaikan request rate-nya. Utilisasi memory pada native server untuk server utama dan server cadangan menunjukkan presentase yang relatif sama. Sementara itu utilisasi memory pada virtual server dengan beban 2 server virtual menunjukkan kenaikan presentase hampir 100% dari utilisasi pada native server. Utilisasi memory pada kedua jenis server memiliki perbedaan nilai seperti utilisasi pada sumber daya processor. Tetapi nilai utilisasi sumber daya memory pada setiap native server memiliki nilai yang lebih rendah dibandingkan nilai utilisasi sumber daya memory pada virtual server baik saat dijalankan 1VS maupun 2VS. Utilisasi memory pada native server untuk server utama rata-rata 48.92% dan untuk server cadangan rata-rata 52.25%. Sementara itu, rata-rata utilisasi memory virtual server untuk server utama dengan beban 1 server virtual pada native server sebesar 55.99%, dengan beban 2 server virtual sebesar 78.13%. Pada server cadangan, rata-rata utilisasi memory virtual server dengan beban 1 server virtual sebesar 61.36%, dengan beban 2 server virtual sebesar 85.08%. Presentase data pada kedua server menunjukkan tingkat utilisasi memory native server cenderung lebih rendah dibandingkan dengan utilisasi memory pada virtual server. Dengan demikian, beban rata-rata memory pada virtual server lebih tinggi dibandingkan dengan native server. Berdasarkan tingkat utilisasi memory pada dua jenis server, virtual server lebih membutuhkan kapasitas memory yang lebih besar dibandingkan dengan native server.
Pengujian Failover dan Failback Proses pengujian failover dan failback pada mesin virtual server hanya dilakukan pada 1VS dan VS lainnya dalam kondisi standby. Kendala yang dihadapi yaitu ketika pengujian dilakukan pada kedua VS, proses failover dan failback tidak dapat berjalan dengan baik. Permasalahan tersebut disebabkan besarnya proses transmisi data melalui satu network interface card (NIC). Data yang didapat dari proses pengujian merupakan parameter uji dari aplikasi Httperf yaitu jumlah request success rate dan reply rate. Sementara itu, parameter yang digunakan untuk mengevaluasi service availability yaitu jumlah reply rate yang direpresentasikan sebagai success ratio. Spesifikasi server yang digunakan pada native server dan virtual server berdasarkan pada Tabel 3 dan Tabel 7. Proses pengujian failover dan failback dilakukan dengan menonaktifkan layanan aplikasi Heartbeat pada server utama. Sedangkan pengujian failback dilakukan dengan mengaktifkan kembali layanan aplikasi Heartbeat pada server tersebut. Proses pengujian ini dilakukan dengan memberikan skenario pembebanan pada setiap server, baik pada native server maupun virtual server menggunakan aplikasi Httperf seperti pada Tabel 11. Diasumsikan terdapat jumlah total 2000 koneksi dengan variasi request rate antara 10 sampai 50 koneksi/detik dan ditingkatkan request rate-nya setiap interval 10 koneksi. Pengujian dilakukan secara bertahap dengan jumlah pengulangan sebanyak 5 kali. Data akhir yang ditampilkan adalah data yang telah diproses melalui perhitungan rata-rata dengan menggunakan Persamaan 1.
21 Proses pengujian pertama dilakukan pada native server untuk menghitung berapa waktu yang diperlukan oleh server cadangan untuk mengambil alih layanan dari server utama, kemudian pengujian pada proses failback yaitu untuk mengembalikan layanan dari server cadangan ke server utama.
Parameter Request Success Rate
2000
2000 1800 1600 1400 1200 1000 800 600 400 200 0
Request success rate (koneksi)
Request success rate (koneksi)
Request success rate (rsr) merupakan parameter untuk menggambarkan jumlah permintaan yang berhasil diterima oleh server dari jumlah total request rate yang dikirimkan dari komputer user. Data tersebut diperlukan untuk mengetahui jumlah permintaan yang berhasil diterima oleh server, sehingga dari parameter ini akan menentukan kemampuan layanan sebuah server. Hasil pengujian proses failover dan failback untuk parameter request success rate pada native server dan virtual server ditunjukkan pada Gambar 15 dan Gambar 16.
1800 1600 1400 1200
1000 800 600 400 200 0
10
20
30
40
Request rate (koneksi/detik)
(a)
50
10
20
30
40
50
Request rate (koneksi/detik)
(b)
Gambar 15 Jumlah request success rate untuk proses failover pada (a) native server dan (b) 1 virtual server Berdasarkan hasil pengujian proses failover pada native server didapat jumlah request success rate yang lebih tinggi dibandingkan dengan virtual server. Sementara itu, jumlah request success rate pada proses failback untuk kedua jenis server, didapat nilai yang fluktuatif baik pada native server maupun pada virtual server. Ketika dilakukan peningkatan jumlah request rate dari user, maka jumlah request success rate semakin menurun dan faktor tersebut disebabkan terjadinya kegagalan proses yang terjadi pada server. Penurunan jumlah request success rate untuk proses failover pada kedua jenis server (NS dan VS) cenderung linear karena kondisi server cadangan sudah siap untuk mengambil alih services dari server utama. Sementara jumlah request success rate untuk proses failback pada kedua jenis server (NS dan VS) cenderung menurun secara fluktuatif. Faktor yang menyebabkan kondisi tersebut adalah pemulihan services oleh server utama dari server cadangan tidak sebaik proses failover.
2000
1800
1800
1600
Request success rate (koneksi)
Request success rate (koneksi)
22
1600 1400 1200
1000 800 600 400 200
1400 1200 1000
800 600 400 200 0
0 10
10 20 30 40 Request rate (Koneksi/detik)
20 30 40 50 Request rate (Koneksi/detik)
(a)
50
(b)
Gambar 16 Jumlah request success rate untuk proses failback pada (a) native server dan (b) virtual server Parameter Reply Rate
2000
2000
1800
1800
1600
1600
Relpy rate (koneksi)
Relpy rate (koneksi)
Reply rate merupakan parameter untuk menggambarkan jumlah request rate yang berhasil diterima kembali oleh user setelah melalui pemprosesan pada server. Parameter ini diperlukan untuk mengetahui jumlah total request rate dari user yang berhasil diterima oleh server dan kembali dikirim ke user. Jumlah reply rate didapat dari selisih antara jumlah request success rate dikurang jumlah error rate dari total koneksi yang dikirim oleh user ke server. Pada Gambar 17 dan Gambar 18 ditunjukkan jumlah reply rate hasil pengujian proses failover dan failback pada kedua jenis server yaitu native server dan virtual server. Data yang didapat dari pengujian proses failover pada kedua jenis server yaitu native server dan virtual server, relatif memiliki jumlah reply rate yang lebih tinggi dibandingkan proses failback. Jumlah reply rate yang diterima user sangat dipengaruhi oleh proses yang dilakukan pada server.
1400 1200 1000 800 600
1400 1200 1000 800 600
400
400
200
200
0
0 10
20
30
40
50
10
20
30
40
Request rate (koneksi/detik)
Request rate (koneksi/detik)
(a)
(b)
Gambar 17 Jumlah reply rate untuk proses failover pada (a) native server dan (b) virtual server
50
2000 1800 1600 1400 1200 1000 800 600 400 200 0
1800 1600 1400 Reply rate (koneksi)
Reply rate (koneksi)
23
1200 1000 800 600 400
200 0 10 20 30 40 Request rate (koneksi/detik)
(a)
50
10
20 30 40 Request rate (koneksi/detik)
50
(b)
Gambar 18 Jumlah reply rate untuk proses failback pada (a) native server dan (b) virtual server Berdasarkan data pada Gambar 18, terlihat bahwa jumlah reply rate pada proses failback mengalami penurunan pada rr 30 koneksi/detik. Ketika kondisi perangkat pemroses pada server sudah mengalami tingkat kejenuhan, maka akan mempengaruhi jumlah reply rate yang dikirimkan ke user. Sementara itu, jumlah reply rate untuk proses failback mengalami fluktuasi baik pada native server maupun pada virtual server.
Parameter Success Ratio Pada penelitian ini, success ratio diperlukan sebagai parameter dalam menentukan tingkat ketersediaan layanan pada sebuah server. Success ratio disajikan dalam bentuk presentase yang merupakan representasi dari service level agreement (SLA) pada layanan yang diberikan oleh sebuah provider. Service availability sebuah server dapat dikatakan baik jika mampu memberikan layanan di atas 99.99% tanpa terjadi gangguan kepada user. Presentase success ratio didapat dengan menghitung jumlah reply rate dibagi dengan jumlah total koneksi yang dikirim oleh user ke server kemudian dikali 100%. Pada Gambar 19 dan Gambar 20 ditunjukkan presentase nilai success ratio pada proses failover dan failback. Presentase success ratio untuk proses failover pada native server memiliki nilai yang lebih baik dibandingkan dengan virtual server. Pada kondisi tertentu, virtual server dapat mengalami kinerja yang tidak stabil seperti tampak pada jumlah rr 30 koneksi/detik. Sementara itu, presentase success ratio pada proses failback untuk native server memiliki presentase yang lebih tinggi dan cenderung relatif menurun secara linear. Pada virtual server terjadi fluktuasi layanan pada server, sehingga menghasilkan presentase success ratio yang bersifat fluktuatif. Beberapa faktor yang menyebabkan kinerja virtual server mengalami fluktuasi adalah semua komponen pada server tersebut besifat virtual.
24
100
90
90
80
80 Success ratio (%)
100
Success ratio (%)
70 60 50 40
30
70 60
50 40 30
20
20
10
10
0
0 10
20
30
40
10
50
20
30
40
50
Request rate (Koneksi/detik)
Request rate (Koneksi/detik)
(a)
(b)
Gambar 19 Presentase success ratio untuk proses failover pada (a) native server dan (b) virtual server
90
80
80
70
70
Success ratio (%)
100
90
Success ratio (%)
100
60 50 40 30
60 50 40 30
20
20
10
10
0
0
10
20
30
40
Request rate (Koneksi/detik)
(a)
50
10
20
30
40
50
Request rate (Koneksi/detik)
(b)
Gambar 20 Presentase success ratio untuk proses failback pada (a) native server dan (b) virtual server Berdasarkan presentase success ratio pada proses failover untuk native server, tingkat ketersediaan layanan pada rr 10 koneksi/detik menghasilkan 96.99% dan pada virtual server pada rr yang sama menghasilkan nilai 92.84% dan nilai tersebut masih di bawah nilai SLA ideal. Sementara itu, presentase success ratio pada proses failback menghasilkan nilai di bawah proses failover. Pada jumlah rr di atas 10 koneksi/detik, terjadi penurunan pada nilai presentase success ratio pada kedua jenis server baik untuk proses failover maupun failback. Salah satu faktor yang menyebabkan terjadinya penurunan nilai jumlah success ratio adalah munculnya tingkat kejenuhan perangkat pemroses pada server.
25 Analisis Service Availability Berdasarkan pengukuran processor pada native server dan virtual server yang dilakukan dengan skenario pengujian dan uji pembebanan pada Tabel 11 dan Tabel 12, hasil yang didapat menunjukkan bahwa virtual server memiliki tingkat efisiensi dalam utilisasi processor. Pada native server, terdapat sistem operasi yang mengatur dan mengelola semua sumber daya baik hardware maupun software, sehingga mempengaruhi beban kerja pada processor. Sementara pada server virtual, sistem operasi berada di atas lingkungan aplikasi hypervisor sehingga beban pada perangkat pemroses tidak terlalu besar. Beban processor pada virtual server menunjukkan presentase yang lebih kecil, sehingga sangat cocok untuk dikembangkan menjadi server yang dapat memberikan layanan berbeda pada server yang sama. Pada pengujian failover dan failback menunjukkan bahwa native server memiliki presentase service availability yang lebih baik dibandingkan dengan virtual server. Service availability merupakan tingkat kemampuan layanan yang diberikan sebuah server pada user. Semakin tinggi presentase service availability yang diberikan, maka semakin baik pula layanan dari sebuah server. Presentase ideal untuk service availability sebuah server adalah 99.99%, artinya dimungkinkan terjadi adanya gangguan layanan hanya 0.1%. Beberapa parameter yang digunakan pada penelitian ini seperti request success rate, reply rate, dan success ratio merupakan parameter yang digunakan untuk menentukan tingkat service availability sebuah server. Berdasarkan proses pengujian kinerja processor, proses failover dan failback pada native server dan virtual server, nilai yang dihasilkan menunjukkan bahwa perangkat pemroses (processor) sangat mempengaruhi terhadap tingkat ketersediaan layanan pada server. Sementara itu, efisiensi utilisasi processor pada server virtual memungkinkan untuk diterapkan teknik virtualisasi dengan jenis full virtualization dalam penyediaan server dan dikombinasikan dengan teknik failover dalam penyediaan layanan pada user.
26
5
SIMPULAN dan SARAN Simpulan
Berdasarkan permasalahan, tahapan-tahapan proses dan hasil dari beberapa pengujian yang dilakukan maka dapat disimpulkan bahwa beban processor pada native server, menggunakan resources rata-rata sebesar 67.99%, sementara beban processor pada virtual server dengan 2 mesin virtual sebesar rata-rata 43.73%. Utilisasi memory pada native server rata-rata sebesar 48.92%, sedangkan utilisasi memory pada virtual server 2 mesin virtual dengan beban tertinggi rata-rata sebesar 78.13%. Presentase service availability tertinggi terjadi pada failover dengan jumlah request rate 10 koneksi/detik sebesar 96.99%, sedangkan pada failback sebesar 91.78%. Presentase bersifat load-dependent artinya dapat berubah sesuai dengan beban yang diberikan. Sementara itu tingkat kesibukan processor pada virtual server memiliki presentase yang lebih rendah dibandingkan dengan native server. Tetapi sebaliknya, utilisasi memory pada virtual server memiliki presentase yang lebih tinggi dari native server. Tingkat service availability pada virtual server memiliki presentase yang lebih baik dibandingkan dengan native server dengan jumlah core processor yang sama. Teknik virtualisasi dengan jenis full virtualization dan teknik failover memberikan solusi dalam penyediaan server dengan layanan yang berbeda.
Saran Perlu dilakukan proses pengujian failover dan failback pada infrastruktur virtual server dengan menjalankan virtual machine lebih dari satu dengan penggunaan interface card yang berbeda.
27
DAFTAR PUSTAKA Afriandi A. 2012. Perancangan, Implementasi, dan Analisis Kinerja Virtualisasi Server Menggunakan Proxmox, VMWare ESX, dan OpenStack. [Thesis]. Magister Teknologi Informasi. Universitas Gajah Mada. Yogyakarta. Ang CW. Tham CK. 2007. Analysis and Optimization of Service Availability in a HA Cluster with Load-dependent Machine Service Availability.IEEE Transactions on Parallel and Distributed Systems.Vol. 18 No. 9. Ardianto N, Widyawan, Sumaryono N. 2012. Pengembangan Virtual Appliance Serverdengan Metode Virtualisasi.JNTETI.Vol 1 No. 1. Bullock T. 2007.httperf Web Workload Generator Quickstart Guide Calzolari, Federico; Arezzini, Silvia; Ciampa, Alberto eds. High Availability Using Virtualization.IOP Sciense, 2010. Hirt A. Pro SQL Server. 2008. Failover Clustering. USA, A press: 2009 Isminarti, Ilham AA, Niswar. 2012. Kinerja Hypervisor Pada Mesin Virtual Multiplatform Berbasis Cloud Computing. JRistek.Vol. 1 No. 1. Lwin TT, Thein T. 2009. High Service Availability Cluster System for Local Disaster Recovery with Markov Modeling Approach. International Journal of Computer Science Issues (IJCSI), Vol. 6, No. 2. Kopper K. The Linux Enterprise Cluster: Build a Highly Available Cluster with Commodity Hardware and Free Software. 2006. Marshall DW, McCarty JW, Beaver SS. VMware ESX Essentials in the Virtual Data Center. Published in 2009. Marshall A, Reynolds, McCorory. 2006. Advanced Server Virtualization: VMware and Microsoft Platforms in the Virtual Data Center. Margaretha M, Marini, Tjiptadi R. 2012. Performa Koneksi Menggunakan Virtualisasi dengan Proxmox Pada IPTEKNET.Binus University. Muchtar A, Sadjad R, Niswar M. None.Implementasi Failover Clustering Pada Dua Paltform yang Berbeda untuk Mengatasi Kegagalan Fungsi Server. Fakultasi Teknik Universitas Hasanuddin. Ngilu FS, Sujoko S, Adji TB. 2013. Overhead Analysis as One Factor Scalibility of Private Cloud Computing for IAAS Service. International Journal of Scientific & Engineering Research (IJSER), Vol. 4. No.5. May 2013. None, Performance Tuning Concepts (JBoss AS 5) Part 1, http://what-whenhow.com/jboss-as-5-performance-tuning/performance-tuning-conceptsjboss-as-5-part-1/, retrieved August 7, 2016 None, Server Clustering, https://msdn.microsoft.com/en-us/library/ff649250.aspx, retrieved Mei 25, 2015 Nurhaida I. 2009. Pengukuran Overhead, Linearitas, Isolasi Kinerja dan Penggunaan Sumber Daya Perangkat Keras pada Server Virtual. [Thesis].Fakultas Teknik Program Studi Teknik Elektro Program Pasca Sarjana Bidang Ilmu Teknik Universitas Indonesia.Depok. Patil, N.V., et al. (2014). Cost Effective Failover Clustering. International Journal of Research in Engineering and Technology, Vol 3. Purnoma. 2010. Membangun Virtual PC dengan VirtualBox. Yogyakarta: Andi Offset.
28 Rahma F, Adji TB, Widyawan. 2013. Scalability Analysis of KVM-Based Private Cloud for IaaS. International Journal of Cloud Computing and Services Science (IJ-CLOSER). Vol.2.No.4. pp. 288-295. Rasian R, and Mursanto P. 2009. Perbandingan Kinerja Pendekatan Virtualisasi, http://jurnal.mti.cs.ui.ac.id/index.php/jsi/article/viewFile/267/93,retrieved August 10, 2016
29
LAMPIRAN Lampiran 1 Script konfigurasi pada aplikasi Heartbeat file authkeys: auth3 3 md5 bismill4h
File ha.cf logfacility local0 keepalive 2 deadtime 30 warntime 10 initdead 120 udpport 694 bcast eth0 bcast eth0 node master node slave auto_failback on
File haresources Master IPaddr::83.1.0.103/24/eth0 drbddisk::serverFilesystem::/dev/drbd0::/srv::ext4 mysql apache2
Lampiran 2 Script konfigurasi pada aplikasi DRBD File server.res resourceserver { protocol C; startup { wfc-timeout 30; outdated-wfc-timeout 20; degr-wfc-timeout 120; } handlers { split-brain "/usr/lib/drbd/notify-split-brain.sh root"; } net { cram-hmac-alg sha1; shared-secret “bismill4h”; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; } syncer { rate 100M; al-extents 257;
30 on-no-data-accessible io-error; } on master { device /dev/drbd0; disk /dev/sdb1; address 192.168.1.1:7788; flexible-meta-disk internal; } on slave{ device /dev/drbd0; disk /dev/sdb1; address 192.168.1.2:7788; flexible-meta-disk internal; } }
File global_common.conf global{ usage-count no; } common{ syncer { rate 30M; verify-alg md5; }
Lampiran 3 Script pengujian failover dan failback #httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=10 > Uji01-FO.txt s.d Uji05-FO.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=20 > Uji01-FO.txt s.d Uji05-FO.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=30 > Uji01-FO.txt s.d Uji05-FO.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=40 > Uji01-FO.txt s.d Uji05-FO.txt
--num-
--uri=/index.php #httperf --server=83.1.0.103 conns=2000 --rate=05 > Uji01-FO.txt s.d Uji05-FO.txt
--num-
Script pengujian failback #httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=10 > Uji01-FB.txt s.d Uji05-FB.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=20 > Uji01-FB.txt s.d Uji05-FB.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=30 > Uji01-FB.txt s.d Uji05-FB.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=40 > Uji01-FB.txt s.d Uji05-FB.txt
--num-
#httperf --server=83.1.0.103 --uri=/index.php conns=2000 --rate=05 > Uji01-FB.txt s.d Uji05-FB.txt
--num-
31 Lampiran 4 Script uji pembebanan pada processor #httperf --server=83.1.0.103 --uri=/index.php –num conns=4000 --rate=100 > Uji-Master100-01.txt s.d UjiMaster100-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=200 > Uji-Master200-01.txt s.d UjiMaster200-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=300 > Uji-Master300-01.txt s.d UjiMaster300-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=400 > Uji-Master400-01.txt s.d UjiMaster400-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=500 > Uji-Master500-01.txt s.d UjiMaster500-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=600 > Uji-Master600-01.txt s.d UjiMaster600-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=700 > Uji-Master700-01.txt s.d UjiMaster700-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=800 > Uji-Master800-01.txt s.d UjiMaster800-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=900 > Uji-Master900-01.txt s.d UjiMaster900-10.txt #httperf --server=83.1.0.103 --uri=/index.php --numconns=4000 --rate=1000 > Uji-Master1000-01.txt s.d UjiMaster1000-10.txt
Lampiran 5 Script pengukuran utilisasi processor #iostat -c 1 > uji-cpu01.csv s.d uji-cpu10.csv
Lampiran 6 Script pengukuran utilisasi memory #free -m -s 1 > uji-mem01.csv s.d uji-mem10.csv
32
RIWAYAT HIDUP Penulis dilahirkan di Garut pada tanggal 30 Maret 1975 sebagai anak ketujuh dari pasangan Djana Djanudin dan Ariah Juariah (alm). Saat ini penulis bertempat tinggal di Perumahan Puri Juanda Regency Blok Q Jl. Hayam Wuruk II No. 4 RT. 11 RW.04 Kelurahan Duren Jaya Kecamatan Bekasi Timur Bekasi. Pendidikan sarjana ditempuh di Program Studi Teknik Informatika Universitas Mercubuana, lulus tahun 2007. Pada tahun 2013 penulis melanjutkan pada Program Studi Ilmu Komputer Sekolah Pascasarjana Institut Pertanian Bogor. Beasiswa Pendidikan penulis peroleh dari Kementrian Riset dan Direktorat Pendidikan Tinggi melalui program BPPDN. Penulis bekerja sebagai staff pengajar pada Program Studi Teknik Komputer Fakultas Teknik Universitas Islam “45” Bekasi sejak tahun 2007. Bidang kajian yang menjadi tanggung jawab penulis adalah network centric computing (NCC). Selama mengikuti program S2, penulis aktif menjadi anggota forum dosen Aptikom. Penulis juga aktif mengikuti kegiatan seminar, workshop dan kegiatan lainnya baik di kampus tempat penulis kuliah maupun di luar kampus IPB.