Petunjuk Praktis Cloud Computing Menggunakan Opensource PDF
Petunjuk Praktis Cloud Computing Menggunakan Opensource PDF
Cloud Computing
Mengunakan Open Source
Onno W. Purbo
onno@indo.net.id
@onnowpurbo
Juli 2011
Table of Contents
KATA PENGANTAR.................................................................................................................................5
PENDAHULUAN.....................................................................................................................................6
Cloud Computing Apakah Itu?..............................................................................................................6
Cloud Computing dalam Bahasa Hacker..............................................................................................6
Mekanisme Akses Cloud Computing....................................................................................................7
Perangkat Lunak Cloud Computing......................................................................................................7
Cloud Computing Dalam Buku Ini.......................................................................................................7
ARSITEKTUR CLOUD............................................................................................................................9
Eucalyptus.............................................................................................................................................9
Ubuntu Enterprise Cloud (UEC)...........................................................................................................9
Komponen dari Cloud Berbasis Eucalyptus (UEC)............................................................................10
Node Controller (NC).....................................................................................................................10
Cluster Controller (CC)..................................................................................................................11
Walrus Storage Controller (WS3)...................................................................................................11
Storage Controller (SC)..................................................................................................................11
Cloud Controller (CLC)..................................................................................................................12
SEPINTAS TENTANG UBUNTU ENTERPRISE CLOUD...................................................................13
Cloud computing di Ubuntu................................................................................................................13
Kenapa Ubuntu?..................................................................................................................................13
Private cloud........................................................................................................................................13
INSTALASI CLOUD...............................................................................................................................14
Memperoleh ISO Installer...................................................................................................................14
Persiapan Instalasi...............................................................................................................................14
Spesifikasi Cloud Controller...........................................................................................................14
Spesifikasi Cloud Node..................................................................................................................14
Beberapa parameter penting jaringan.............................................................................................14
Cek VT pada BIOS pastikan Enable...............................................................................................15
Instalasi Proxmox................................................................................................................................15
Instalasi Ubuntu UEC..........................................................................................................................15
Langkah Instalasi UEC Cloud Controller.......................................................................................15
Langkah Instalasi UEC Node Controller........................................................................................17
INSTALASI CLOUD TANPA INTERNET.............................................................................................19
Skenario Penipuan...............................................................................................................................19
Block Diagram....................................................................................................................................20
Konfigurasi DNS & NTP Lokal..........................................................................................................20
Konfigurasi DNS Server Lokal......................................................................................................21
Instalasi dan Konfigurasi NTP Server Lokal..................................................................................21
Proses Instalasi Private Cloud.............................................................................................................22
KONFIGURASI PROXMOX..................................................................................................................23
Instalasi Sun Java Plugin ....................................................................................................................23
Pastikan Java Plugin Aktif .............................................................................................................23
Membuat Simbolik Link (jika di perlukan) ...................................................................................23
Akses ke Web Proxmox.......................................................................................................................23
Upload file iso installer.......................................................................................................................27
Petunjuk Praktis: Cloud Computing 2
KATA PENGANTAR
Buku ini dibuat khusus untuk IT CAMP 2011 tanggal 9-10 Juli 2011 di Gunung Bunder Jawa Barat
yang di selenggarakan oleh One Destination Center (ODC) dan Kelompok Remaja Melek IT
(Kerm.IT).
Buku ini berisi berbagai petunjuk yang sifatnya praktis dalam membuat infrastruktur cloud computing.
Terus terang, buku ini lebih banyak merupakan copy paste dari materi di
http://opensource.telkomspeedy.com/wiki SpeedyWiki yang di layout menjadi sebuah buku. Tidak
heran jika, sisi teori dari cloud computing amat sangat di sederhanakan.
Buku ini merupakan rekor pembuatan buku saya, karena buku ini dibuat dalam waktu 24 jam! Buku ini
memang jauh dari sempurna karena mengejar acara IT CAMP 2011 tgl 9-10 Juli 2011 yang kurang dari
2 minggu lagi.
Semoga dapat bermanfaat.
Jakarta, 1 Juli 2011
Onno W. Purbo
@onnowpurbo
PENDAHULUAN
Cloud Computing Apakah Itu?
Cloud Computing adalah sebuah model komputasi / computing, dimana sumber daya seperti
processor / computing power, storage, network, dan software menjadi abstrak dan diberikan sebagai
layann di jaringan / internet menggunakan pola akses remote. Model billing dari layanan in umumnya
mirip dengan modem layanan publik. Ketersediaan on-demand sesuai kebutuhkan, mudah untuk di
kontrol, dinamik dan skalabilitas yang hampir tanpa limit adalah beberapa atribut penting dari cloud
computing.
Sebuah setup infrastruktur model cloud computing biasanya di kenali sebagai 'Cloud'. Berikut adalah
beberapa kategori layanan yang tersedia dari sebuah 'Cloud' seperti:
Cloud ini biasanya tersedia sebagai layanan kepada siapa saja di Internet. Akan tetapi, varian yang di
sebut Private Cloud semakin populer untuk infrastruktur pribadi / private yang mempunyai atribut
seperti 'Cloud di atas.
Cloud computing berbeda dengan Grid computing atau Paralel Computing, dimana Grid computing
dan Paralel computing adalah lebih merupakan sebuah bagian dari prasarana fisik bagi penyediaan
konsep Cloud computing.
Secara fisik berupa kumpulan hardware / server yang tersambung dalam sebuah jaringan
(LAN / WAN). Tetapi dari sisi, pengguna dapat melihat sebagai sebuah komputer besar.
Idealnya tidak ada batasan dengan kapasitas processor, kapasitas harddisk dan kapasitas
memory.
Idealnya tidak ada batasan dengan berapa jumlah "hosting" server yang berjalan di
belakangnya.
Menambahkan sebuah "hosting" hanya membutuhkan waktu beberapa menit saja.
Jika ada kekurangan resource (sumber daya), baik itu processor, harddisk maupun memory, kita
Petunjuk Praktis: Cloud Computing 6
dapat dengan mudah sekali menambahkan server tambahan dan langsung dapat berintegrasi ke
jaringan cloud. Butuh waktu sekitar 20 menit-an untuk menyiapkan server kosong / baru untuk
dapat berintegrasi ke jaringan cloud.
Engine utama dalam cloud computing sebetulnya adalah aplikasi virtualisasi di sisi server, seperti,
KVM
QEMU
Xen
Walaupun sebetulnya kedua-nya sama-sama menggunakan Eucalyptus dan KVM atau Xen di
dalamnya.
Secara umum UEC lebih mengerikan untuk digunakan karena semua interface-nya menggunakan
Command Line Interface (CLI) alias text. Jadi untuk pemula mungkin akan sangat tidak nyaman.
Walaupun bagi yang biasa menggunakan text sebetulnya enak sekali menggunakan UEC ini. UEC
membutuhkan minimal dua (2) Server untuk bisa operasional. Salah satu Server-nya harus
menggunakan processor kelas Xeon.
Proxmox buatan Jerman menggunakan Grafik User Interface (GUI) melalui Web sehingga sangat
mudah untuk di operasikan. Cantiknya Proxmox minimal menggunakan SATU server kelas Xeon.
Bagi anda yang tidak mau pusing kepala sangat di sarankan untuk menggunakan Proxmox.
ARSITEKTUR CLOUD
Cloud Computing adalah sebuah model komputasi / computing, dimana sumber daya seperti
processor / computing power, storage, network, dan software menjadi abstrak dan diberikan sebagai
layann di jaringan / internet menggunakan pola akses remote. Model billing dari layanan in umumnya
mirip dengan modem layanan publik. Ketersediaan on-demand sesuai kebutuhkan, mudah untuk di
kontrol, dinamik dan skalabilitas yang hampir tanpa limit adalah beberapa atribut penting dari cloud
computing.
Sebuah setup infrastruktur model cloud computing biasanya di kenali sebagai 'Cloud'. Berikut adalah
beberapa kategori layanan yang tersedia dari sebuah 'Cloud' seperti:
1. Infrastructure As A Services (IAAS)
2. Platform As A Service (PAAS)
3. Software As A Service (SAAS)
Cloud ini biasanya tersedia sebagai layanan kepada siapa saja di Internet. Akan tetapi, varian yang di
sebut Private Cloud semakin populer untuk infrastruktur pribadi / private yang mempunyai atribut
seperti 'Cloud di atas.
Amazon Web Services adalah salah satu pemain utama yang memberikan layanan IAAS. Mereka
mempunyai dua (2) layanan yang sangat populer - Elastic Compute Cloud (EC2) dan Simple Storage
Service (S3). Layanan ini tersedia melalui layanan interface Web. Pelanggan dapat menggunakan EC2
dan S3 API untuk berkomunikasi dengan layanan ini. Kepopuleran API ini di dorong oleh berbagai
produk Cloud yang memberikan dukungan kepada mereka juga.
Eucalyptus
Eucalyptus adalah software yang tersedia di bawah GPL yang dapat menolong untuk membuat dan
mengatur private Cloud maupun public Cloud. Eucalyptus menjadi sangat populer dan tampaknya telah
menjadi salah satu kunci platform cloud open source. Karena Eucalyptus memungkinkan layanan
tersedia melalui API yang compatible dengan layanan EC2 / S3, tool client di tulis untuk Amazon Web
Services (AWS) dapat digunakan menggunakan Eucalyptus.
Di masa yang akan datang tampaknya Ubuntu akan menggunakan openstack dan tidak akan
menggunakan lagi Eucalyptus untuk Cloud-nya.
Kenapa Ubuntu?
Ubuntu adalah langkah tercepat untuk membuat reliable cloud untuk usaha anda. Ubuntu adalah satusatu-nya distribusi Linux yang menyertakan semua komponen yang anda butuhkan untuk membuat
cloud secara langsung.
Private cloud
Private cloud memberikan kita kemampuan dari cloud computing menggunakan infrastruktur IT yang
kita miliki. Sehingga kita akan memperoleh keuntungan cloud computing dibelakang keamanan dari
firewall kita. Menjalankan beban dan langsung jalan. Mengembangkan dan mengecilkan kapasitas
komputasi menyesuaikan dengan aplikasi yang kita butuhkan.
INSTALASI CLOUD
Memperoleh ISO Installer
ISO installer dapat di ambil di
Proxmox
http://www.proxmox.com/downloads/proxmox-ve/17-iso-images
http://www.proxmox.com/downloads/proxmox-ve/
Persiapan Instalasi
Tidak perlu menggunakan Server Xeon dapat menggunakan server atau bahkan laptop.
memory 2 Gb
harddisk 60 Gb
Jika tidak,
Instalasi Proxmox
Capture screen instalasi Proxmox sulit dilakukan kalau instalasi menggunakan CDROM tidak bisa
melalui VirtualBox.
Secara umum proses instalasi mirip dengan instalasi linux biasa. Instalasi melalui CDROM. Beberapa
hal yang penting & perlu di ingat / di perhatikan
Skenario Penipuan
Karena Cloud Membutuhkan sinkronisasi clock menggunakan NTP dan secara default akan meminta
pada salah satu dari server NTP berikut
ntp.ubuntu.com
pool.ntp.org
0.debian.pool.ntp.org
1.debian.pool.ntp.org
2.debian.pool.ntp.org
3.debian.pool.ntp.org
Kita harus menipu Cloud -- agar saat Cloud meminta sinkronisasi clock melalui NTP di buat supaya
mesin-mesin NTP server di atas di aliaskan / di redirect ke server NTP lokal di jaringan yang kita buat.
Dengan cara menipu ini maka sebuah Private Cloud dapat di jalankan secara lokal di LAN tanpa perlu
sambungan Internet sama sekali.
Block Diagram
Pada block diagram di perlihatkan teknik menipu cloud agar menyangka memperoleh sinkronisasi
waktu NTP dari NTP server yang ada di Internet.
Dengan konfigurasi tersebut, proses instalasi cloud tidak perlu di ubah apa-apa. Pastikan sebelum
melakukan instalasi bahwa NTP server lokal bisa beroperasi dan melakukan penipuan dengan baik.
IP Address lokal
IP Address lokal
IP Address lokal
IP Address lokal
IP Address lokal
IP Address lokal
192.168.0.3
192.168.0.3
192.168.0.3
192.168.0.3
KONFIGURASI PROXMOX
Instalasi Sun Java Plugin
Untuk memudahkan proses konfigurasi Proxmox melalui web kita perlu menginstalasi sun java plugin
melalui perintah
sudoaptgetinstallsunjava6pluginsunjava6jresunjava6binsunjava6fonts
Jalankan Firefox.
Klik Tools -> Add-ons
Pilih Plugins
Pastikan Java Plugin Enable
: (nama instance)
: (set ke ubuntu.iso agar kita dapat menginstalasi ubuntu)
Mengaktifkan Virtual Machine yang sudah kita buat dapat dilakukan melalui menu
Virtual Machines > List > Cluster
Start
pastikan Java Plugin di Firefox sudah terinstalasi dengan baik. Kemudian masuk ke
Virtual Machines > Klik pada salah satu nama > Open VNC Console
Klik
Always Trust > <Ok> > <Run>
memungkinkan untuk melakukan manajemen terpusat dari banyak server fisik. Pada gambar di
perlihatkan sebuah Proxmox Cluster dengan dua buah mesin. Sebuah Proxmox VE Cluster terdiri dari
minimal satu master dan beberapa node (minimal satu master dan satu node).
Fitur utama ProxMox VE Cluster adalah
pvecas[hIP]#synckonfigurasiclusterdrmaster/IP
pvecadID#deletenode
pvecaa[hIP]#tambahkansebuahnodebarukecluster
pvecam#memaksalocalnodeuntukmenjadimaster
Mendefinisikan Master
Login melalui ssh ke Proxmox VE server pertama. Membuat master menggunakan perintah
pvecac
Juga cek apakah file berikut sudah terupdate, jika tidak sebaiknya dibuang aja file berikut agar diupdate
secara automatis.
/root/.ssh/known_hosts
Catatan: Jika ssh host key kita berubah maka kita perlu men-delete pada setiap host sebelum
kita mulai:
rm/root/.ssh/known_hosts
VZDump menyimpan backup di disk dalam satu file. File ini yang selanjutnya masuk ke backup tape
untuk di arsipkan.
Ada baiknya membaca halaman manual:
manvzdump
vzdumpOPTIONS[all|<VMID>]
excludeVMIDexcludeVMID(assumesall)
excludepathREGEXexcludecertainfiles/directories.You
canusethisoptionmorethanoncetospecify
multipleexcludepaths
stdexcludesexcludetemporaryfilesandlogs
compresscompressdumpfile(gzip)
storageSTORAGE_IDstoreresultingfilestoSTORAGE_ID(PVEonly)
scriptexecutehookscript
dumpdirDIRstoreresultingfilesinDIR
maxfilesNmaximalnumberofbackupfilesperVM.
tmpdirDIRstoretemporaryfilesinDIR.suspendandstop
areusingthisdirectorytostoreacopyoftheVM.
mailtoEMAILsendnotificationmailtoEMAIL.Youcanuse
thisoptionmorethanoncetospecifymultiple
receivers
stopstop/startVMifrunning
suspendsuspend/resumeVMwhenrunning
snapshotuseLVMsnapshotwhenrunning
sizeMBLVMsnapshotsize(default1024)
bwlimitKBPSlimitI/Obandwidth;KBytespersecond
lockwaitMINUTESmaximaltimetowaitfortheglobal
lock.vzdumpusesagloballockfiletomake
surethatonlyoneinstanceisrunning
(runningseveralinstanceputstoomuchload
onaserver).Defaultis180(3hours).
stopwaitMINUTESmaximaltimetowaituntilaVMisstopped.
Perhatikan bahwa menggunakan LVM2 dan vzdump untuk membuat snapshot membutuhkan 512Mb
free space di VG seperti di jelaskan sini.
atau
vzdumprestore/space/backup/vzdump777.tar600
Konfigurasi yang di hasilkan di simpan sebagai cron job di '/etc/cron.d/vzdump'. File ini di sinkronkan
ke semua node cluster.
Contoh 2: Restore backup OpenVZ container CT 777 (backup file: vzdump-openvz-777.tar) ke CT 600
Petunjuk Praktis: Cloud Computing 34
vzrestorevzdumpopenvz777.tar600
Contoh 3: Restore backup KVM VM 555 (backup file: vzdump-qemu-555.tgz) ke CT 500 di storage
dengan nama raid1data
qmrestorestorageraid1datavzdumpqemu555.tgz500
Dengan menggunakan
username admin
password admin
Ada baiknya kita menginstalasi euca2ools untuk memudahkan pekerjaan,
sudoaptgetinstalleuca2ools
cluster1 192.168.0.10
|vmtypes
free/maxcpuramdisk
|m1.small
0004/000411922
|c1.medium
0004/000412565
|m1.large
0002/0002251210
Petunjuk Praktis: Cloud Computing 36
AVAILABILITYZONE
AVAILABILITYZONE
|m1.xlarge
|c1.xlarge
0001/00012102420
0000/00004204820
Jika free / max bernilai NOL semua maka kemungkinan besar belum ada node controller (NC) yang
tersambung ke cloud.
Pastikan Cloud Controller & seluruh komputer di sistem yang tersambung ke Internet supaya clock
semua komputer di sinkronisasi oleh NTP.
Agar dapat mengoperasikan Ubuntu Enterprise Cloud tanpa Internet misalnya pada private cloud, kita
perlu menipu sistem dengan menjalankan NTP Server lokal seperti di jelaskan pada bagian
Mengoperasikan Ubuntu Enterprise Cloud tanpa Internet
https://help.ubuntu.com/community/UEC/Images
http://uec-images.ubuntu.com/releases/9.10/release/
http://uec-images.ubuntu.com/releases/10.04/release/
http://uec-images.ubuntu.com/releases/10.10/release/
http://uec-images.ubuntu.com/releases/11.04/release/
http://uec-images.ubuntu.com/natty/
Menggunakan image yang sudah jadi lebih di rekomendasikan. Bagi mereka yang mempunyai cukup
nyali dapat membuat image sendiri
Jika kita ingin ada baiknya membuat script file dapat membaca dapat langsung menggunakan release
file menjadi Instance. Dengan script file ini maka langkah untuk register image, kernel & ramdisk
dapat kita loncati dan langsung menuju ke menjalankan Instance.
Pertama-tama kita perlu membuka file image tar.gz yang kita peroleh dari Ubuntu sebagai berikut,
tarzxvfubuntu10.10serveruecamd64.tar.gz
Jika ada image sistem operas di Cloud Controller akan tampak seperti
IMAGE eki35AD1A67 mybucket/maverickserverueci386vmlinuzvirtual.manifest.xml
admin available
public
i386
kernel
IMAGE emiECC8155F mybucket/maverickserverueci386.img.manifest.xml admin
available
public
i386
machine
eki35AD1A67
Deregister Image
Kita dapat men-deregister (membuang) image yang tidak lagi dibutuhkan
eucaderegisteremi70280EAC
eucaderegisterekiEF12A78A
eucaderegistereriAF094FDB
mykey 18:7d:ae:d6:5d:03:d0:7c:90:53:47:bf:36:16:e0:d5:b4:df:1b:04
Menjalankan Instance
Perintah berikut dapat digunakan untuk untuk menjalankan instance dengan menggunakan pasangan
kunci yang kita buat, mencek status instance, dan meng-connect ke instance.
Sebelum menjalankan instance ada baiknya cek dulu zone & cek images yang ada
.~/.euca/eucarc
source~/.euca/eucarc
eucadescribeavailabilityzonesverbose
eucadescribeimages
Beberapa pilihan perintah untuk menjalankan instance emi-XXXXX tergantung pada model virtual
yang digunakan,
$eucaruninstanceskmykeytc1.mediumemiB0051469
$eucaruninstanceskmykeytm1.largeemiE43A152A
$eucaruninstanceskmykeytm1.xlargeemiE43A152A
Jika kita ingin menspesifikasi kernel / ramdisk tertentu yang di jalankan beserta image dapat
menggunakan perintah berikut
.~/.euca/eucarc
source~/.euca/eucarc
eucaruninstanceskernelekiCFBD149Bramdiskeri0E79157Bkmykeyt
m1.largeemiAFD41459
Pada saat caching pertama kali dilakukan maka tahapan instance adalah 'pending'. Pastikan 'pending'
menjadi 'running'. Jika tidak berhasil berarti instance tidak berjalan dengan baik. Butuh waktu beberapa
saat sekitar 5-10 menit barangkali untuk melalukan caching pertama kali.
Jika berhasil jalan dengan baik maka akan tampak 'running' seperti di bawah ini
RESERVATION r2B1904A3
admin default
INSTANCE
i570D08F9
emiB0391472 192.168.0.20 172.19.1.2
running
mykey
0
m1.large
20101227T08:03:27.072Z cluster1
eki111119FC
eri0DC219CE
tampak
[MonDec2706:43:122010][error]error.c(94)OXSERROR[x509.c:287in
openssl_x509_get_subject_key_identifier]oxsdefualterror,Theextenensionindexof
NID_subject_key_identifierisnotvalid
[MonDec2706:43:122010][error]error.c(94)OXSERROR[x509.c:287in
openssl_x509_get_subject_key_identifier]oxsdefualterror,Theextenensionindexof
NID_subject_key_identifierisnotvalid
[MonDec2706:43:122010][error]error.c(94)OXSERROR[x509.c:287in
openssl_x509_get_subject_key_identifier]oxsdefualterror,Theextenensionindexof
NID_subject_key_identifierisnotvalid
Ini tidak masalah karena ini adalah bug yang di ketahui di Eucalyptus
Shutdown Instance
Untuk mematikan / terminasi Image yang sedang berjalan / running dapat menggunakan perintah
(misalnya untuk instance nomor i-49FA09ED)
.~/.euca/eucarc
source~/.euca/eucarc
eucaterminateinstancesi49FA09ED
Reboot Instance
Untuk me-reboot instance yang sedang berjalan dapat menggunakan perintah (misalnya untuk instance
nomor i-49FA09ED)
.~/.euca/eucarc
source~/.euca/eucarc
eucarebootinstancesi49FA09ED
SSH ke Instance
Kita perlu memberikan akses untuk traffic SSH
.~/.euca/eucarc
source~/.euca/eucarc
eucaauthorizedefaultPtcpp22s0.0.0.0/0
Jika Instance sudah berjalan dengan baik harusnya kita dapat masuk menggunakan SSH. Misalnya
untuk instance yang berada pada alamat IP 192.168.0,20. Perhatikan username yang digunakan adalah
ubuntu
cd~
cd.euca
sshimykey.privubuntu@192.168.0.20
Atthemoment,onlythecoreofthesystemisinstalled.Totunethe
systemtoyourneeds,youcanchoosetoinstalloneormore
predefinedcollectionsofsoftwarebyrunningthefollowing
command:
sudotaskselsectionserver
TheprogramsincludedwiththeUbuntusystemarefreesoftware;
theexactdistributiontermsforeachprogramaredescribedinthe
individualfilesin/usr/share/doc/*/copyright.
UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedby
applicablelaw.
Torunacommandasadministrator(user"root"),use"sudo<command>".
See"mansudo_root"fordetails.
ubuntu@ip1721912:~$
dan menginstall berbagai software / aplikasi untuk server. Silahkan membaca-baca Linux Howto.
Masalah .ssh/known_hosts
Jika instance di jalankan ulang, maka kemungkinan besar key yang tersimpan di .ssh/known_hosts
sudah tidak valid lagi, sehingga saat melakukan SSH
sshimykey.privubuntu@192.168.0.20
Akan tampak
VOLUME
vol5F100650
10
creating
20110331T04:31:05.925Z
Cek Volume
Cek volume menggunakan perintah
.~/.euca/eucarc
source~/.euca/eucarc
eucadescribevolumes
akan tampak
VOLUME
vol5F100650
akan tampak
VOLUME vol595C062A 10
cluster1
available
20110331T04:23:21.931Z
VOLUME vol5F100650 10
cluster1
inuse 20110331T04:31:05.925Z
ATTACHMENT
vol5F100650 i4CBF0959
/dev/sdb
20110331T04:35:50.276Z
Di sisi Instance
Petunjuk Praktis: Cloud Computing 46
sudofdiskl
Delete Volume
Untuk men-delete volume dapat menggunakan
.~/.euca/eucarc
source~/.euca/eucarc
eucadeletevolumevol5F100650
VOLUME
vol5F100650
REFERENSI
http://opensource.telkomspeedy.com/wiki
http://opensource.telkomspeedy.com/wiki/index.php/Ubuntu_Enterprise_Cloud
http://www.proxmox.com/downloads/proxmox-ve/
http://www.ubuntu.com/business/cloud/overview
http://www.ubuntu.com/business/cloud/technical-resources
http://pve.proxmox.com/wiki/Main_Page