Difference between revisions of "Ubuntu Enterprise Cloud: Instalasi UEC"

From OnnoWiki
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 29: Line 29:
 
* walrus (S3-like storage service)
 
* walrus (S3-like storage service)
 
* storage controller (sc)  
 
* storage controller (sc)  
 +
  
 
{| border="1" cellpadding=2 style="border-collapse: collapse"
 
{| border="1" cellpadding=2 style="border-collapse: collapse"
Line 61: Line 62:
 
| machine images are hundreds of MB, and need to be copied over the network to nodes  
 
| machine images are hundreds of MB, and need to be copied over the network to nodes  
 
|}
 
|}
 
  
 
===Node(s)===
 
===Node(s)===
Line 70: Line 70:
  
 
Sistem ini yang akan menjalankan instances. Anda akan membutuhkan satu atau lebih sistem dengan
 
Sistem ini yang akan menjalankan instances. Anda akan membutuhkan satu atau lebih sistem dengan
 +
  
 
{| border="1" cellpadding=2 style="border-collapse: collapse"
 
{| border="1" cellpadding=2 style="border-collapse: collapse"
Line 158: Line 159:
 
Install Cloud Controller eucalyptus user public ssh key dengan cara:
 
Install Cloud Controller eucalyptus user public ssh key dengan cara:
  
* Di target controller, set password sementara untuk eucalyptus user:
+
* Di Node Controller, set password sementara untuk eucalyptus user:
  
 
  sudo passwd eucalyptus
 
  sudo passwd eucalyptus
Line 166: Line 167:
 
  sudo -u eucalyptus ssh-copy-id -i /var/lib/eucalyptus/.ssh/id_rsa.pub eucalyptus@<IP_OF_NODE>
 
  sudo -u eucalyptus ssh-copy-id -i /var/lib/eucalyptus/.ssh/id_rsa.pub eucalyptus@<IP_OF_NODE>
  
* Selanjutnya kita dapat membuang password eucalyptus account di target controller, jika kita inginkan:  
+
* Selanjutnya kita dapat membuang password eucalyptus account di Noce Controller, jika kita inginkan:  
  
 
  sudo passwd -d eucalyptus
 
  sudo passwd -d eucalyptus
  
 +
* Untuk memaksa pendaftaran Node Controller ke Cloud Controller dapat menggunakan
  
 +
sudo euca_conf --discover-nodes
  
 
===Konfigurasi Layanan / Service===
 
===Konfigurasi Layanan / Service===
Line 220: Line 223:
  
 
  cat /var/log/eucalyptus/registration.log
 
  cat /var/log/eucalyptus/registration.log
 +
 
  2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
 
  2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
 
  2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
 
  2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
Line 265: Line 269:
 
  cd -
 
  cd -
  
 +
Akan tampil
 +
 +
--2010-10-20 10:21:18--  https://localhost:8443/getX509?user=admin&code=aLGDFfIOHjSuctOsdZHK4NtfaPvh6zKN5wzMhoY5QGxkvH2qQxEo5IsF5XkqMFx9al1Z0SRu08FCaUz0veg
 +
Resolving localhost... ::1, 127.0.0.1
 +
Connecting to localhost|::1|:8443... failed: Connection refused.
 +
Connecting to localhost|127.0.0.1|:8443... connected.
 +
WARNING: cannot verify localhost's certificate, issued by `/C=US/O=Cloud/OU=Eucalyptus/CN=db':
 +
  Self-signed certificate encountered.
 +
WARNING: certificate common name `db' doesn't match requested host name `localhost'.
 +
HTTP request sent, awaiting response... 200 OK
 +
Length: 4888 (4.8K) [application/zip]
 +
Saving to: `mycreds.zip'
 +
 +
100%[======================================>] 4,888      --.-K/s  in 0s     
 +
 +
2010-10-20 10:21:19 (254 MB/s) - `mycreds.zip' saved [4888/4888]
  
 
===Extrak dan Menggunakan Credentials Anda===
 
===Extrak dan Menggunakan Credentials Anda===
Line 278: Line 298:
 
  . ~/.euca/eucarc
 
  . ~/.euca/eucarc
 
  euca-describe-availability-zones verbose
 
  euca-describe-availability-zones verbose
AVAILABILITYZONE  myowncloud                192.168.1.1
 
AVAILABILITYZONE  |- vm types                free / max  cpu  ram  disk
 
AVAILABILITYZONE  |- m1.small                0004 / 0004  1    192    2
 
AVAILABILITYZONE  |- c1.medium              0004 / 0004  1    256    5
 
AVAILABILITYZONE  |- m1.large                0002 / 0002  2    512    10
 
AVAILABILITYZONE  |- m1.xlarge              0002 / 0002  2  1024    20
 
AVAILABILITYZONE  |- c1.xlarge              0001 / 0001  4  2048    20
 
  
 +
akan keluar kira-kira seperti
  
 +
AVAILABILITYZONE cluster1 192.168.0.5
 +
AVAILABILITYZONE |- vm types free / max  cpu  ram  disk
 +
AVAILABILITYZONE |- m1.small 0002 / 0002  1    192    2
 +
AVAILABILITYZONE |- c1.medium 0002 / 0002  1    256    5
 +
AVAILABILITYZONE |- m1.large 0001 / 0001  2    512    10
 +
AVAILABILITYZONE |- m1.xlarge 0001 / 0001  2  1024    20
 +
AVAILABILITYZONE |- c1.xlarge 0000 / 0000  4  2048    20
 +
 +
Jika kita melihat free/max VCPU adalah 0 seperti tampak pada daftar di atas, itu berarti node tidak terdaftar secara automatis. Mohon gunakan perintah berikut di Cloud Controller dan approved jika di minta agar Node Controller terdaftar.
 +
 +
sudo euca_conf --discover-nodes
  
 
==STEP 6: Install Image dari Store==
 
==STEP 6: Install Image dari Store==
  
  
Keterangan berikut ini adalah cara yang paling sederhana untuk menginstalasi image. Akan tetapi, untuk pengguna yang mahir dan tertarik untuk belajar dapat membaca [[UECBundlingImages | Bundle their own image]].
+
Keterangan berikut ini adalah cara yang paling sederhana untuk menginstalasi image.
  
Cara yang paling sederhana untuk menambahkan image UEC adalah menginstalasi dari Image Store melalui interface UEC web.
+
'''BAGI ANDA YANG MEMPUNYAI KECEPATAN TINGGI DI INTERNET.''' Cara yang paling sederhana untuk menambahkan image UEC adalah menginstalasi dari Image Store melalui interface UEC web.
  
 
* Akses interface Web melalui URL berikut (Pastikan anda menggunakan https):
 
* Akses interface Web melalui URL berikut (Pastikan anda menggunakan https):
Line 301: Line 326:
 
* Masukan username dan password jika diminta (jika diminta, karena kemungkinan kita masuk login dari sesi sebelumnya)
 
* Masukan username dan password jika diminta (jika diminta, karena kemungkinan kita masuk login dari sesi sebelumnya)
 
* Klik pada Store tab  
 
* Klik pada Store tab  
 +
* Klik Search, maka akan di perlihatkan Image yang tersedia
  
 
[[Image:Private-store-cr.png|center|200px|thumb]]
 
[[Image:Private-store-cr.png|center|200px|thumb]]
Line 307: Line 333:
 
* Klik install untuk Image yang kita inginkan  
 
* Klik install untuk Image yang kita inginkan  
  
 +
Kita membutuhkan waktu lama untuk Download karena rata-rata Image sekitar 200Mbyte.
  
Setelah Image di download dan di install, kita dapat mengklik "How to run?" that will be displayed below the image button to view the command to execute to instantiate (start) this image. The image will also appear on the list given on the Image tab.  
+
Setelah Image di download dan di install, kita dapat mengklik "How to run?" yang akan memperlihatkan perintah yang harus di jalankan untuk instantiate (start) Image tersebut. Image juga akan keluar di daftar yang ada di Image tab.
  
 
[[Image:Private-images-cr.png|center|200px|thumb]]
 
[[Image:Private-images-cr.png|center|200px|thumb]]
  
==STEP 7: Run an Image==
+
'''CATATAN:''' Cara ini akan sulit dilakukan bagi anda yang kecepatan Internet-nya sangat rendah.
  
There are multiple ways to instantiate an image in UEC:
+
'''CATATAN:''' Untuk advanced user, yang tertarik untuk membuat Image sendiri dapat membaca [[UECBundlingImages | Bundle their own image]].
  
* Use the command line
+
==STEP 7: Menjalankan sebuah Image==
* Use one of the UEC compatible management tools such as Landscape
 
* Use the ElasticFox extension to Firefox
 
  
Here we will describe the process from the command line:  
+
Ada beberapa cara untuk instantiate sebuah image di UEC:
  
* Before running an instance of your image, you should first create a keypair (ssh key) that you can use to log into your instance as root, once it boots. The key is stored, so you will only have to do this once. Run the following command:
+
* Menggunakan command line
 +
* Menggunakan salah satu dari UEC compatible management tool seperti Landscape
 +
* Menggunakan [[ElasticFox]] extension untuk [[Firefox]]
 +
 
 +
Berikut ini adalah proses yang perlu dilakukan jika menggunakan command line:
 +
 
 +
* Sebelum menjalankan sebuah instance dari Image kita, kita perlu terlebih dulu membuat sebuah pasangan kunci / keypair (ssh key) yang dapat kita gunakan untuk login ke instance tersebut sebagai root, setelah dia di booting. Kunci tersebut akan di simpan, oleh karenanya kita hanya perlu membuatnya satu kali saja. Jalankan perintah berikut:
  
 
  if [ ! -e ~/.euca/mykey.priv ]; then
 
  if [ ! -e ~/.euca/mykey.priv ]; then
Line 331: Line 362:
 
  fi
 
  fi
  
Note: You can call your key whatever you like (in this example, the key is called 'mykey'), but remember what it is called. If you forget, you can always run euca-describe-keypairs to get a list of created keys stored in the system.
+
CATATAN: kita dapat memanggil key tersebut dengan nama sesuka kita (dalam contoh ini, key di panggil / di sebut sebagai 'mykey'), sebaiknya kita harus ingat apa nama panggilan key tersebut. Jika lupa, kita dapat menjalankan euca-describe-keypairs untuk memperoleh daftar key yang ada di system.
  
* You must also allow access to port 22 in your instances:
+
* Kita perlu mengijinkan akses ke port 22 dari instance yang dibuat
  
 
  euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
 
  euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
  
* Next, you can create instances of your registered image:
+
* Selanjutnya, kita perlu membuat instance dari Image yang terdaftar:
  
 
  euca-run-instances $EMI -k mykey -t m1.small
 
  euca-run-instances $EMI -k mykey -t m1.small
  
  Note: If you receive an error regarding image_id, you may find it by viewing Images page or click "How to Run" on the Store page to see the sample command.
+
akan keluar
 +
 
 +
  RESERVATION    r-54950949    admin    admin-default
 +
INSTANCE    i-48B9088E    emi-1FF015BC    0.0.0.0    0.0.0.0    pending    mykey    0        m1.small    2010-10-21T01:14:50.351Z    cluster1    eki-6CC11AC3   
 +
 
 +
CATATAN: Jika kita memperoleh error tentang image_id, kita dapat menemukannya dengan cara melihat pada Image Page atau klik "How to Run" pada Store page untuk melihat contoh perintah.
  
* The first time you run an instance, the system will be setting up caches for the image from which it will be created. This can often take some time the first time an instance is run given that VM images are usually quite large. To monitor the state of your instance, run:
+
* Saat pertama kali kita menjalankan instance, system akan berusaha mensetup cache untuk Image. Hal ini membutuhkan beberapa waktu. Kadang akan membutuhkan waktu lama apalagi jika VM Image yang ada cukup besar. Untuk memonitor status Instance kita dapat menjalankan
  
 
  watch -n5 euca-describe-instances
 
  watch -n5 euca-describe-instances
  
In the output, you should see information about the instance, including its state. While first-time caching is being performed, the instance's state will be 'pending'.
+
Di output, kita akan dapat memperoleh informasi tentang Instance yang ada, termasuk statusnya. Pada saat caching pertama kali dilakukan, status instance biasanya 'pending'.
  
* When the instance is fully started, the above state will become 'running'. Look at the IP address assigned to your instance in the output, then connect to it:
+
* Jika Instance sudah jalan dengan penuh, status di atas akan menjadi 'running'. Lihat pada [[IP address]] yang di alokasikan pada Instance tersebut, untuk menyambungkan diri ke Instance tersebut ketik
  
 
  IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
 
  IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
 
  ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
 
  ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
  
* And when you are done with this instance, exit your SSH connection, then terminate your instance:
+
* Jika kita sudah selesai dengan Instance tersebut, keluar dari sambungan SSH, matikan Instance menggunakan perintah:
  
 
  INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
 
  INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
euca-terminate-instances $INSTANCEID
+
euca-terminate-instances $INSTANCEID
 
 
 
 
  
==More Information==
+
==Informasi lebih lanjut==
  
How to use the [[UECStorageController | Storage Controller]]
+
Cara menggunakan Storage Controller dapat di baca di [[UECStorageController | Storage Controller]]
  
Controlling eucalyptus services:
+
Cara mengatur layanan eucalyptus services:
  
* sudo service eucalyptus [start|stop|restart] (on the CLC/CC/SC/Walrus side)
+
sudo service eucalyptus [start|stop|restart] (di sisi CLC/CC/SC/Walrus)
* sudo service eucalyptus-nc [start|stop|restart] (on the Node side)  
+
sudo service eucalyptus-nc [start|stop|restart] (di sisi Node)  
  
Locations of some important files:
+
Lokasi dari file penting:
  
* Log files:
+
* File Log:
  
 
  /var/log/eucalyptus  
 
  /var/log/eucalyptus  
  
* Configuration files:
+
* File Konfigurasi:
  
 
  /etc/eucalyptus  
 
  /etc/eucalyptus  
Line 384: Line 418:
 
  /var/lib/eucalyptus/db  
 
  /var/lib/eucalyptus/db  
  
* Keys
+
* Key
  
 
  /var/lib/eucalyptus
 
  /var/lib/eucalyptus
 
  /var/lib/eucalyptus/.ssh  
 
  /var/lib/eucalyptus/.ssh  
  
Notes:
+
Catatan:
  
* Don't forget to source your ~/.euca/eucarc before running the client tools.  
+
* Jangan lupa untuk source ~/.euca/eucarc sebelum menjalankan client tool.  
  
 
Links:
 
Links:
Line 402: Line 436:
 
==Glossary==
 
==Glossary==
  
The Ubuntu Enterprise Cloud documentation uses terminology that might be unfamiliar to some readers. This page is intended to provide a glossary of such terms and acronyms.
+
Dokumentasi [[Ubuntu Enterprise Cloud]] menggunakan terminologi yang mungkin membingungkan untuk para pembaca. Halaman ini menjelaskan beberapa terminologi dan singkatan yang digunakan.
  
* Cloud - A federated set of physical machines that offer computing resources through virtual machines, provisioned and recollected dynamically.
+
* '''Cloud''' - Sekumpulan mesin yang memberikan sumber data komputasinya melalui mesin virtual, yang dapat di atur secara dinamik.
* Cloud Controller (CLC) - Eucalyptus component that provides the web UI (an https server on port 8443), and implements the Amazon EC2 API. There should be only one Cloud Controller in an installation of UEC. This service is provided by the Ubuntu eucalyptus-cloud package.
+
* '''Cloud Controller (CLC)''' - komponen Eucalyptus yang memberikan interface web (https server pada port port 8443), dan mengimplementasikan Amazon EC2 API. Hanya boleh ada satu Cloud Controller di instalasi UEC. Layanan ini di  berikan oleh Ubuntu eucalyptus-cloud package.
* Cluster - A collection of nodes, associated with a Cluster Controller. There can be more than one Cluster in an installation of UEC. Clusters are sometimes physically separate sets of nodes. (e.g. floor1, floor2, floor2).
+
* '''Cluster''' - Kumpulan node, yang berasosiasi dengan sebuah Cluster Controller. Bisa ada lebih dari satu cluster di instalasi UEC. Cluster kadang kala secara fisik memisahkan kumpulan node. (misalnya lantai1, lantai2, lantai3).
* Cluster Controller (CC) - Eucalyptus component that manages collections of node resources. This service is provided by the Ubuntu eucalyptus-cc package.
+
* '''Cluster Controller (CC)''' - Komponen Eucalyptus yang dapat mengatur kumpulan node.Layanan ini di berikan oleh paket Ubuntu eucalyptus-cc package.
* EBS - Elastic Block Storage. http://aws.amazon.com/ebs/
+
* '''EBS''' - Elastic Block Storage. http://aws.amazon.com/ebs/
* EC2 - Elastic Compute Cloud. Amazon's pay-by-the-hour, pay-by-the-gigabyte public cloud computing offering.
+
* '''EC2''' - Elastic Compute Cloud. Layanan public cloud computing Amazon's pay-by-the-hour, pay-by-the-gigabyte.
* EKI - Eucalyptus Kernel Image.
+
* '''EKI''' - Eucalyptus Kernel Image.
* EMI - Eucalyptus Machine Image.
+
* '''EMI''' - Eucalyptus Machine Image.
* ERI - Eucalyptus Ramdisk Image.
+
* '''ERI''' - Eucalyptus Ramdisk Image.
* Eucalyptus - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. An open source project originally from the University of California at Santa Barbara, now supported by Eucalyptus Systems, a Canonical Partner.
+
* '''Eucalyptus''' - ''Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems''. Sebuah open source project yang awalnya dikembangkan oleh University of California at Santa Barbara, saat ini di dukung oleh Eucalyptus Systems, partner dari Canonical.
* Front-end - Physical machine hosting one (or more) of the high level Eucalyptus components (cloud, walrus, storage controller, cluster controller).
+
* '''Front-end''' - Mesin (secara fisik) yang menghosting satu (atau lebih) komponen high level Eucalyptus (cloud, walrus, storage controller, cluster controller).
* Node - A node is a physical machine that's capable of running virtual machines, running a node controller. Within Ubuntu, this generally means that the CPU has VT extensions, and can run the KVM hypervisor.
+
* '''Node''' - Sebuah node adalah sebuah mesin (secara fisik) yang mampu untuk menjalankan virtual machine, menjalankan node controller. Dalam Ubuntu, mesin ini sering diartikan sebagai CPU yang mempunyai VT extension, dan dapat menjalankan KVM hypervisor.
* Node Controller (NC) - Eucalyptus component that runs on nodes which host the virtual machines that comprise the cloud. This service is provided by the Ubuntu package eucalyptus-nc.
+
* '''Node Controller (NC)''' - Komponen Eucalyptus yang berjalan di node yang menghosting virtual machine yang membentuk cloud. Layanan ini di berikan oleh Paket Ubuntu eucalyptus-nc.
* S3 - Simple Storage Service. Amazon's pay-by-the-gigabyte persistent storage solution for EC2. http://aws.amazon.com/s3/
+
* '''S3''' - Simple Storage Service. Amazon's pay-by-the-gigabyte persistent storage solution untuk EC2. http://aws.amazon.com/s3/
* Storage Controller (SC) - Eucalyptus component that manages dynamic block storage services (EBS). Each 'cluster' in a Eucalyptus installation can have its own Storage Controller. This component is provided by the 'eucalyptus-sc' package.
+
* '''Storage Controller (SC)''' - Komponen Eucalyptus yang mengatur dyamic block storage services (EBS). Setiap 'cluster' di instalasi Eucalyptus dapat memiliki Storage Controller sendiri. Komponen ini di berikan oleh paket 'eucalyptus-sc'.
* UEC - Ubuntu Enterprise Cloud. Ubuntu's cloud computing solution, based on Eucalyptus.
+
* '''UEC''' - Ubuntu Enterprise Cloud. Solusi Ubuntu cloud computing, berbasis pada Eucalyptus.
* VM - Virtual Machine.
+
* '''VM''' - Virtual Machine.
* VT - Virtualization Technology. An optional feature of some modern CPUs, allowing for accelerated virtual machine hosting.
+
* '''VT''' - Virtualization Technology. Fitur optional di CPU modern yang memungkinkan accelerated virtual machine hosting.
* Walrus - Eucalyptus component that implements the Amazon S3 API, used for storing VM images and user storage using S3 bucket put/get abstractions.
+
* '''Walrus''' - Komponen Eucalyptus yang mengimplementasikan Amazon S3 API, yang digunakan untuk menyimpan Image VM dan user storage menggunakan abstraksi put/get dari S3 bucket.
  
 
==e-book==
 
==e-book==
  
http://cssoss.wordpress.com/2010/06/22/pdf-version-of-eucalyptus-beginners-guide-uec-edition/
+
* http://cssoss.wordpress.com/2010/06/22/pdf-version-of-eucalyptus-beginners-guide-uec-edition/
 +
* http://cssoss.wordpress.com/2010/05/10/eucalyptus-beginner%E2%80%99s-guide-%E2%80%93-uec%C2%A0edition/
  
 
==Referensi==
 
==Referensi==
Line 439: Line 474:
 
==Pranala Menarik==
 
==Pranala Menarik==
  
 +
* [[Ubuntu Enterprise Cloud]]
 +
* [[Ubuntu Enterprise Cloud: Instalasi Ubuntu Enterprise Cloud Controller]]
 +
* [[Ubuntu Enterprise Cloud: Instalasi Ubuntu Enterprise Node Controller]]
 +
* [[Ubuntu Enterprise Cloud: Troubleshooting]]
 +
* [[Ubuntu Enterprise Cloud: Panduan Untuk Pemula]] '''RECOMMENDED'''
 +
* [[Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi]]
 
* [[Ubuntu Enterprise Cloud: Instalasi UEC]]
 
* [[Ubuntu Enterprise Cloud: Instalasi UEC]]
* [[Ubuntu Enterprise Cloud: Pengambilan Credential]]
+
* [[Ubuntu Enterprise Cloud: Membuat Image Sendiri]]
 +
* [[Ubuntu Enterprise Cloud: Alternatif Cara Menjalankan Instance]]
 
* [[Cloud Computing]]
 
* [[Cloud Computing]]
 
* [[Linux Howto]]
 
* [[Linux Howto]]

Latest revision as of 10:31, 27 March 2011

Objectif

Dalam tutorial ini kita akan belajar bagaimana cara menginstalasi, mengkonfigur, mendaftarkan dan melakukan beberapa operasi pada setup UEC dasar yang mudah-mudahan akan menghasilkan sebuah controller "front-end" dan satu atau lebih node yang menjalankan Virtual Machine (VM) instances. kita akan menggunakan beberapa contoh untuk membantu kita dapat membuat sendiri private compute cloud.


Download

  • Download iso Ubuntu Server dari
http://www.ubuntu.com/server/get-ubuntu/download


STEP 1: Persyaratan

Untuk menjalankan sebuah infrastruktur cloud minimal, kita akan membutuhkan paling tidak dua (2) sistem dedicated.

  • sebuah front end.
  • sebuah atau lebih node.

Berikut ini adalah rekomendasi spec.


Front End

Gunakan tabel berikut untuk sebuah sistem yang akan menjalankan satu atau lebih:

  • cloud controller (clc)
  • cluster controller (cc)
  • walrus (S3-like storage service)
  • storage controller (sc)


Hardware Minimum Suggested Notes
CPU 1GHz 2 x 2GHz for an all-in-one front end, it helps to have at least a dual core processor
Memory 2GB 4GB the Java web front end benefits from lots of available memory
Disk 5400rpm IDE 7200rpm SATA slower disks will work, but will yield much longer instance startup times
Disk Space 40GB 200GB 40GB is only enough space for only a single image, cache, etc., Eucalyptus does not like to run out of disk space
Networking 100Mbps 1000Mbps machine images are hundreds of MB, and need to be copied over the network to nodes

Node(s)

Untuk sistem yang berupa node, yang akan menjalankan:

  • node controller (nc)

Sistem ini yang akan menjalankan instances. Anda akan membutuhkan satu atau lebih sistem dengan


Hardware Minimum Suggested Notes
CPU VT extensions VT, 64-bit, Multicore 64-bit can run both i386, and amd64 instances; by default, Eucalyptus will only run 1 VM per CPU core on a Node
Memory 1GB 4GB additional memory means more, and larger guests
Disk 5400rpm IDE 7200rpm SATA or SCSI Eucalyptus nodes are disk-intensive; I/O wait will likely be the performance bottleneck
Disk Space 40GB 100GB images will be cached locally, Eucalyptus does not like to run out of disk space
Networking 100Mbps 1000Mbps machine images are hundreds of MB, and need to be copied over the network to nodes

STEP 2: Install Cloud/Cluster/Storage/Walrus Front End Server

  • Download 10.04 atau 10.10 Server ISO
  • Ubuntu 10.04 - Pada saat booting, pilih “Install Ubuntu Enterprise Cloud”.
Bootscreen.png
  • Ubuntu 10.10 - Pada saat booting, ketik cloud.
  • Installer akan mendeteksi jika ada komponen Eucalyptus lain di jaringan.
Uec1.png
  • Kita dapat memilih komponen mana yang akan di install, tergantung topologi yang kita pilih.
Uec2.png
  • Installer akan menanyakan dua (2) pertanyaan yang spesifik untuk cloud pada saat instalasi, yaitu:
    • Nama dari cluster kita, misalnya, cluster1.
Uec3.png
    • Range dari IP address LAN yang akan di alokasikan oleh cloud ada instances, misalnya, 192.168.1.200-192.168.1.249.
Uec4.png

STEP 3: Install Node Controller

Instalasi node controller lebih sederhana. Pastikan bahwa kita tersambung ke jaringan dimana cloud/cluster controller sudah running.

  1. Boot menggunakan ISO yang sama untuk node.
  2. Pilih “Install Ubuntu Enterprise Cloud”
  3. Installer harusnya mendeteksi Cluster dan preselect “Node” install untuk kita
  4. Konfirmasikan partisi harddisk
  5. Proses instalasi selanjutnya harus dilakukan tanpa berhenti; selesai sudah proses instalasi dan reboot node.

STEP 4: Proses Registrasi Node

Semenjak Ubuntu 10.04 LTS, semua registrasi komponen harusnya berlangsung secara automatis, dengan asumsi:

  1. Public SSH key dapat di pertukarkan dengan benar.
  2. Layanan / service dapat di konfigasi dengan benar.
  3. Layanan / service mempublikasikan keberadaannya di jaringan
  4. uec-component-listener yang benar berjalan
  5. Melakukan verifikasi registrasi.

Langkah ini hanya di perlukan kalau kita menggunakan langkah / metoda UEC/PackageInstall. Jika kita menggunakan langkah Ubuntu Enterprise Cloud: Instalasi UEC semua langkah ini biasanya sudah dilakukan secara automatis, kita tidak perlu melakukan langkah ini lagi.

Pertukaran Public SSH Key

Eucalyptus user Cloud Controller membutuhkan akses SSH ke Walrus Controller, Cluster Controller, dan Storage Controller sebagai eucalyptus user.

Install Cloud Controller eucalyptus user public ssh key dengan cara:

  • Di Node Controller, set password sementara untuk eucalyptus user:
sudo passwd eucalyptus
  • Kemudian pada Cloud Controller:
sudo -u eucalyptus ssh-copy-id -i /var/lib/eucalyptus/.ssh/id_rsa.pub eucalyptus@<IP_OF_NODE>
  • Selanjutnya kita dapat membuang password eucalyptus account di Noce Controller, jika kita inginkan:
sudo passwd -d eucalyptus
  • Untuk memaksa pendaftaran Node Controller ke Cloud Controller dapat menggunakan
sudo euca_conf --discover-nodes

Konfigurasi Layanan / Service

Pada Cloud Controller:

  • Untuk Registrasi Cluster Controller:
    • Definisikan shell variable CC_NAME di /etc/eucalyptus/eucalyptus-cc.conf
    • Definisikan shell variable CC_IP_ADDR di /etc/eucalyptus/eucalyptus-ipaddr.conf, sebagai daftar IP address yang di pisahkan spasi.
  • Untuk Registrasi Walrus Controller:
    • Definisikan shell variable WALRUS_IP_ADDR di /etc/eucalyptus/eucalyptus-ipaddr.conf, sebagai sebuah IP address

Pada Cluster Controller:

  • Untuk Registrasi Storage Controller:
    • Definisikan nama cluster di shell variable CC_NAME di /etc/eucalyptus/eucalyptus-cc.conf
    • Definisikan shell variable SC_IP_ADDR di /etc/eucalyptus/eucalyptus-ipaddr.conf, berupa IP address yang dipisahkan oleh spasi.

Publikasi

Sekarang, kita dapat mulai mempublikasi layanan ke jaringan

  • Walrus Controller:
sudo start eucalyptus-walrus-publication
  • Cluster Controller:
sudo start eucalyptus-cc-publication
  • Storage Controller:
sudo start eucalyptus-sc-publication
  • Node Controller
sudo start eucalyptus-nc-publication


Start Listener

Pada Cloud Controller dan Cluster Controller, jalankan:

sudo start uec-component-listener


Verifikasi Registrasi

cat /var/log/eucalyptus/registration.log
2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
2010-04-08 15:48:47-05:00 | 25858 -> Calling walrus Walrus 10.1.1.71
2010-04-08 15:48:51-05:00 | 25858 -> euca_conf --register-walrus returned 0
2010-04-08 15:49:04-05:00 | 26237 -> Calling cluster cluster1 10.1.1.71
2010-04-08 15:49:08-05:00 | 26237 -> euca_conf --register-cluster returned 0
2010-04-08 15:49:17-05:00 | 26644 -> Calling storage cluster1 storage 10.1.1.71
2010-04-08 15:49:18-05:00 | 26644 -> euca_conf --register-sc returned 0

STEP 5: Ambil Credential (Mandat)

Setelah menginstalasi dan booting maka Cloud Controller, pengguna dari cloud perlu mengambil Credential-nya (Mandat-nya). Hal ini dapat dilakukan melalui sebuah web browser, atau menggunakan command line.

Melalui Web Browser

  • Melalui Web Browser kita dapat mengakses melalui URL:
https://<cloud-controller-ip-address>:8443/

PENTING! Kita harus menggunakan secure connection, pastikan kita menggunakan "https" bukan "http" di URL. Kita akan memperoleh security certificate warning. Kita perlu meng-add an exception untuk dapat melihat halaman web tersebut. Jika kita tidak meng-accespt maka kita tidak akan bisa melihat halaman konfigurasi Eucalyptus.

  • Gunakan username 'admin' dan password 'admin' untuk pertama kali login (anda akan dikinta untuk mengganti password sesudah itu)
  • Ikuti instruksi di layar untuk meng-update admin password dan email address.
  • Sesudah proses konfigurasi pertama kali selesai dilakukan, klik pada tab 'credentials' yang berlokasi di kiri atas layar.
  • Klik pada tombol 'Download Credentials' untuk memperoleh sertifikat anda.
  • Simpan di ~/.euca
  • Unzip file zip yang baru di download di lokasi yang aman (~/.euca)
unzip -d ~/.euca mycreds.zip

Tampilan proses pengambilan credential dapat dilihat di Ubuntu Enterprise Cloud: Pengambilan Credential


Melalui Command Line

Alternatif lain, kita dapat menggunakan command line di Cloud Controller, kita dapat menjalankan:

mkdir -p ~/.euca
chmod 700 ~/.euca
cd ~/.euca
sudo euca_conf --get-credentials mycreds.zip
unzip mycreds.zip
ln -s ~/.euca/eucarc ~/.eucarc
cd -

Akan tampil

--2010-10-20 10:21:18--  https://localhost:8443/getX509?user=admin&code=aLGDFfIOHjSuctOsdZHK4NtfaPvh6zKN5wzMhoY5QGxkvH2qQxEo5IsF5XkqMFx9al1Z0SRu08FCaUz0veg
Resolving localhost... ::1, 127.0.0.1
Connecting to localhost|::1|:8443... failed: Connection refused.
Connecting to localhost|127.0.0.1|:8443... connected.
WARNING: cannot verify localhost's certificate, issued by `/C=US/O=Cloud/OU=Eucalyptus/CN=db':
  Self-signed certificate encountered.
WARNING: certificate common name `db' doesn't match requested host name `localhost'.
HTTP request sent, awaiting response... 200 OK
Length: 4888 (4.8K) [application/zip]
Saving to: `mycreds.zip'

100%[======================================>] 4,888       --.-K/s   in 0s      

2010-10-20 10:21:19 (254 MB/s) - `mycreds.zip' saved [4888/4888]

Extrak dan Menggunakan Credentials Anda

Selanjutnya, kita perlu mensetup EC2 API dan tool AMI di server anda menggunakan sertifikat X.509.

  • Install tool cloud user yang dibutuhkan:
sudo apt-get install euca2ools
  • Untuk memvalidasi semua berjalan dengan baik, ambil dari cluster lokal ketersediaan yang ada
. ~/.euca/eucarc
euca-describe-availability-zones verbose

akan keluar kira-kira seperti

AVAILABILITYZONE	cluster1	192.168.0.5
AVAILABILITYZONE	|- vm types	free / max   cpu   ram  disk
AVAILABILITYZONE	|- m1.small	0002 / 0002   1    192     2
AVAILABILITYZONE	|- c1.medium	0002 / 0002   1    256     5
AVAILABILITYZONE	|- m1.large	0001 / 0001   2    512    10
AVAILABILITYZONE	|- m1.xlarge	0001 / 0001   2   1024    20
AVAILABILITYZONE	|- c1.xlarge	0000 / 0000   4   2048    20

Jika kita melihat free/max VCPU adalah 0 seperti tampak pada daftar di atas, itu berarti node tidak terdaftar secara automatis. Mohon gunakan perintah berikut di Cloud Controller dan approved jika di minta agar Node Controller terdaftar.

sudo euca_conf --discover-nodes

STEP 6: Install Image dari Store

Keterangan berikut ini adalah cara yang paling sederhana untuk menginstalasi image.

BAGI ANDA YANG MEMPUNYAI KECEPATAN TINGGI DI INTERNET. Cara yang paling sederhana untuk menambahkan image UEC adalah menginstalasi dari Image Store melalui interface UEC web.

  • Akses interface Web melalui URL berikut (Pastikan anda menggunakan https):
https://<cloud-controller-ip-address>:8443/
  • Masukan username dan password jika diminta (jika diminta, karena kemungkinan kita masuk login dari sesi sebelumnya)
  • Klik pada Store tab
  • Klik Search, maka akan di perlihatkan Image yang tersedia
Private-store-cr.png
  • Browse Image yang tersedia
  • Klik install untuk Image yang kita inginkan

Kita membutuhkan waktu lama untuk Download karena rata-rata Image sekitar 200Mbyte.

Setelah Image di download dan di install, kita dapat mengklik "How to run?" yang akan memperlihatkan perintah yang harus di jalankan untuk instantiate (start) Image tersebut. Image juga akan keluar di daftar yang ada di Image tab.

Private-images-cr.png

CATATAN: Cara ini akan sulit dilakukan bagi anda yang kecepatan Internet-nya sangat rendah.

CATATAN: Untuk advanced user, yang tertarik untuk membuat Image sendiri dapat membaca Bundle their own image.

STEP 7: Menjalankan sebuah Image

Ada beberapa cara untuk instantiate sebuah image di UEC:

  • Menggunakan command line
  • Menggunakan salah satu dari UEC compatible management tool seperti Landscape
  • Menggunakan ElasticFox extension untuk Firefox

Berikut ini adalah proses yang perlu dilakukan jika menggunakan command line:

  • Sebelum menjalankan sebuah instance dari Image kita, kita perlu terlebih dulu membuat sebuah pasangan kunci / keypair (ssh key) yang dapat kita gunakan untuk login ke instance tersebut sebagai root, setelah dia di booting. Kunci tersebut akan di simpan, oleh karenanya kita hanya perlu membuatnya satu kali saja. Jalankan perintah berikut:
if [ ! -e ~/.euca/mykey.priv ]; then
    mkdir -p -m 700 ~/.euca
    touch ~/.euca/mykey.priv
    chmod 0600 ~/.euca/mykey.priv
    euca-add-keypair mykey > ~/.euca/mykey.priv
fi

CATATAN: kita dapat memanggil key tersebut dengan nama sesuka kita (dalam contoh ini, key di panggil / di sebut sebagai 'mykey'), sebaiknya kita harus ingat apa nama panggilan key tersebut. Jika lupa, kita dapat menjalankan euca-describe-keypairs untuk memperoleh daftar key yang ada di system.

  • Kita perlu mengijinkan akses ke port 22 dari instance yang dibuat
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
  • Selanjutnya, kita perlu membuat instance dari Image yang terdaftar:
euca-run-instances $EMI -k mykey -t m1.small

akan keluar

RESERVATION    r-54950949    admin    admin-default
INSTANCE    i-48B9088E    emi-1FF015BC    0.0.0.0    0.0.0.0    pending    mykey    0        m1.small    2010-10-21T01:14:50.351Z    cluster1    eki-6CC11AC3    

CATATAN: Jika kita memperoleh error tentang image_id, kita dapat menemukannya dengan cara melihat pada Image Page atau klik "How to Run" pada Store page untuk melihat contoh perintah.

  • Saat pertama kali kita menjalankan instance, system akan berusaha mensetup cache untuk Image. Hal ini membutuhkan beberapa waktu. Kadang akan membutuhkan waktu lama apalagi jika VM Image yang ada cukup besar. Untuk memonitor status Instance kita dapat menjalankan
watch -n5 euca-describe-instances

Di output, kita akan dapat memperoleh informasi tentang Instance yang ada, termasuk statusnya. Pada saat caching pertama kali dilakukan, status instance biasanya 'pending'.

  • Jika Instance sudah jalan dengan penuh, status di atas akan menjadi 'running'. Lihat pada IP address yang di alokasikan pada Instance tersebut, untuk menyambungkan diri ke Instance tersebut ketik
IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
  • Jika kita sudah selesai dengan Instance tersebut, keluar dari sambungan SSH, matikan Instance menggunakan perintah:
INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
euca-terminate-instances $INSTANCEID

Informasi lebih lanjut

Cara menggunakan Storage Controller dapat di baca di Storage Controller

Cara mengatur layanan eucalyptus services:

sudo service eucalyptus [start|stop|restart] (di sisi CLC/CC/SC/Walrus)
sudo service eucalyptus-nc [start|stop|restart] (di sisi Node) 

Lokasi dari file penting:

  • File Log:
/var/log/eucalyptus 
  • File Konfigurasi:
/etc/eucalyptus 
  • Database:
/var/lib/eucalyptus/db 
  • Key
/var/lib/eucalyptus
/var/lib/eucalyptus/.ssh 

Catatan:

  • Jangan lupa untuk source ~/.euca/eucarc sebelum menjalankan client tool.

Links:

  • Eucalyptus Project Site (forums, documentation, downloads)
  • Eucalyptus on Launchpad (bugs, code)
  • Eucalyptus Troubleshooting (1.5)
  • Register your cloud with RightScale

Glossary

Dokumentasi Ubuntu Enterprise Cloud menggunakan terminologi yang mungkin membingungkan untuk para pembaca. Halaman ini menjelaskan beberapa terminologi dan singkatan yang digunakan.

  • Cloud - Sekumpulan mesin yang memberikan sumber data komputasinya melalui mesin virtual, yang dapat di atur secara dinamik.
  • Cloud Controller (CLC) - komponen Eucalyptus yang memberikan interface web (https server pada port port 8443), dan mengimplementasikan Amazon EC2 API. Hanya boleh ada satu Cloud Controller di instalasi UEC. Layanan ini di berikan oleh Ubuntu eucalyptus-cloud package.
  • Cluster - Kumpulan node, yang berasosiasi dengan sebuah Cluster Controller. Bisa ada lebih dari satu cluster di instalasi UEC. Cluster kadang kala secara fisik memisahkan kumpulan node. (misalnya lantai1, lantai2, lantai3).
  • Cluster Controller (CC) - Komponen Eucalyptus yang dapat mengatur kumpulan node.Layanan ini di berikan oleh paket Ubuntu eucalyptus-cc package.
  • EBS - Elastic Block Storage. http://aws.amazon.com/ebs/
  • EC2 - Elastic Compute Cloud. Layanan public cloud computing Amazon's pay-by-the-hour, pay-by-the-gigabyte.
  • EKI - Eucalyptus Kernel Image.
  • EMI - Eucalyptus Machine Image.
  • ERI - Eucalyptus Ramdisk Image.
  • Eucalyptus - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. Sebuah open source project yang awalnya dikembangkan oleh University of California at Santa Barbara, saat ini di dukung oleh Eucalyptus Systems, partner dari Canonical.
  • Front-end - Mesin (secara fisik) yang menghosting satu (atau lebih) komponen high level Eucalyptus (cloud, walrus, storage controller, cluster controller).
  • Node - Sebuah node adalah sebuah mesin (secara fisik) yang mampu untuk menjalankan virtual machine, menjalankan node controller. Dalam Ubuntu, mesin ini sering diartikan sebagai CPU yang mempunyai VT extension, dan dapat menjalankan KVM hypervisor.
  • Node Controller (NC) - Komponen Eucalyptus yang berjalan di node yang menghosting virtual machine yang membentuk cloud. Layanan ini di berikan oleh Paket Ubuntu eucalyptus-nc.
  • S3 - Simple Storage Service. Amazon's pay-by-the-gigabyte persistent storage solution untuk EC2. http://aws.amazon.com/s3/
  • Storage Controller (SC) - Komponen Eucalyptus yang mengatur dyamic block storage services (EBS). Setiap 'cluster' di instalasi Eucalyptus dapat memiliki Storage Controller sendiri. Komponen ini di berikan oleh paket 'eucalyptus-sc'.
  • UEC - Ubuntu Enterprise Cloud. Solusi Ubuntu cloud computing, berbasis pada Eucalyptus.
  • VM - Virtual Machine.
  • VT - Virtualization Technology. Fitur optional di CPU modern yang memungkinkan accelerated virtual machine hosting.
  • Walrus - Komponen Eucalyptus yang mengimplementasikan Amazon S3 API, yang digunakan untuk menyimpan Image VM dan user storage menggunakan abstraksi put/get dari S3 bucket.

e-book

Referensi

Pranala Menarik