Ringkasan Tugas Akhir PERANCANGAN DAN IMPLEMENTASI SISTEM HIGH AVAILABILITY DENGAN VIRTUALISASI William 13204161 Kelompok Keilmuan Teknik Telekomunikasi Program Studi Teknik Elektro Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Dosen Pembimbing: Dr. Ir. Harry Santoso
Abstrak Tugas akhir ini membahas penggunaan virtualisasi untuk menyediakan layanan high availability. Virtualisasi bertujuan untuk menggunakan resource hardware seefisien mungkin untuk menyediakan layanan. Setiap layanan akan dijalankan pada mesin virtual yang dapat dimigrasikan antar node secara cepat untuk mencapai availability yang tinggi. Hal ini dilakukan dengan menggunakan software Xen untuk membuat mesin virtual dan Heartbeat untuk menyediakan layanan high availability. Untuk dapat melakukan fungsinya diatas, tiaptiap mesin virtual harus menyimpan konfigurasinya pada sebuah shared storage yang dapat diakses setiap node.
Kata kunci : virtualisasi, high availability 1.
TINJAUAN PUSTAKA
High availability, sesuai etimologinya, adalah kemampuan sistem komputer untuk menyediakan suatu layanan tanpa gangguan. Availability berhubungan dengan kemampuan user untuk mengakses sistem tanpa gangguan. Availability adalah perbandingan antara waktu uptime dengan waktu total waktu pengukuran, waktu uptime dan waktu downtime. Dengan persamaan matematis sebagai berikut:
Downtime, yang biasa disebut outage, adalah periode waktu dimana sebuah sistem tidak tersedia atau offline. Hal ini umumnya terjadi karena gangguan pada sistem yang disebabkan oleh kerusakan, maintenance, atau upgrade pada sistem.
Virtualisasi umumnya digunakan ketika akan melakukan sesuatu yang tidak mungkin dilakukan pada kenyataan. Pada virtualisasi, komputer menjalankan mesin virtual secara terpisah dan berkomunikasi menggunakan protokol IP. Keuntungan menggunakan sistem ini adalah jika salah satu mesin virtual mengalami gangguan, yang lainnya tidak akan terpengaruh. Dengan menjalankan satu layanan untuk tiap mesin virtual, resiko gangguan yang disebabkan pengaruh dari suatu layanan terhadap layanan lain dapat diminimalkan. Penggunaan metode ini tanpa menggunakan virtualisasi membutuhkan biaya yang besar karena dibutuhkan lebih banyak hardware dan biaya perawatan yang tinggi. Dengan menggunakan virtualisasi, layanan dapat dijalankan pada mesin virtual tertentu yang bekerja pada suatu node.
Virtualisasi memiliki beberapa kelebih han yang dapat dimanfaatkan n pada sistem high avvailability. Antaara lain: • Flleksibilitas. Sesseorang dapat menjalankan beeberapa operaating system pada p sebuah terjadinya koomputer, meemungkinkan migrasi mesin viirtual ke komp puter lainnya. • Avvailability. Mesin M virtual tetap dapat beerjalan ketikaa node fisik dimatikan, seebagai contohh ketika up pgrade dan ma aintenance harrdware. • Sccalability. Mu udah untuk menambahkan m ataau memindahk kan node fisik. • Uttilisasi hardw ware. Utilisassi hardware meningkat kettika melayanni beberapa opperating system m secara bersam ma. • Keeamanan. Haal ini disebabkan oleh peemisahan layannan. Kekuraangan dari virtuualisasi: • Ovverhead. Men ngakibatkan berkurangnya b peerforma yan ng disebabbkan oleh virrtualisasi. Peerforma akann berkurang kaarena fleksibilittas ditingkatkaan. • SP POF (single po oint of failure) e). Walaupun mesin virtual terpisah darii hardware, mesin virtual tetap berganntung pada haardware agar dapat bekerjaa. Kerusakan paada hardwarre dapat menyebabkan m gaangguan pada mesin m virtual. u tool yang Heearbeat adalah salah satu dikembbangkan oleh Linux High Availability (Linux--HA) untuk mendukung kebutuhan layanann high availability. Hearrbeat dapat digunakkan untuk men ndeteksi node yang offline (mati), komunikasi antar a node daan mengatur jaringan n. [1,7] Xeen adalah toool untuk virtuualisasi yang dikembbangkan Uniiversity of Cambridge Compu uter Laboratorry. Xen adalah software open soource dan graatis untuk dig gunakan dan dimodiffikasi. Dengaan Xen, bebeerapa mesin virtual dapat bekerjja bersama pada p sebuah g mempengaruhhi. komputter tanpa saling
2. PE ERANCANG GAN DAN IMPLE EMENTASI 2.1. Perancangan da penelitian Topologi yang digunakan pad d ini. ini dittunjukkan padda gambar dibawah Design n tersebut mem miliki banyakk kekurangan khususnya dalam m masalah singgle point of failure,, tetapi hal ini tidak akan diperhitungkan karena penelitian ini akan membah has kestabilan sistem ketika suatu layanan matti, dan tidak mempeerhitungkan keesalahan yang berhubungan dengann redundansi haardware.
G Gambar 1. Toppologi pada pennelitian 2.2. Im mpelementasi Daemon D pada Heartbeat bekerja b pada jaringaan untuk mengkkomunikasikan n status node setiap waktu. Ketikka suatu nodee mengalami gangguuan, proses migrasi m mesin virtual akan dilakukkan ke node llainnya. Ketika node yang mengallami gangguann tersebut sudaah diperbaiki dan keembali hidup,, proses migrrasi kembali dilakukkan untuk menngembalikan mesin m virtual yang teelah dimigrasikkan ke node asaalnya. Disk D image ddari tiap mesin m virtual disimpaan pada shareed storage, meembuat setiap mesin virtual dapatt dijalankan pada semua S satu massalah dari sisteem ini adalah node. Salah mesin virtual v yang saama dapat dijallankan secara bersam maan pada lebiih dari satu node. n Hal ini akan menyebabkan m m masalah pada in ntegritas dari image mesin virtuual tersebut akan rusak.
Berbagaai tool tersediaa untuk mengaatasi masalah ini. Du ua teknik yanng dapat diguunakan pada Heartbeeat dinamakaan node feencing dan STONITH (Shoot The T Other Noode In The Head). Paada penelitiann ini digunakkan metode STONITH. Ketika suatu nodde berhenti mengiriim Heartbeat yang menyattakan bahwa node tersebut mennyala, STON NITH akan memasttikan bahwa node tersebut telah mati. Pada peenelitian ini ST TONITH akan memastikan bahwa node yang g berhenti mengirimkan m Heartbeeat tidak menjjalankan mesiin virtualnya dengan cara mematikkan akses terhhadap shared storagee sehingga mesin m virtual tidak dapat dijalankkan. Ko onfigurasi pada p Heartbeeat adalah mengattur layanan deengan menggu unakan init.d scripts menggunakann perintah start, stop dan status. Ini dilakukann untuk menjalankan dan memberhentikan Heaartbeat dan juga memeriksa layanann yang sedang berjalan. b Keegagalan padaa suatu harddware dapat disimullasikan denngan memattikan dan menyalakan mesin virtual. v Terjadiinya migrasi mesin virtual v dari suaatu hardware ke k hardware lainnyaa dapat disiimulasikan dengan d cara mematiikan mesin virrtual pada salaah satu node dan dijaalankan pada node n lainnya. Mesin M virtual tidak berjalan pada selang waktu antara mematiikan mesin virtual dan menyalakan kembali di node lainnya. Hal ini dapat dilakukkan dengan perintah p xm create c untuk menghiidupkan mesinn virtual dan xm x shutdown untuk mematikan m messin virtual. 3.
PE ENGUKURAN N DAN ANAL LISIS
Un ntuk penelitiaan ini akann digunakan sebuah komputer yang y terhubu ung dengan topolog gi yang digunak kan menggunaakan jaringan LAN. Komputer inii berguna sebagai client untuk melakukan berbagai b percoobaan yang dilakukkan untuk pengukuran p d dan analisis terhadaap topologi yanng digunakan.
G Gambar 2. Topoologi untuk perrcobaan 3.1. Pengaruh Miggrasi Terhad dap Latency Ja aringan Peengukuran ini dilakukkan untuk mengettahui dampak migrasi terhaadap dimensi waktu. Hal ini peenting dilaku ukan untung mengettahui dampak migrasi terhaadap layanan yang membutuhkan m laatency rendah.. Round tripp time digunnakan untuk mengilustrasikan dam mpak dari livve migration terhadaap latency jariingan. pada percobaan p ini akan dikirimkan d 10000 paket dengaan kecepatan 100 paket setiap detikk dari client. Percobaan P ini akan berlangsung selama 10 detik dan mbu x pada graafik. Perintah dinyataakan dalam sum yang digunakan ppada sisi client c untuk melakuukan percobaann ini adalah pinng –c 1000 –i 0.01 vm m01. Output dari perintah ping adalah round trip tim me dari setiap ppaket. Round trrip time akan dinyataakan dalam sum mbu y pada grrafik. Sebuah gangguuan terkontrol disimulasikaan pada saat perintaah ping tersebbut dijalankann. Gangguan tersebuut disimulasikkan dengan menggunakan m perintaah untuk mennghentikan Heeartbeat pada node yang y menjalannkan vm01. Perintah yang digunak kan pada nodee yang menjalankan vm01, node1, adalah /eetc/init.d/Hearrtbeat stop. Perintaah tersebut akaan menghentik kan Heartbeat yang dikirimkan oleh n node1 dan mengassumsikan nodde1 telah off ffline (mati).
Mesin virtual yang dijalankan oleh node1 akan dimigrasikan ke node2. round trip time paket
2 1.5 1 0.5 0 0
5
10
waktu Gambar 3. Grafik round trip time paket saat terjadi gangguan terkontrol. Grafik diatas menunjukkan bahwa migrasi mesin virtual terjadi pada jangka waktu 3,8 detik dan 5,7 detik. Grafik tersebut juga menunjukkan bahwa pada saat migrasi, outage yang dihasilkan sangat kecil dikarenakan paket tetap diterima ketika migrasi terjadi. Paket ping yang hilang pada percobaan ini adalah antara 8 hingga 17 paket untuk satu kali gangguan.
Kecepatan Paket
Downtime dengan gangguan
Downtime dengan migrasi Xen
10 pps
0,37
0,38
50 pps
0,496
0,427
100 pps
0,5245
0,481
Tabel 1. Waktu downtime (dalam detik) karena gangguan dan live migration. Dengan hasil diatas didapatkan bahwa waktu downtime sistem akan meningkat ketika kecepatan pengiriman paket bertambah. Hal ini disebabkan karena kecepatan pengiriman paket akan mempengaruhi kinerja sistem dan jaringan sehingga proses migrasi akan berjalan lebih lambat. Hal ini menyebabkan waktu downtime pada sistem yang menerima paket dengan kecepatan tinggi menjadi lebih lama. Berdasarkan tabel diatas, waktu downtime karena live migration lebih rendah daripada downtime ketika terjadi gangguan, yang disimulasikan dengan mematikan Heartbeat pada node yang bersangkutan. Hal ini disebabkan karena jaringan akan mengkomunikasikan Heartbeat terlebih dahulu ketika terjadi gangguan dan hal tersebut akan menambah trafik pada jaringan sehingga waktu downtime akan lebih lama.
3.2. Paket yang Hilang Untuk mengukur downtime yang terjadi dapat dilakukan dengan mengirimkan sejumlah paket setiap detiknya kemudian dihitung jumlah paket yang hilang ketika terjadi satu kali gangguan. Hal ini penting untuk trafik UDP (connectionless), dan dapat digunakan untuk menghitung outage berdasarkan jumlah paket per detik dan jumlah paket yang hilang untuk satu kali gangguan. Pada percobaan ini akan digunakan ZNI IP Traffic Test and Measurement. Software ini digunakan sebagai generator paket. Fitur-fitur yang terdapat pada software ini antara lain menentukan protokol yang digunakan (TCP atau UDP), besar paket, jumlah paket yang dikirimkan tiap detik, dll. Software ini digunakan untuk mensimulasikan trafik yang terjadi pada jaringan. Maka didapatkan tabel sebagai berikut untuk memperhitungkan waktu downtime ketika terjadi sebuah gangguan.
3.3. Dampak pada Transfer File Transfer file menggunakan protokol TCP yang bersifat connection-oriented. Pada protokol TCP, jika sebuah paket tidak terkirim akan dilakukan retransmisi hingga penerima menyatakan bahwa paket telah diterima. File yang akan digunakan pada percobaan ini adalah file ISO image dari Ubuntu, ubuntu7.10-desktop-i386.iso. Besar file tersebut adalah 729.608.192 bytes, ≈ 695 MB. ansfer tersebut menggunakan perintah: scp vm02@vm02:/ubuntu-7.10-desktop-i386.iso ubuntu-7.10-desktop-i386.iso.
BAB 5. K ESIMPULAN
90.00 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00
1.
komputer ‐ komputer ‐ komputer ‐ komputer mesin mesin virtual virtual dengan gangguan Gambar 4. Grafik waktu yang dibutuhkan untuk transfer file. Dari hasil yang didapat diketahui bahwa gangguan pada sistem tidak akan menyebabkan terputusnya transfer file. transfer file akan tetap berjalan walaupun mesin virtual mengalami gangguan, hal ini disimulasikan dengan mematikan Heartbeat pada node yang bersangkutan. Waktu yang dibutuhkan untuk transfer file pada mesin virtual membutuhkan waktu lebih lama dibandingkan dengan transfer file antar komputer. Hal ini diakibatkan karena penggunaan sistem shared storage yang harus mengkomunikasikan proses yang sedang dilakukan pada node lainnya. Hal ini menyebabkan trafik pada sistem menjadi lebih besar. Waktu yang dibutuhkan untuk transfer file dari komputer ke mesin virtual dengan gangguan lebih lama dibandingkan dengan tanpa gangguan. Hal ini dikarenakan downtime yang terjadi karena migrasi mesin virtual. Downtime yang terjadi saat terjadi gangguan ketika transfer file ini sekitar 3,7 detik. Hasil yang didapat cukup baik untuk menyediakan layanan transfer file karena koneksi transfer tidak terputus saat terjadi gangguan dan waktu yang dibutuhkan untuk transfer tidak meningkat terlalu signifikan jika dibandingkan dengan waktu untuk transfer tanpa gangguan.
2.
3.
4.
Teknik virtualisasi dapat digunakan untuk menyediakan layanan high availability. Dengan virtualisasi perancangan sistem high availability membutuhkan hardware lebih sedikit, penggunaan resource hardware lebih efisien dibandingkan dengan metode klasik. Perancangan dan implementasi yang digunakan pada penelitian ini berjalan dengan baik dengan melihat dan menganalisis hasil yang didapat pada bab 4. Metode ini berjalan baik untuk menyediakan layanan high availability dengan meminimalkan waktu downtime suatu sistem. Akibat dari gangguan yang disengaja diukur dengan menggunakan paket ICMP, trafik TCP (transfer file) dan UDP. Hasil yang didapat menunjukkan waktu downtime yang cepat dan status koneksi tetap terjaga ketika terjadi migrasi. Availability pada percobaan diatas cukup kecil dengan nilai antara 95 dan 98 persen. Hal ini dikarenakan waktu total uptime sistem, berdasarkan waktu yang dibutuhkan untuk melakukan sebuah percobaan, cukup kecil. Hasil yang didapat dari percobaan ini cukup baik untuk satu kali gangguan.
DAFTAR P USTAKA [1] Alan Robertson, “Linux-HA Release 2 Tutorial”, Linux.conf.au, 2007. http://www.linuxha.org/HeartbeatTutorials. [2] Andi Mann, “Virtualization 101: Technologies, Benefits, and Challenges”, Enterprise Management Associates, 2006. whitepapers.techrepublic.com.com/abs tract.aspx?docid=254502 [3] Bryan Clark, Todd Deshane, Eli Dow, Stephen Evanchik, Matthew Finlayson, Jason Herne, dan Jeanna Neefe Matthews. “Xen and the Art of
Virtualization”, USENIX Annual Technical Conference, FREENIX Track, USENIX, 2004.
[4]
[5]
[6]
[7]
[8]
research.microsoft.com/~tharris/paper s/2003-sosp.pdf Christopher Clark, “Xen User’s Manual”, 2002. bits.xensource.com/Xen/docs/user.pdf Oracle Cluster File System (OCFS2) User’s Manual. http://oss.oracle.com/projects/ocfs2/ Philipp Reisner, “DRBD v8 Replicated Storage with Shared Disk Semantics”, Proceedings of the 12th International Linux System Technology Conference October 11-14, 2005 at University of Hamburg, Germany. edited, revised 2007. www.drbd.org/fileadmin/drbd/publicati ons/drbd8.pdf Robertson, A.L., “Programming for Linux-HA”, UKUUG LISA/Winter Conference High Availability and Reliability, Bournemouth, UK, 25-26 February, 2004. http://www.linuxha.org/HeartbeatTutorials Singh, Amit. “An Introduction to Virtualization”, 2003. www.kernelthread.com/publications/vir tualization/