Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi
Install Ubuntu Enterprise Cloud
- Masukan CD Ubuntu Server
- Boot Komputer
- Install UEC
Spec Cloud Controller
- Laptop (berhubung tidak punya mesin gede)
- memory 2G
- harddisk 60G
Spec Cloud Node
- Processor Xeon Quad (Rainer Server)
- VT Enable dari BIOS (default BIOS DISABLE hati2!)
- Memory 2G
- Harddisk 60G
Cek KVM
kvm-ok
Pastikan keluarannya
INFO: Your CPU supports KVM extensions INFO: /dev/kvm exists KVM acceleration can be used
Jika tidak,
- Pastikan CPU yang anda gunakan mensupport VT
- Pastikan BIOS mengaktifkan VT
Siapkan EUCA
Di Cloud Controller
Pastikan eucalyptus beroperasi
sudo service eucalyptus restart
Di PC Client (bukan di Node)
Akses ke Could Controller (misalnya 192.168.0.10)
https://192.168.0.10:8443/#credentials
Dengan
username admin password admin
Walaupun ini tidak di perlukan di sisi PC Client, jika di perlukan kita dapat menginstalasi
sudo apt-get install euca2ools
Selanjutnya download credential dari web dan lakukan
mkdir ~/.euca cp euca2-admin-x509.zip ~/.euca/ cd ~/.euca unzip euca2-admin-x509.zip
Cek availability zone
. ~/.euca/eucarc source ~/.euca/eucarc euca-describe-availability-zones verbose
AVAILABILITYZONE cluster1 192.168.0.10 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 0001 / 0001 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20
Jika VCPU bernilai NOL coba lakukan langkah troubleshooting jika VCPU bernilai NOL
Mengambil Image UEC dari Internet
Agar hidup kita lebih mudah akan lebih baik mengambil Image UEC yang sudah jadi dari Internet, misalnya dari
- 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/
Menggunakan image yang sudah jadi lebih di rekomendasikan. Bagi mereka yang mempunyai cukup nyali dapat membuat image sendiri
Mendaftarkan Image ke Eucalyptus
Jika anda membuat kernel sendiri dan tidak memiliki vmlinux dan initrd, kita dapat mengupload vmlinux & initrd yang ada di /boot ke Could Controller Eucalyptus. File yang perlu di upload untuk contoh di atas adalah
- /boot/vmlinuz-2.6.35-22-generic-pae
- /boot/initrd.img-2.6.35-22-generic-pae
Copy kernel dan initrd image dari VM image (atau Node Controller) ke mesin client yang akan mengupload image ke Cloud Controller (dalam contoh ini client adalah 192.168.0.61). Hal ini di perlukan untuk digunakan selanjutnya waktu membuat dan mengupload complete virtual image ke Eucalyptus.
Lihat initrd.img dan vmlinuz di /boot di node controller
$ sudo ls /boot
copy ke mesin client
$ scp /boot/initrd.img-2.6.35-22-generic-pae user@192.168.0.61: $ scp /boot/vmlinuz-2.6.35-22-generic-pae user@192.168.0.61:
Sebelum menjalankan upload shutdown VM. Perhatikan 'user' di atas adalah username yang kita buat saat instalasi.
Mendaftarkan kernel image
Jalankan perintah berikut dari salah satu komputer client untuk mem-bundel dan mendaftarkan kernel image (karmic-server-uec-i386-vmlinuz-virtual)
. ~/.euca/eucarc source ~/.euca/eucarc euca-bundle-image -i karmic-server-uec-i386-vmlinuz-virtual -r i386 --kernel true euca-upload-bundle -b ueckernel -m /tmp/karmic-server-uec-i386-vmlinuz-virtual.manifest.xml euca-register ueckernel/karmic-server-uec-i386-vmlinuz-virtual.manifest.xml
Simpan output yang dihasilkan oleh perintah terakhir di atas (eki-XXXXXXXX misalnya eki-111119FC), yang akan dibutuhkan untuk mendaftarkan disk image. Dalam membuat bundel image kita dapat memakai -r i386 atau -r x86_64 tergantung jenis image yang anda miliki
Mendaftarkan ramdisk image
Jalankan perintah berikut untuk mem-bundel dan mendaftarkan ramdisk image (karmic-server-uec-i386-initrd-virtual)
. ~/.euca/eucarc source ~/.euca/eucarc euca-bundle-image -i karmic-server-uec-i386-initrd-virtual -r i386 --ramdisk true euca-upload-bundle -b uecramdisk -m /tmp/karmic-server-uec-i386-initrd-virtual.manifest.xml euca-register uecramdisk/karmic-server-uec-i386-initrd-virtual.manifest.xml
Simpan output yagn dihasilkan oleh perintah terakhir di atas (eri-XXXXXXXX misalnya eri-0DC219CE), yang akan dibutuhkan pada saat mendaftarkan disk image. Dalam membuat bundel image kita dapat memakai -r i386 atau -r x86_64 tergantung jenis image yang anda miliki
Mendaftarkan disk image
Ganti eki-XXXXXXXX dan eri-XXXXXXXX dengan nilai yang kita peroleh sebelumnya
euca-bundle-image -i karmic-server-uec-i386.img --kernel eki-XXXXX --ramdisk eri-XXXX
misalnya
euca-bundle-image -i karmic-server-uec-i386.img -r i386 --kernel eki-10E519F0 --ramdisk eri-0DA519CD euca-upload-bundle -b uecimage -m /tmp/karmic-server-uec-i386.img.manifest.xml euca-register uecimage/karmic-server-uec-i386.img.manifest.xml
Biasanya sesudah euca-register akan di keluarkan emi-XXXXXXXX misalnya emi-B0051469. Dalam membuat bundel image kita dapat memakai -r i386 atau -r x86_64 tergantung jenis image yang anda miliki
Mendaftarkan disk image dari file distribusi UEC
Pastikan pada home directory ada file *.img dan pendukungnya. Misalnya kita ingin menggunakan ls maverick-server-uec-i386*
ls ~/maverick-server-uec-i386*
maverick-server-uec-i386-floppy maverick-server-uec-i386-loader maverick-server-uec-i386-vmlinuz-virtual maverick-server-uec-i386.img maverick-server-uec-i386.tar.gz
Kalau tidak ada, copy dan extract mengunakan perintah
cp maverick-server-uec-i386.tar.gz ~ cd ~ tar zxvf maverick-server-uec-i386.tar.gz
euca-bundle-image -i maverick-server-uec-i386-vmlinuz-virtual -r i386 --kernel true euca-upload-bundle -b ueckernel -m /tmp/maverick-server-uec-i386-vmlinuz-virtual.manifest.xml euca-register ueckernel/maverick-server-uec-i386-vmlinuz-virtual.manifest.xml
catat eki-XXXX (misalnya eki-50DE1ACD) yang keluar
euca-bundle-image -i maverick-server-uec-i386-loader -r i386 --ramdisk true euca-upload-bundle -b uecramdisk -m /tmp/maverick-server-uec-i386-loader.manifest.xml euca-register uecramdisk/maverick-server-uec-i386-loader.manifest.xml
catat eri-XXXX (misalnya eri-6BC7174E) yang keluar
euca-bundle-image -i maverick-server-uec-i386.img -r i386 --kernel eki-50DE1ACD --ramdisk eri-6BC7174E euca-upload-bundle -b uecimage -m /tmp/maverick-server-uec-i386.img.manifest.xml euca-register uecimage/maverick-server-uec-i386.img.manifest.xml
Biasanya sesudah euca-register akan di keluarkan emi-XXXX (misalnya emi-E43A152A). Dalam membuat bundel image kita dapat memakai -r i386 atau -r x86_64 tergantung jenis image yang anda miliki
Mendaftarkan UEC Image ke Cloud Controller
Cara sederhana untuk mendaftarkan Image ke Cloud Controller adalah sebagai berikut
uec-publish-tarball maverick-server-uec-i386.tar.gz mybucket
Fri Dec 24 09:54:10 WIT 2010: ====== extracting image ====== Warning: no ramdisk found, assuming '--ramdisk none' kernel : maverick-server-uec-i386-vmlinuz-virtual ramdisk: none image : maverick-server-uec-i386.img Fri Dec 24 09:54:21 WIT 2010: ====== bundle/upload kernel ====== Fri Dec 24 09:54:24 WIT 2010: ====== bundle/upload image ====== Fri Dec 24 09:55:46 WIT 2010: ====== done ====== emi="emi-ECC8155F"; eri="none"; eki="eki-35AD1A67";
Untuk cara ini kita membutuhkan UEC image dari Ubuntu.com. Hanya saja Warning: no ramdisk found, assuming '--ramdisk none' ternyata membuat masalah & kepala pusing.
Cara yang lebih baik untuk mendaftarkan image tar.gz ke Cloud Controller adalah dengan menambahkan ramdisk -r misalnya
uec-publish-tarball -r eri-0E79157B maverick-server-uec-i386.tar.gz mybucket
Pastikan bahwa kita telah mengupload ramdisk eri-0E79157B sebelumnya sehingga hasilnya
Mon Dec 27 06:08:57 WIT 2010: ====== extracting image ====== kernel : maverick-server-uec-i386-vmlinuz-virtual ramdisk: eri-0E79157B image : maverick-server-uec-i386.img Mon Dec 27 06:09:15 WIT 2010: ====== bundle/upload kernel ====== Mon Dec 27 06:09:17 WIT 2010: ====== bundle/upload image ====== Mon Dec 27 06:10:41 WIT 2010: ====== done ====== emi="emi-EC87155B"; eri="eri-0E79157B"; eki="eki-35AD1A6E";
Atau
uec-publish-tarball -r i386 maverick-server-uec-i386.tar.gz mybucket
Mon Dec 27 08:38:36 WIT 2010: ====== extracting image ====== Warning: no ramdisk found, assuming '--ramdisk none' kernel : maverick-server-uec-i386-vmlinuz-virtual ramdisk: none image : maverick-server-uec-i386.img Mon Dec 27 08:38:52 WIT 2010: ====== bundle/upload kernel ====== Mon Dec 27 08:38:55 WIT 2010: ====== bundle/upload image ====== Mon Dec 27 08:40:16 WIT 2010: ====== done ====== emi="emi-EC731551"; eri="none"; eki="eki-35AA1A6D";
Jika kita lupa maka kita dapat menambahkan ramdisk dan kernel pada saat run instance kemudian.
Jika kita ingin melihat kemungkinan untuk membuat script file dapat membaca alternatif cara menjalankan Instance
Melihat daftar Image
Image baru yang sudah di upload dapat dilihat menggunakan perintah euca-describe-images
$ euca-describe-images
IMAGE eki-35AD1A67 mybucket/maverick-server-uec-i386-vmlinuz-virtual.manifest.xml admin available public i386 kernel IMAGE emi-ECC8155F mybucket/maverick-server-uec-i386.img.manifest.xml admin available public i386 machine eki-35AD1A67
Tentang bagaimana managing instances akan di terangkan di bagian selanjutnya.
Deregister Image
Kita dapat men-deregister (membuang) image yang tidak lagi dibutuhkan
euca-deregister emi-70280EAC
Pembuatan Pasangan Kunci
Kita membutuhkan pasangan kunci untuk berhubungan dengan instance yang akan di jalankan di cloud. Pasangan kunci dapat di hasilkan menggunakan perintah berikut
cd ~/.euca source eucarc euca-add-keypair mykey > mykey.priv chmod 600 mykey.priv
Untuk melihat pasangan kunci
$ euca-describe-keypairs KEYPAIR mykey 18:7d:ae:d6:5d:03:d0:7c:90:53:47:bf:36:16:e0:d5:b4:df:1b:04
Untuk men-delete pasangan kunci dapat menggunakan perintah
$ euca-delete-keypair mykey
Menjalankan dan Memanage Instance
Perintah berikut dapat digunakan untuk untuk menjalankan instance dengan menggunakan pasangan kunci yang kita buat, mencek status instance, dan meng-connect ke instance.
Cek zone & cek images yang ada
. ~/.euca/eucarc source ~/.euca/eucarc euca-describe-availability-zones verbose euca-describe-images
Beberapa pilihan perintah untuk menjalankan instance emi-XXXXX
$ euca-run-instances -k mykey -t c1.medium emi-B0051469 $ euca-run-instances -k mykey -t m1.large emi-E43A152A $ euca-run-instances -k mykey -t m1.xlarge emi-E43A152A
Jika kita ingin menspesifikasi kernel / ramdisk tertentu yang di jalankan beserta image dapat menggunakan perintah berikut
$ euca-run-instances --kernel eki-CFBD149B --ramdisk eri-0E79157B -k mykey -t m1.large emi-AFD41459
Jika berhasil jalan dengan baik akan keluar
RESERVATION r-458B091C admin admin-default INSTANCE i-3ED50736 emi-EC721551 0.0.0.0 0.0.0.0 pending mykey 0 m1.large 2010-12-26T23:31:34.85Z cluster1 eki-CFBD149B eri-0E79157B
Cek Instance Apakah Sudah Running Dengan Baik
Untuk melihat lebih detail tentang instance tersebut kita dapat menggunakan perintah
$ euca-describe-instances
RESERVATION r-458B091C admin default INSTANCE i-3ED50736 emi-EC721551 192.168.0.20 172.19.1.2 pending mykey 0 m1.large 2010-12-26T23:31:34.85Z cluster1 eki-CFBD149B eri-0E79157B
Jika ingin melakukan looping lakukan
$ watch -n5 euca-describe-instances
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 r-2B1904A3 admin default INSTANCE i-570D08F9 emi-B0391472 192.168.0.20 172.19.1.2 running mykey 0 m1.large 2010-12-27T08:03:27.072Z cluster1 eki-111119FC eri-0DC219CE
Cek di /var/log/eucalyptus di Node
Kalau cukup iseng kita juga dapat mencek di Node /var/log/eucalyptus. Lakukan
tail /var/log/eucalyptus/nc.log
[Fri Dec 24 10:16:40 2010][002040][EUCADEBUG ] doDescribeResource() invoked [Fri Dec 24 10:16:40 2010][002040][EUCADEBUG ] doDescribeInstances() invoked [Fri Dec 24 10:16:40 2010][002040][EUCADEBUG ] doDescribeInstances(): instanceId=i-57110A2D publicIp=0.0.0.0 privateIp=172.19.1.2 mac=D0:0D:57:11:0A:2D vlan=10 networkIndex=2
Cek tail /var/log/eucalyptus/axis2c.log
Pada saat
tail /var/log/eucalyptus/axis2c.log
tampak
[Mon Dec 27 06:43:12 2010] [error] error.c(94) OXS ERROR [x509.c:287 in openssl_x509_get_subject_key_identifier] oxs defualt error , The extenension index of NID_subject_key_identifier is not valid [Mon Dec 27 06:43:12 2010] [error] error.c(94) OXS ERROR [x509.c:287 in openssl_x509_get_subject_key_identifier] oxs defualt error , The extenension index of NID_subject_key_identifier is not valid [Mon Dec 27 06:43:12 2010] [error] error.c(94) OXS ERROR [x509.c:287 in openssl_x509_get_subject_key_identifier] oxs defualt error , The extenension index of NID_subject_key_identifier is not valid
Ini tidak masalah karena ini adalah bug yang di ketahui di Eucalyptus
Berinteraksi dengan Instance
Melihat console output
Jika Instance sudah 'running' maka kita dapat melihat apa yang terjadi di console melalui perintah
$ euca-get-console-output i-570D08F9
Jika belum 'running' maka akan tampak
VmControl: Instance i-49FA09ED is not in a running state.
Jika sudah 'running' akan tampak kurang lebih
i-570D08F9 2010-12-27T08:33:32.986Z [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.31-22-generic-pae (buildd@palmer) (gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) ) #63-Ubuntu SMP Wed Aug 18 23:57:18 UTC 2010 (Ubuntu 2.6.31-22.63-generic-pae ) [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] NSC Geode by NSC [ 0.000000] Cyrix CyrixInstead [ 0.000000] Centaur CentaurHauls [ 0.000000] Transmeta GenuineTMx86 [ 0.000000] Transmeta TransmetaCPU [ 0.000000] UMC UMC UMC UMC ... ... ec2: ############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 2048 f0:5f:fa:00:99:34:df:1f:6c:c9:de:30:ec:ef:15:85 /etc/ssh/ssh_host_rsa_key.pub (RSA) ec2: 1024 e1:d1:ca:51:9f:b4:a0:ae:ea:b0:f2:fe:9c:64:84:a0 /etc/ssh/ssh_host_dsa_key.pub (DSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: ############################################################# * Starting OpenBSD Secure Shell server sshd * Running EC2 user data
Shutdown Instance
Untuk mematikan / terminasi Image yang sedang berjalan / running dapat menggunakan perintah
$ euca-terminate-instances i-49FA09ED
Reboot Instance
Untuk me-reboot instance yang sedang berjalan dapat menggunakan perintah
$ euca-reboot-instances i-49FA09ED
SSH ke Instance
Berijin akses untuk traffic SSH
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
Jika Instance sudah berjalan dengan baik harusnya kita dapat masuk menggunakan SSH. Perhatikan username yang digunakan adalah ubuntu
cd ~ cd .euca ssh -i mykey.priv ubuntu@192.168.0.20
Juga berhasil dengan baik maka akan tampil
Linux ip-172-19-1-2 2.6.35-22-virtual #33-Ubuntu SMP Sun Sep 19 23:54:13 UTC 2010 i686 GNU/Linux Ubuntu 10.10 Welcome to Ubuntu! * Documentation: https://help.ubuntu.com/ System information as of Mon Dec 27 09:11:28 UTC 2010 System load: 0.08 Processes: 63 Usage of /: 37.0% of 1.35GB Users logged in: 0 Memory usage: 13% IP address for eth0: 172.19.1.2 Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ --------------------------------------------------------------------- At the moment, only the core of the system is installed. To tune the system to your needs, you can choose to install one or more predefined collections of software by running the following command: sudo tasksel --section server --------------------------------------------------------------------- The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@ip-172-19-1-2:~$
Referensi
- http://ubuntu-smoser.blogspot.com/2010_11_01_archive.html
- https://help.ubuntu.com/community/UEC/Images
- http://open.eucalyptus.com/wiki/EucalyptusImageManagement_v1.5
- http://fnords.wordpress.com/2009/10/07/run-your-own-uec-part-2/
Pranala Menarik
- Ubuntu Enterprise Cloud
- Ubuntu Enterprise Cloud: Troubleshooting
- Ubuntu Enterprise Cloud: Eucalyptus Beginner’s Guide RECOMMENDED
- Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi
- Ubuntu Enterprise Cloud: Instalasi UEC
- Ubuntu Enterprise Cloud: Membuat Image Sendiri
- Ubuntu Enterprise Cloud: Alternatif Cara Menjalankan Instance
- Cloud Computing
- Linux Howto