Jumat, 09 September 2011
Instlasi Ubuntu Enterprise Cloud
Jumat, 09 September 2011 by Unknown
Dalam tutorial ini kita akan belajar bagaimana cara menginstalasi, mengkonfigurasi, 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.
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)
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”.
- Ubuntu 10.10 - Pada saat booting, ketik cloud.
- Installer akan mendeteksi jika ada komponen Eucalyptus lain di jaringan.
- Kita dapat memilih komponen mana yang akan di install, tergantung topologi yang kita pilih.
- Installer akan menanyakan dua (2) pertanyaan yang spesifik untuk cloud pada saat instalasi, yaitu:
- Nama dari cluster kita, misalnya, cluster1.
- Range dari IP address LAN yang akan di alokasikan oleh cloud ada instances, misalnya, 192.168.1.200-192.168.1.249.
STEP 3: Install Node Controller
Instalasi node controller lebih sederhana. Pastikan bahwa kita tersambung ke jaringan dimana cloud/cluster controller sudah running.- Boot menggunakan ISO yang sama untuk node.
- Pilih “Install Ubuntu Enterprise Cloud”
- Installer harusnya mendeteksi Cluster dan preselect “Node” install untuk kita
- Konfirmasikan partisi harddisk
- 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:- Public SSH key dapat di pertukarkan dengan benar.
- Layanan / service dapat di konfigasi dengan benar.
- Layanan / service mempublikasikan keberadaannya di jaringan
- uec-component-listener yang benar berjalan
- Melakukan verifikasi registrasi.
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
- 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
Melalui Command Line
Alternatif lain, kita dapat menggunakan command line di Cloud Controller, kita dapat menjalankan:mkdir -p ~/.eucaAkan tampil
chmod 700 ~/.euca
cd ~/.euca
sudo euca_conf --get-credentials mycreds.zip
unzip mycreds.zip
ln -s ~/.euca/eucarc ~/.eucarc
cd -
--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/eucarcakan keluar kira-kira seperti
euca-describe-availability-zones verbose
AVAILABILITYZONE cluster1 192.168.0.5Jika 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.
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
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
- Browse Image yang tersedia
- Klik install untuk Image yang kita inginkan
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.
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
- 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 ]; thenCATATAN: 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.
mkdir -p -m 700 ~/.euca
touch ~/.euca/mykey.priv
chmod 0600 ~/.euca/mykey.priv
euca-add-keypair mykey > ~/.euca/mykey.priv
fi
- 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.smallakan keluar
RESERVATION r-54950949 admin admin-defaultCATATAN: 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.
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
- 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-instancesDi 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 mengatur layanan eucalyptus services:sudo service eucalyptus [start|stop|restart] (di sisi CLC/CC/SC/Walrus)Lokasi dari file penting:
sudo service eucalyptus-nc [start|stop|restart] (di sisi Node)
- File Log:
/var/log/eucalyptus
- File Konfigurasi:
/etc/eucalyptus
- Database:
/var/lib/eucalyptus/db
- Key
/var/lib/eucalyptusCatatan:
/var/lib/eucalyptus/.ssh
- Jangan lupa untuk source ~/.euca/eucarc sebelum menjalankan client tool.
- Eucalyptus Project Site (forums, documentation, downloads)
- Eucalyptus on Launchpad (bugs, code)
- Eucalyptus Troubleshooting (1.5)
- Register your cloud with RightScale
Get Updates
Subscribe to our e-mail newsletter to receive updates.
Related Articles
Langganan:
Posting Komentar (Atom)
0 Responses to “Instlasi Ubuntu Enterprise Cloud”
Posting Komentar
Masukan Komentarnya disini! OK! :) :