CLOUD COMPUTING DENGAN VMWARE PANDUAN DAN IMPLEMENTASI Saat ini sudah menjadi sebuah pemikiran bagi setiap elemen, tidak hanya bagi sebuah corporate untuk ‘naik kuda kejar kuda’ (begitulah di istilahkan) yakni dengan menggunakan teknologi sebagai media perantaranya. Mengikuti perkembangan teknologi demi menekan biaya atau investasi yang akan dikeluarkan, salah satunya adalah dengan menggunakan teknologi komputasi awan atau yang lebih kita kenal sebagai cloud computing. Hary Cahyono - tifosilinux.wordpress.com
CLOUD COMPUTING DENGAN VMWARE PANDUAN DAN IMPLEMENTASI
SUPPORTED BY TIFOSILINUX Dedikasi tulisan dari Hary yang telah published di berbagai
KONSEP CLOUD COMPUTING
tempat. Silahkan
Karena sudah begitu banyak referensi yang bisa kita peroleh, disini akan saya berikan secara singkat untuk pengertian, macam atau kategori layanan yang diberikan oleh cloud computing.
dapati tulisan dan
Cloud computing adalah sebuah teknologi berkembang yang secara metafora bersumber pada aspek utilitas dan sumber daya yang dikonsumsi untuk keperluan komputasi (Hassan, Qusay. (2011). Demystifying Cloud Computing).
dokumen saya yang lain dengan mengunjungi situs tifosilinux.wordpress.com
Cloud computing ini terdiri dari berbagai layanan sebagai berikut:
Infrastructure As A Services (IAAS). Platform As A Services (PAAS). Software As A Services (SAAS).
Dimana secara fungsional cloud ini dapat dikategorikan menjadi 2, yakni cloud secara private atau yang dikenal dengan private cloud (dengan menggunakan jaringan lokal atau LAN) dan cloud secara publik yang dikenal dengan public cloud (akses diberikan secara publik melalui jaringan internet). Ternyata Amazon Web Services (AWS) menjadi aktor utama didalam pengembangan konsep cloud ini melalui layanan IAAS. Dimana Elastic Compute Cloud (EC2) dan Simple Storage Service (S3) menjadi dua layanan yang sangat populer.
KEBUTUHAN SISTEM APLIKASI DAN TEKNIK VIRTUALISASI Beberapa software product yang dapat digunakan untuk kebutuhan cloud computing adalah sebagai berikut:
Contact: Email :
[email protected] Phone: 085695042489 Skype: hary_122 BBM: 7943F602
1
Ubuntu Enterprise Cloud (UEC); merupakan hasil remastering dari distro Ubuntu dengan bundling berbagai aplikasi kebutuhan cloud computing. Proxmox; salah satu distro alternatif bagi yang awam untuk dapat me-manage cloud secara mudah melalui tampilan web UI-nya. Mulai dari kemudahan me-manage cluster, backup/ restore secara cepat apakah itu stop VE (namun dengan downtime yang sangat lama), me-suspend/ resume (minimal downtime dengan OpenVZ, waktu downtime yang sangat lama untuk KVM) atau yang tidak ada downtime (snapshot dengan LVM2). Eucalyptus; untuk kedepannya Ubuntu Canonical lebih men-support OpenStack sebagai alternatifnya. OpenStack OpenNebula.
Macam-macam teknik virtualisasi: o
o
o
Operating System-Level virtualization; Performansi virtualisasi berdasarkan pada single host operating system. Hanya sedikit support pada OS yang digunakan (terbatas). Contohnya: OpenVZ dan Linux V-Server. Paravirtualization; Hampir sama dengan OS Level Virtualization hanya saja mendukung hamper seluruh OS., namun disarankan agar OS Guest sama atau identik dengan OS Host yang digunakan. Kita juga perlu melakukan berbagai kustomisasi pada sisi kernel agar mendukung teknik ini, seperti dari tipe kernel yang perlu enabled PAE (Physical Address Extension) agar dapat membaca memori standar diatas 3-4GiB, serta pemilihan distro 64-Bit. Contoh: Xen Full Virtualization; Teknik ini mendukung hampir seluruh sistem operasi atau distro dimana Guest dapat bertindak sebagai Host dan sebaliknya. Hanya saja teknik ini membutuhkan support virtualisasi di sisi processor-nya seperti AMD-V atau Intel VT-x. Contoh: VMWare, Xen dan KVM.
Sedangkan beberapa aplikasi virtualisasi/ Hypervisor yang dibutuhkan sebagai core engine didalamnya ada beberapa pilihan sebagai berikut; KVM (Kernel Based Virtual Machine); mendukung seluruh distro UNIX/ Linux maupun Windows baik itu Desktop maupun Server. QEMU Xen OpenVZ VMWare VirtualBox
2
IDE/ GAGASAN, PERSIAPAN, DAN PERCOBAAN Berangkat dari niat untuk melakukan uji coba kategori layanan IAAS (sehingga kelak user dapat menginstall web/ mail/ printer/ DNS server dan lainnya secara luas) yang kelak akan dapat digunakan sebagai dasar membangun Cloud yang lebih besar lagi, namun di praktekkan hanya dengan satu buah perangkat notebook, personal computer, atau apapun yang telah memenuhi spesifikasi sebagai berikut: 1. Memiliki processor yang support virtualization, bisa itu menggunakan intel (intel VT-x) maupun AMD (AMD-V). 2. Guna menghasilkan kecepatan saat proses implementasi nanti, ‘disarankan’ memori memiliki +/6 GiB yang kelak akan dibagi untuk beberapa aspek, yakni; 2 GiB (telah dikonsumsi oleh Host OS yang menunjang berbagai aplikasi yang akan berjalan), 2 GiB (untuk Node Controller, kelak akan sedikit saya jelaskan), dan 2 GiB (untuk Cloud Controller, kelak akan sedikit saya jelaskan). 3. Sebagai catatan, disarankan menggunakan aplikasi VMWare dibanding VirtualBox dalam kemudahan mengaktifkan virtualization engine, secara teknis dari berbagai forum didapati bahwa ‘that feature is not passed by virtualbox’. Kemungkinan bisa berkata lain jika Oracle telah melakukan perbaikan dalam hal tersebut didalam aplikasi nya (VirtualBox).
Persiapannya sederhana, kita hanya perlu menyiapkan aplikasi virtualisasi. Jadi nantinya aplikasi tersebut akan menjalankan node-node diatas Host OS (di sini saya menggunakan Windows 8 64-Bit dan VMWare version 8.0.0 build-471780). Beberapa software product lain yang disiapkan adalah sebagai berikut:
ISO-Ubuntu-10.04.4-server-i386; distro ini akan menggunakan KVM sebagai aplikasi virtualisasinya (sehingga secara transparan, kita menjalakan aplikasi virtual diatas aplikasi virtual yakni KVM diatas VMWare). Eucalyptus; sudah menjadi satu bundling dari hasil remastering Ubuntu-10.04.4-server tersebut. Windows XP/ 7 sebagai Guest OS yang akan digunakan sebagai akses Front End/ web UI dari Cloud Controller dan mendapatkan credentials (akan dibahas nanti). Namun ini hanya bersifat optional, kita bisa saja menggunakan Host OS aslinya untuk mendapatkan dan mengunggah kembali credentials ke Cloud Controller tersebut (akan dibahas berikutnya)
Komponen-komponen Cloud UEC (Ubuntu Enterprise Cloud): 1. Node Controller Menjalankan hypervisor seperti KVM / Xen. Menjalankan VM/ instance diatas hypervisor tersebut. Mengatur siklus dari instance. Berinteraksi dengan Cloud Controller, Sistem Operasi/ VM/ Instance dan hypervisor. Harus Support VT-X.
3
2. Cloud Controller Merupakan Front End dari seluruh infrastruktur Cloud. Memonitor ketersediaan sumber dg UI-nya, include hypervisor pada node yang digunakan. (Jika menggunakan cluster). Menjadi arbitrator cluster mana yg bertindak sebagai instance dan memonitornya.
Pada percobaannya, kita bisa saja menyiapkan node controller terlebih dahulu dengan melakukan kustomisasi pada VMWare sebagai berikut: 1. 2. 3. 4.
Alokasi memori 2GiB. Preferred mode: Intel VT-x or AMD-V, Check in Virtualize Intel VT-x/ EPT or AMD-V/RVI. Alokasi Harddisk iSCSI +/- 40GiB. Network Adapter: Host Only: A private network shared with the host.
Langkah-langkah secara garis besarnya saat instalasi:
Pilih Ubuntu Enterprise Cloud (UEC) pada tampilan awal splash screen. Konfigurasi jaringan pilih secara manual. Masukan Hostname dan untuk Host Address assign IP ke 192.168.0.11 Masukan Cloud controller address. Misalnya kita assign IP ke 192.168.0.10 milik cloud controller (berlaku juga untuk cloud controller nantinya). Pada sesi [ ! ] Select cloud installation mode, kita hanya memilih Node controller.
Pada sesi Partitioning Method:, pilih Guided – use entire disk dimana kita menggunakan seluruh harddisk. Kemudian format filesystem menjadi Ext3 journaling file system. Pada sesi konfigurasi package manager, kosongkan saja opsi HTTP Proxy.
4
Lanjutkan tahap instalasi seperti pada umumnya sampai dengan melakukan pemasangan GRUB boot loader. Cek apakah instalasi NC sesuai dengan yang diharapkan:
Cloud controller cukup dikustomisasi sebagai berikut: 1. Alokasi memori 2GiB. 2. Alokasi Harddisk iSCSI +/- 40GiB. 3. Network Adapter: Host Only: A private network shared with the host. Langkah-langkah secara garis besarnya saat instalasi:
Pilih Ubuntu Enterprise Cloud (UEC) pada tampilan awal splash screen. Konfigurasi jaringan pilih secara manual. IP Address assign ke 192.168.0.10 Netmask 255.255.255.0 Gateway (Misalkan kita terhubung ke internet lewat IP 192.168.0.1)
5
Name server address bisa dikosongkan. Isikan Hostname. Domain name bisa dikosongkan. Pada Cloud controller address, assign IP ke 192.168.0.10 Pada sesi Cloud installation mode:
Pada sesi Partitioning Method:, pilih Guided – use entire disk dimana kita menggunakan seluruh harddisk. Kemudian format filesystem menjadi Ext3 journaling file system. Pada sesi konfigurasi package manager, kosongkan saja opsi HTTP Proxy.
Isi Full name user, password, System mail name dan lain-lain. Masukan eucalyptus cluster name, misalkan cluster1.
6
Kemudian masukan range IP yang akan dialokasikan kepada VM/ instance nanti, misalkan 192.168.0.20-192.168.0.40.
Lanjutkan tahap instalasi seperti pada umumnya sampai dengan melakukan pemasangan GRUB boot loader. Finish.
7
IMPLEMENTASI Pada sisi Guest (akses bisa dilakukan melalui Windows XP/ 7, Linux lain diluar Node Controller (NC) dan Cloud Controller (CC), maupun langsung dari Host aslinya yang menjalankan aplikasi VMWare: 1. Akses via browser: https://192.168.0.10:8443/, login dengan username/ passwd : admin/ admin
2. Pada tab Credentials, download credentials lalu unggah/ upload file tersebut bisa menggunakan WinSCP, scp via linux command line, Cygwin, atau Filezilla dll ke node CC. 3. Di sisi CC : ~# mkdir –p ~/.euca/ && cd ~/.euca 4. Di sisi CC, pindahkan file credentials tersebut. ~# mv /home/
/euca2-adminx509.zip ~/.euca/ 5. ~# unzip euca2-admin-x509.zip && chmod 755 ~/.euca/* 6. ~# ./eucarc && source eucarc 7. Kita bisa mendaftarkan parameter pada point ‘6’ diatas agar dieksekusi setiap saat server CC reboot (pada /etc/rc.local), setiap saat kita login (pada /home//.bashrc), ataupun setiap waktu (pada cronjob, kita set ke * * * * * ~/.euca/eucarc && source ~/.euca/eucarc). 8. ~# passwd eucalyptus # re-set password untuk user eucalyptus pada CC. 9. ~# euca_conf --no-rsync --discover-nodes 10. ~# euca_conf --register-nodes “192.168.0.11” 11. ~# euca-describe-availability-zones verbose # checking apakah sudah ada NC yang terhubung ke CC.
8
12. Kemudian kita siapkan image yang sudah siap digunakan sebagai VM/ instance. Disini kita menggunakan image dari Ubuntu Karmic Koala mesin i386 atau ubuntu-9.10-rc-uec-i386.tar.gz. 13. Unggah kembali image tersebut ke /home// di CC. 14. ~# cd /home// && tar –zxvf ubuntu-9.10-rc-uec-i386.tar.gz 15. Akan tampak beberapa file hasil ekstraksi seperti berikut:
16. Dimana file initial ramdisk diatas merupakan loader dari image. 17. ~# uec-publish-tarball –R karmic-uec-i386-initrd-virtual Ubuntu-9.10-rc-uec-i386.tar.gz mybucket i386
18. Dimana ‘emi’ merupakan euca engine dari machine, ‘eri’ untuk ramdisk dan ‘eki’ untuk kernel. 19. ~# euca-deregister # jika ingin me-deregister image 20. ~# euca-describe-images
21. ~# euca-add-keypair mykey > mykey.priv # membuat pasangan kunci antara CC dengan NC 22. ~# euca-describe-keypairs
9
23. ~# euca-delete-keypair mykey # jika ingin menghapus pasangan kunci 24. ~# euca-run-instances –k mykey –t c1.medium emi-16E211AF 25. Tipe mesin yang digunakan adalah emi-16E211AF dimana ‘c1. Medium’ ini akan mengalokasikan RAM sebesar 256MB dan HDD +/- 2GiB untuk instances. 26. Kita cek status dari instances apakah masih pending/ running agar siap digunakan.
Tunggu proses caching hingga statusnya berubah seperti berikut:
27. ~# euca-get-console-output
10
28. ~# euca-terminate-instances # jika ingin me-shutdown instances. 29. ~# euca-reboot-instances # jika ingin me-reboot instances. 30. ~# euca-authorize default –P tcp –p 22 –s 0.0.0.0/0 # akses penuh terhadap traffic SSH. 31. ~# ssh –i mykey.priv [email protected]
32. Jika terjadi error login ssh, pastikan key sudah removed di folder .ssh/known_hosts pada CC. 33. Kita bisa alokasikan tambahan HDD 10GiB untuk instances seperti point dibawah ini. 34. ~# euca-create-volume –s 10 –z 35. ~# euca-describe-volumes
11
36. ~# euca-attach-volume –i -d Sebagai contoh: ~# euca-attach-colume –i i-461407F7 –d /dev/sda1 vol-5F980657
37. Pastikan status telah in-use. 38. Kita cek di sisi instances apakah sudah attached.
12
39. Silahkan format HDD sesuai dengan filesystem dan tools kesukaan kita seperti parted, fdisk, cfdisk dan lainnya. 40. ~# euca-delete-volume # Jika ingin men-delete volume. 41. ~# euca-detach-volume # Jika ingin melepas volume. 42. Silahkan kita kembangkan agar instances/ VM bisa diakses lewat lokal yang lain ataupun publik.
13
REFERENSI Hassan, Qusay (2011). “Demystifying Cloud Computing”. The Journal of Defense Software Engineering (CrossTalk) 2011 (Jan/Feb): 16–21. Retrieved 11 December 2014.
SUPPORTED BY TIFOSILINUX Dedikasi tulisan dari
Purbo, Onno W (2011). “Petunjuk praktis Cloud Computing”. 2011 (Jul): 1-48. Retrieved 26 December 2014.
Hary yang telah published di berbagai
http://stackoverflow.com/questions/21861794/enable-kvm-on-ubunturunning-on-virtualbox-on-windows.
tempat. Silahkan dapati tulisan dan dokumen saya yang lain dengan mengunjungi situs tifosilinux.wordpress.com
Lihat juga beberapa tulisan saya yang diantaranya: 1. Mengenal Java Sebagai Pemrograman Berorientasi Objek dan Implementasi Thread di Lingkungan UNIX/ Linux. 2. Implementasi SMS Gateway dengan Kannel dan Modem WAVECOM di Linux OpenSuSE 11.2. 3. Mengenal PL (Procedural Language)/ SQL. 4. Metode Praktis Penetapan Nishab Zakat. 5. Panduan Sholat dan Hadits Shahih - Mengevaluasi Cara Sholat Kita. 6. Cloud Computing dengan VMWare - Panduan dan Implementasi. Tulisan saya diatas telah saya unggah di situs : 1. tifosilinux.wordpress.com 2. slideshare.net 3. academia.edu
Contact: Email : [email protected] Phone: 085695042489 Skype: hary_122
14
BBM: 7943F602