IMPLEMENTASI SISTEM KOMPUTASI AWAN PRIVATE BERBASIS OPENNEBULA BERKEMAMPUAN LIVE MIGRATION Adrian Reza1, Sinung Suakanto2, Herry Imanta Sitepu2, Departemen Sistem Komputer, Institut Teknologi Harapan Bangsa Jl Dipatiukur 80-84, Bandung , West Java, Indonesia..40132 email :
[email protected]
1
139
ABSTRAK Cloud computing menyediakan kemudahan dalam teknologi informasi dan komunikasi seperti layanan infrastuktur, bisnis, dan aplikasi yang dapat diakses oleh pengguna sebagai sebuah layanan di manapun dan kapanpun kita memerlukannya melalui internet. OpenNebula adalah open-source toolkit untuk membangun semua jenis cloud somputing platform: private,public, dan hybrid cloud. Isu availability pada data center adalah salah satu tantangan yang dapat diselesaikan dengan solusi live migration. Solusi yang mampu memindahkan mesin virtual dari mesin fisik yang gagal ke mesin fisik yang masih menyala tanpa mematikan klien dan aplikasinya ketika terjadi gangguan atau error pada mesin fisik yang menampung virtualisasi. Penelitian dibuat dengan topologi private cloud yang menggunakan controller OpenNebula pada front-node, virtualisasi Kernel-based Virtual Machine(KVM) pada worker-node, dan terkonfigurasi shared storage dengan NFS. Hasilnya berupa server private cloud computing yang memiliki kemampuan live migration sehingga dapat digunakan untuk skenario perawatan perangkat dengan perhitungan waktu live migration menggunakan asumsi image ttylinux yang kecil. Kata kunci: Cloud Computing, OpenNebula, Private Cloud, Live Migration.
1
PENDAHULUAN
Kemajuan teknologi yang signifikan sering dibuat selama periode krisis dan perubahan. Jadi, tidak mengherankan saat ini para professional di bidang IT selalu dihadapkan dengan tantangan yang luar biasa – tagihan biaya energi, pusat data yang kurang dimanfaatkan, dan percepatan pertumbuhan data. Cloud computing hadir sebagai salah satu model pemecahan dari tantangan tersebut. Pada awalnya cloud computing diusulkan sebagai model komputasi utilitas publik, komputasi awan onpremise atau private yang muncul sebagai teknologi baru untuk pusat data yang dikelola IT. Cloud sendiri berasal dari simbol yang lazim digunakan untuk melambangkan teknologi internet yang dipakai secara bersama. Secara sederhana definisinya adalah layanan teknologi informasi yang bisa dimanfaatkan atau diakses oleh pelanggannya melalui jaringan internet. Inovasi-inovasi yang signifikan dalam hal virtualisasi dan distributed computing termasuk juga peningkatan akses ke
internet berkecepatan tinggi telah meningkatkan ketertarikan orang kepada cloud computing. Seiring berkembangnya teknologi open-source maka bermunculan toolkit yang memungkinkan seseorang atau organisasi untuk membangun cloud computing platform. OpenNebula adalah contoh open source cloud computing toolkit yang populer saat ini. Dengan OpenNebula dapat diimplementasikan server private cloud computing secara virtualisasi dengan memanfaatkan Kernel-based Virtual Machine(KVM) dari sistem operasi berbasis Linux yang dapat mengontrol langsung manajamen infrastruktur virtualisasi cloud computing. Sedangkan isu availability yang dihadapi oleh pusat data yang menggunakan teknologi virtualisasi merupakan isu yang sangat penting. Bagaimana pusat data menyediakan isu availability yang baik seperti fungsi failover backup terhadap sistemnya. Sebab sebuah server tidak lepas dari kemungkinan terjadinya kegagalan. Dengan faulttolerance yang sudah ditetapkan jika diduga akan terjadi suatu kegagalan ataupun bencana pada server dan mesin virtual masih aktif digunakan oleh pengguna maka harus segera dipikirkan bagaimana membuat backup tanpa mengganggu pengguna. Begitu juga saat dilakukannya pemeliharaan perangkat pada server maka perlu diusulkan bagaimana cara mengatasinya agar mesin virtual tidak perlu mati dan menggangu para pengguna yang masih aktif menggunakannya. Salah satu teknologi yang dapat membantu administrator pusat data untuk menjawabnya adalah kemampuan live migration. Dengan menggabungkan OpenNebula dan virtualisasi menggunakan KVM maka didapat satu keuntungan berupa kemampuan live migration. Live migration bertujuan untuk memindahkan mesin virtual yang sedang beroperasi pada satu mesin fisik ke mesin fisik lain ketika terjadi gangguan pada salah satu mesin fisik. Dengan begitu mesin virtual, pengguna, dan aplikasi didalamnya tidak perlu dimatikan saat ada gangguan dan dapat terus berjalan meski proses live migration sedang berlangsung.
ISSN 1858-1633 @2008 ICTS
Kemampuan yang diberikan kepada konsumen adalah untuk menetapkan pengolahan penyediaan, penyimpanan, jaringan, dan sumber daya komputasi mendasar, tempat konsumen dapat menyebarkan dan menjalankan perangkat lunak sewenang-wenang, yang dapat mencakup sistem operasi dan aplikasi. Konsumen tidak mengelola atau mengendalikan infrastruktur cloud computing yang mendasari tetapi memiliki kontrol atas sistem operasi, penyimpanan, aplikasi yang dijalankan, dan mungkin kontrol terbatas komponen jaringannya (misalnya, firewall host). Model bisnisnya mirip dengan penyedia pusat data yang menyewakan ruangan untuk colocation, tapi ini lebih ke level mikronya. Penyewa tidak perlu tahu, dengan mesin apa dan bagaimana caranya penyedia layanan menyediakan layanan IaaS. Yang penting, permintaan mereka atas sumber daya dasar teknologi informasi itu dapat dipenuhi.
2
ANALISIS DAN PERANCANGAN 2.1. CLOUD COMPUTING Cloud computing adalah suatu paradigma dimana informasi secara permanen tersimpan di server melalui internet dan tersimpan secara sementara di komputer pengguna termasuk di dalamnya desktop, komputer tablet, notebook, hanheld, dan lain-lain. Jadi pada intinya, cloud computing adalah sebuah mekanisme yang memungkinkan pengguna “menyewa” sumber daya teknologi informasi (software, processing power, storage, dan lainnya) melalui internet dan memanfaatkan sesuai kebutuhan pengguna dan membayar sesuai yang digunakan. Teknologi cloud computing dapat dibagi ke dalam 3 kategori, yaitu: 1. Software sebagai Service (SaaS). Kemampuan yang diberikan kepada konsumen adalah dengan menggunakan penyedia aplikasi yang berjalan pada infrastruktur cloud computing. Aplikasi dapat diakses dari berbagai perangkat klien melalui antarmuka klien kecil seperti web browser. Konsumen tidak mengelola atau mengendalikan infrastruktur cloud yang mendasarinya termasuk jaringan, server, sistem operasi, penyimpanan, atau bahkan kemampuan aplikasi individu. Hanya saja dengan konsep SaaS ini, pelanggan tidak memiliki kendali penuh atas aplikasi yang mereka sewa. Hanya fitur-fitur aplikasi yang telah disediakan oleh penyedia saja yang dapat disewa oleh pelanggan. 2. Platform sebagai Service (PaaS) Kemampuan yang diberikan kepada konsumen adalah untuk membangun aplikasi ke infrastruktur cloud computing yang dibuat menggunakan bahasa pemrograman dan alat didukung oleh penyedia layanan. Konsumen tidak mengelola atau mengendalikan infrastruktur cloud yang mendasarinya. Namun memiliki kontrol atas aplikasi yang. Seperti juga layanan SaaS, pengguna PaaS tidak memiliki kendali terhadap sumber daya komputasi dasar seperti memori, media penyimpanan, processing power dan lain-lain, yang semuanya diatur oleh penyedia layanan ini. 3. Infrastructure sebagai Service (IaaS)
Model deployment yang bisa digunakan untuk membangun teknologi cloud computing adalah sebagai berikut: 1. Private cloud
2.
Di mana sebuah infrastruktur layanan cloud, dioperasikan hanya untuk sebuah organisasi tertentu. Infrastruktur cloud itu bisa saja dikelola oleh si organisasi itu atau oleh pihak ketiga. Lokasinya pun bisa on-site ataupun off-site. Biasanya organisasi dengan skala besar saja yang mampu memiliki/mengelola private cloud ini. Community cloud Dalam model ini, sebuah infrastruktur cloud digunakan bersama-sama oleh beberapa organisasi yang memiliki kesamaan kepentingan, misalnya dari sisi misinya, atau tingkat keamanan yang dibutuhkan, dan lainnya. Jadi, community cloud ini merupakan "pengembangan terbatas" dari private cloud. Sama juga dengan private cloud, infrastruktur cloud yang ada bisa dikelola oleh salah satu dari
3.
organisasi itu, ataupun juga oleh pihak ketiga. Hybrid cloud
4.
Untuk jenis ini, infrastruktur cloud yang tersedia merupakan komposisi dari dua atau lebih infrastruktur cloud (private, community, atau public). Di mana meskipun secara entitas mereka tetap berdiri sendiri-sendiri, tapi dihubungkan oleh suatu teknologi/mekanisme yang memungkinkan portabilitas data dan aplikasi antar cloud itu. Misalnya mekanisme load balancing yang antar cloud, sehingga alokasi sumber daya bisa dipertahankan pada level yang optimal. Public Cloud Sesederhana namanya, jenis cloud ini diperuntukkan untuk umum oleh penyedia layanannya. Layananlayanan yang sudah disebutkan sebelumnya dapat dijadikan contoh dari public cloud ini.
2.2. OpenNebula OpenNebula adalah sepenuhnya opensource toolkit untuk membangun semua jenis IaaS: private, public, dan hybrid. Teknologi OpenNebula adalah hasil dari bertahun-tahun penelitian dan pengembangan dalam manajemen yang efisien dan skalabilitas virtualisasi pada skala besar pada infrastruktur terdistribusi. OpenNebula memadukan penyimpanan, jaringan, virtualisasi, pemantauan, dan teknologi keamanan untuk memungkinkan penempatan dinamis dari layanan multi-tier (kelompok mesin virtual yang saling berhubungan) di infrastruktur terdistribusi, menggabungkan kedua sumber daya pusat data dan sumber daya cloud computing secara remote, sesuai dengan kebijakan alokasi yang terilustrasi pada gambar 2.1.
Gambar 2.1 Arsitektur OpenNebula.
2.3.
Migration
Istilah migration yang dimaksud dalam virtualisai adalah migrasi sistem operasi dari satu host fisik/worker-node yang berbeda dan merupakan alat yang berguna untuk administrator dari pusat data center. Hal ini memungkinkan pemisahan yang bersih antara hardware dan software, dan memfasilitasi manajemen kesalahan, load balancing, dan pemeliharaan dari low-level sistem.
2.3.1
Cold Migration
Cold migration adalah jenis migrasi tak langsung, artinya proses migrasi dilakukan dalam keadaan mesin virtual yang dimatikan terlebih dahulu. Dengan cold migration maka sebuah mesin virtual yang akan dipindahkan akan disimpan terlebih dahulu, kemudian dimatikan, lalu dipindahkan dengan cara menyalin image mesin virtual ke worker-node yang lain, baru akhirnya dinyalakan kembali. Konsekuensi yang didapat adalah adanya downtime selama mesin virtual sedang dipindahkan sehingga pengguna tidak dapat mengakses mesin virtualnya sementara
2.3.2
Live Migration
Live migration adalah perpindahan mesin virtual dari satu mesin worker-node ke workernode yang lain dalam keadaan terus menyala. Ketika dilakukan dengan benar, proses ini berlangsung tanpa ada efek yang nyata dari sudut pandang pengguna akhir. Contoh pengaplikasian live migration memungkinkan seorang administrator untuk memindahkan mesin virtual untuk melakukan pemeliharaan atau upgrade tanpa mematikan sistem pengguna untuk downtime. Jika dibandingkan dengan cold migration, maka live migration lebih menguntungkan untuk diimplementasikan. Cold migration menyimpan, memindahkan dan
mengembalikan mesin virtual, yang menghasilkan beberapa downtime. Sedangkan live migration menghasilkan sedikit downtime secara signifikan untuk mesin virtual yang sedang bermigrasi. Hal ini membuat live migration lebih baik ketika pengguna memerlukan akses yang tidak terganggu ketika mesin virtual bermigrasi. Karena live migration selesai dalam waktu lebih cepat dari timeout TCP untuk migrasi mesin virtual, pengguna tidak akan menyadari ketika mesin virtual bermigrasi selama proses berlangsung. Salah satu keuntungan paling signifikan dari live migration adalah kenyataan bahwa kemampuan ini memfasilitasi pemeliharaan yang proaktif. Jika sebuah kegagalan segera dicurigai, potensi masalah dapat diselesaikan sebelum terjadi gangguan layanan. Live migration juga dapat digunakan untuk load balancing, di mana beban kerja dibagi bersama antara komputer dalam rangka mengoptimalkan pemanfaatan sumber daya CPU yang tersedia. Cara kerja dari live migration agar mampu memindahkan mesin virtual dari satu mesin fisik ke mesik fisik lain melalui 5 tahap yaitu: 1. Inisiasi perintah untuk melakukan live migration. 2. Halaman memori mesin virtual ditransfer dari host fisik sumber ke host fisik tujuan. Pada fase ini modifikasi pada halaman memori mesin virtual akan dilacak. 3. Penanganan penyimpanan mesin virtual dipindahkan dari host fisik sumber setelah halaman memori tersalin semua. 4. Mesin virtual dipindahkan dan dinyalakan di host fisik tujuan. 5. Perbaikan informasi jaringan setelah mesin virtual dipindahkan.
2.3.3
Arsitektur Live Migration
Live migration memindahkan mesin virtual tanpa berdampak pada ketersediaan mesin virtual bagi pengguna. Dengan menyalin memori mesin virtual yang bermigrasi ke host fisik tujuan , live migration meminimalkan waktu transfer mesin virtual. Sebuah live migration merupakan deterministik, yang berarti bahwa administrator, atau script yang memulai live migration dapat mengontrol computer host yang menjadi tujuan untuk live migration. Sitem operasi mesin virtual tidak akan menyadari migrasi yang terjadi, sehingga tidak ada konfigurasi khusus yang diperlukan untuk sistem operasi mesin virtual.
Kebutuhan dari live migration yang terpenting adalah menggunakan jenis prosesor yang berasal dari manufaktur yang sama. Sedangkan konfigurasi penyimpanan mestilah berjenis shared storage seperti NFS pada lingkungan linux.
2.3.4
Arsitektur Live Migration
Salah satu pengaplikasian dari live migration adalah ketika terjadi maintenance pada mesin worker-node. Update keamanan, perbaikan software dan pemeliharaan hardware merupakan pertimbangan yang signifikan dalam setiap skenario virtualisasi server. Oleh karena host fisik/worker-node akan diperbaharui maka setiap downtime yang terjadi akan mempengaruhi mesin virtual yang ada didalamnya. Maka dari itu kemampuan live migration akan membawa keuntungan bagi sistem ketika akan melakukan perawatan perangkat. Dengan mempersiapkan maintenance node maka administrator dapat melakukan live migration untuk memindahkan sementara mesin virtual yang sedang berjalan pada worker-node yang akan diperbaharui (fase 1). Dengan begitu administrator dapat memperbaharui perangkat tanpa harus mematikan mesin virtual yang sedang digunakan (fase 2). Setelah perbaikan dan perawatan perangkat selesai dilakukan, maka mesin virtual bisa dikembalikan ke worker-node asalnya menggunakan live migration kembali tanpa masalah (fase 3).
Gambar 2.2 Fase 1 skenario pemeliharan perangkat. Gambar 2.2 merupakan fase 1 saat akan melakukan pemeliharaan pada worker-node. Mesin virtual dari worker-node sumber akan dipindahkan sementara ke maintenance host.
Model yang dipilih dalam pembangunan server cloud computing adalah model private cloud menggunakan OpenNebula berdasarkan perbandingan yang didapat dari Tabel 2.1. Hal yang menjadi pertimbangan utama adalah kemampuan OpenNebula untuk menggunakan fitur live migration pada teknologi virtualisasinya.
2.4.1
Gambar 2.3 Fase 2 scenario pemeliharan perangkat.
Topologi Private Cloud
Untuk membangun private cloud OpenNebula digunakan sebagai virtual infrastructure manager-nya. Sesuai dengan dokumentasi dari OpenNebula, OpenNebula mengasumsikan bahwa infrastruktur fisik yang akan dibangun mengadopsi arsitektur cluster klasik dengan sebuah front-end, dan satu set worker node cluster seperti terilustrasi pada gambar 2.5
Gambar 2.3 merupakan fase 2 saat akan melakukan pemeliharaan pada worker-node. Mesin virtual telah dipindahkan sementara ke maintenance host dan pemeliharaan dilakukan pada worker-node sumber.
Gambar 2.4 Fase 3 scenario pemeliharan perangkat. Gambar 2.4 merupakan fase 3 saat akan melakukan pemeliharaan pada worker-node. Mesin virtual akan dipindahkan kembali dari maintenance host ke worker-node sumber setelah pemeliharaan selesai dilakukan.
2.4
Gambar 2.5 Topologi Private Cloud.
2.4.2
Perancangan Private Cloud
Kemampuan Virtualisasi Kemampuan NMesin Pemrosesan Kemampuan skalabilitas Kemampuan live migration Teknologi open source Mendukung kemampuan Private Cloud Kemampuan untuk mengisolasi bagian cloud Kemampuan Multiple cloud
OpenNebula √
Eucalyptus √
Nimbuz √
√
√
√
√
√
√
√
N/A
N/A
√
√
√
√
√
√
√
√
√
√
√
√
Skenario Live Migration
Skenario live migration akan disetting agar dapat melakukan pengujian dengan menguji kemampuan fitur live migration. Asumsinya jika akan dilakukan perawatan perangkat atau software upgrade pada satu mesin fisik maka mesin virtualnya akan dipindahkan ke mesin fisik lain untuk diselamatkan. Skenario yang akan dilakukan adalah memindahkan mesin virtual dari satu worker-node ke worker-node lain yang berperan sebagai maintenance-node tanpa mengalami downtime dan gangguan bagi pengguna.
Gambar 2.6 Skenario Live Migration Pada gambar 2.6 akan dilakukan pemeliharaan atau software upgrade pada dimana worker-node yang sudah menampung mesin virtual. Selama dilakukannya proses maintenance maka mesin virtual akan dipindahkan sementara ke worker-node yang berperan sebagai maintenance-node.
3
IMPLEMENTASI DAN HASIL
Secara singkat tahap yang akan dilakukan untuk mengimplementasikan private cloud dengan opennebula seperti yang diilustrasikan oleh diagram gambar 3.1
Gambar 3.2 pengujian live migration. Gambar 3.2 memperlihatkan bahwa perintah untuk memperlihatkan daftar mesin virtual yang ada, mesin fisik yang beroperasi, dan operasi live migration untuk memindahkan mesin virtual dari satu host ke host lain. Sedangkan hasil ping test dari dalam sistem operasi ttylinux melalui secure shell SSH menunjukkan tidak terdapatnya downtime selama proses live migration terjadi. Artinya selama proses live migration berlangsung pengguna tidak akan mengalami downtime sehingga tetap dapat menggunakan mesin virtual yang sedang dipindahkan seperti terilustrasi pada gambar 3.3.
Gambar 3.1 diagram proses implementasi private cloud. Hasil dari uji live migration akan menunjukkan bahwa mesin virtual ttylinux pada worker-node cluster02 dapat dipindahkan ke worker-node cluster01. Asumsinya adalah cluster02 adalah worker yang akan mendapat pemeliharaan dan cluster01 adalah workernode yang berfungsi sebagai maintenancenode yang akan menampung sementara migrasi mesin virtual selama proses pemeliharaan. Tabel 3.1 Kondisi Migrasi Nama Mesin Hostname Hostname Virtual Awal setelah Migrasi ttylinux Cluster02 Cluster01
Gambar 3.3 Ping Test Sebelum Live Migration.
4
KESIMPULAN
Dari hasil uji implementasi yang telah dilakukan maka dapat diambil kesimpulan bahwa: 1. Dengan menggunakan OpenNebula bisa diimplementasikan server private cloud computing dengan virtualisasi sehingga membuat mesin virtualisasi server pada worker-node. 2. Dengan menggunakan OpenNebula proses pengelolaan image dan dan pen-deploy-an mesin virtual dapat diatur dengan mudah dari front-node baik dengan command line interface maupun dari sunstone web interface.
3.
Dengan kemampuan live migration tentunya dapat dimanfaatkan untuk mengelola mesin virtual yang ada dalam mesin fisik dengan efisien. Contoh kasus ketika ingin melakukan perbaikan atau upgrade pada satu mesin fisik yang di dalamnya masih terdapat mesin virtual yang sedang menayala. Jadi keuntungan yang didapat oleh pengguna adalah tidak akan mengalami gangguan terhadap layanan yang mereka gunakan saat proses migrasi dilakukan.
DAFTAR PUSTAKA [1]
[2] [3] [4] [5]
[6] [7] [8] [9] [10]
Borja Sotomayor, Ruben S. Montero, Ignacio M. Llorente, Ian Foster. 2009. An Open Source Solution for Virtual Infrastructure Management in Private and Hybrid Clouds. IEEE Internet Computing. Falahuddin, Mochamad James. 2010. Lebih Jauh Mengenal Komputasi Awan. Marks, A Eric. 2010. Executive’s Guide to Cloud Computing. John wiley & Sons, Inc. Massimo Canonico, et al. Opensource Cloud Platforms. Microsoft Corporation. 2009. Windows Server® 2008 R2 HyperV™ Live Migration Whitepaper. Microsoft Download Center. Open Nebula.org. 2010. OpenNebula Documentation. Peter Mell , Tim Grance. 2009. NIST Definition of Cloud Computing v15. Samy, Husein. 2010. Cloud computing – Delivering business innovation and efficiency. IBM. Sitohang, John. 2011. Cloud Computing Fundamental. Telkom. Stanoevska-Slabeva, Katarina, Thomas Wozniak, dan Santi Ristol. 2009. Grid and Cloud Computing : A Business Perspective on Technology and Applications. Springer