Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi
Install Ubuntu Enterprise Cloud
- Masukan CD Ubuntu Server
- Boot Komputer
- Install UEC
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 Client
Akses ke Could Controller (192.168.0.10)
https://192.168.0.10:8443/#credentials
Dengan
username admin password admin
Jika di perlukan
sudo apt-get install euca2ools
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 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. Harus ada teknik dari tarball yang menggunakan ramdisk.
https://bugs.launchpad.net/ubuntu/+source/cloud-utils/+bug/525989/comments/2
Note that the following steps worked just fine, from https://help.ubuntu.com/community/UEC/BundlingImages:
ubuntu@aussie:~$ TIMESTAMP=$(date +%Y%m%d%H%M%S) ubuntu@aussie:~$ RELEASE=lucid ubuntu@aussie:~$ ARCH=amd64 # Or this might be i386 ubuntu@aussie:~$ [ $ARCH = "amd64" ] && IARCH=x86_64 || IARCH=i386 ubuntu@aussie:~$ UEC_IMG=$RELEASE-server-uec-$ARCH ubuntu@aussie:~$ URL=http://uec-images.ubuntu.com/$RELEASE/current/ ubuntu@aussie:~$ [ ! -e $UEC_IMG.tar.gz ] && wget $URL/$UEC_IMG.tar.gz # This may take a bit, depending on your connectivity ubuntu@aussie:~$ [ ! -e $UEC_IMG.img ] && tar -S -xzf $UEC_IMG.tar.gz ubuntu@aussie:~$ BUCKET_KERNEL="k-$TIMESTAMP" ubuntu@aussie:~$ UEC_KERNEL=$UEC_IMG-vmlinuz-virtual ubuntu@aussie:~$ euca-bundle-image -i $UEC_KERNEL -r $IARCH --kernel true x86_64 Checking image Tarring image Encrypting image Splitting image... Part: lucid-server-uec-amd64-vmlinuz-virtual.part.0 Generating manifest /tmp/lucid-server-uec-amd64-vmlinuz-virtual.manifest.xml ubuntu@aussie:~$ euca-upload-bundle -b $BUCKET_KERNEL -m /tmp/$UEC_KERNEL.manifest.xml Checking bucket: k-20100222135250 Creating bucket: k-20100222135250 Uploading manifest file Uploading part: lucid-server-uec-amd64-vmlinuz-virtual.part.0 Uploaded image as k-20100222135250/lucid-server-uec-amd64-vmlinuz-virtual.manifest.xml ubuntu@aussie:~$ EKI=$(euca-register $BUCKET_KERNEL/$UEC_KERNEL.manifest.xml | grep "^IMAGE" | awk '{print $2}') && echo $EKI eki-07D419B5 ubuntu@aussie:~$ ls -alF $UEC_KERNEL -rw-r--r-- 1 ubuntu ubuntu 4182784 2010-02-21 20:03 lucid-server-uec-amd64-vmlinuz-virtual ubuntu@aussie:~$ BUCKET_IMAGE="i-$TIMESTAMP" ubuntu@aussie:~$ UEC_IMG=$RELEASE-server-uec-$ARCH ubuntu@aussie:~$ euca-bundle-image -i $UEC_IMG.img -r $IARCH --kernel $EKI x86_64 Checking image Tarring image Encrypting image Splitting image... Part: lucid-server-uec-amd64.img.part.0 Part: lucid-server-uec-amd64.img.part.1 Part: lucid-server-uec-amd64.img.part.2 Part: lucid-server-uec-amd64.img.part.3 Part: lucid-server-uec-amd64.img.part.4 Part: lucid-server-uec-amd64.img.part.5 Part: lucid-server-uec-amd64.img.part.6 Part: lucid-server-uec-amd64.img.part.7 Part: lucid-server-uec-amd64.img.part.8 Part: lucid-server-uec-amd64.img.part.9 Part: lucid-server-uec-amd64.img.part.10 Part: lucid-server-uec-amd64.img.part.11 Part: lucid-server-uec-amd64.img.part.12 Part: lucid-server-uec-amd64.img.part.13 Part: lucid-server-uec-amd64.img.part.14 Part: lucid-server-uec-amd64.img.part.15 Part: lucid-server-uec-amd64.img.part.16 Part: lucid-server-uec-amd64.img.part.17 Part: lucid-server-uec-amd64.img.part.18 Part: lucid-server-uec-amd64.img.part.19 Generating manifest /tmp/lucid-server-uec-amd64.img.manifest.xml EMI=$(euca-register $BUCKET_IMAGE/$UEC_IMG.img.manifest.xml | grep "^IMAGE" | awk '{print $2}') && echo $EMI emi-C73F14A0
ubuntu@aussie:~$ euca-run-instances emi-C73F14A0 -k mykey -t c1.medium RESERVATION r-30FF056D admin admin-default INSTANCE i-3F8E0754 emi-C73F14A0 0.0.0.0 0.0.0.0 pending mykey 2010-02-22T20:20:14.956Z eki-07D419B5 eri-092119A6
ubuntu@aussie:~$ euca-describe-instances | grep i-3F8E0754 INSTANCE i-3F8E0754 emi-C73F14A0 10.1.1.106 172.19.1.8 pending mykey 0 c1.medium 2010-02-22T20:20:14.956Z cluster1 eki-07D419B5 eri-092119A6 ... INSTANCE i-3F8E0754 emi-C73F14A0 10.1.1.106 172.19.1.8 running mykey 0 c1.medium 2010-02-22T20:20:14.956Z cluster1 eki-07D419B5 eri-092119A6
Cara yang lebih panjang untuk pendaftaran ke Eucalyptus
Langkah selanjutnya adalah mengupload image kernel dan ramdisk 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
$ 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 (vmlinuz-2.6.35-22-generic-pae)
$ . ~/.euca/eucarc $ source ~/.euca/eucarc $ euca-bundle-image -i vmlinuz-2.6.35-22-generic-pae --kernel true $ euca-upload-bundle -b mybucket -m /tmp/vmlinuz-2.6.35-22-generic-pae.manifest.xml $ euca-register mybucket/vmlinuz-2.6.35-22-generic-pae.manifest.xml
Simpan output yang dihasilkan oleh perintah terakhir di atas (eki-XXXXXXXX misalnya eki-CFBD149B), yang akan dibutuhkan untuk mendaftarkan disk image
Mendaftarkan ramdisk image
Jalankan perintah berikut untuk mem-bundel dan mendaftarkan ramdisk image (initrd.img-2.6.35-22-generic-pae)
$ . ~/.euca/eucarc $ source ~/.euca/eucarc $ euca-bundle-image -i initrd.img-2.6.35-22-generic-pae $ euca-upload-bundle -b mybucket -m /tmp/initrd.img-2.6.35-22-generic-pae.manifest.xml $ euca-register mybucket/initrd.img-2.6.35-22-generic-pae.manifest.xml
Simpan output yagn dihasilkan oleh perintah terakhir di atas (eri-XXXXXXXX misalnya eri-0E79157B), yang akan dibutuhkan pada saat mendaftarkan disk image.
Mendaftarkan disk image
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
Jalankan perintah berikut untuk mem-bundel dan mendaftarkan ramdisk image (maverick-server-uec-i386.img)
$ euca-bundle-image -i maverick-server-uec-i386.img --kernel eki-XXXXXXXX --ramdisk eri-XXXXXXXX
Ganti eki-XXXXXXXX dan eri-XXXXXXXX dengan nilai yang kita peroleh sebelumnya
$ euca-bundle-image -i maverick-server-uec-i386.img --kernel eki-D00014A8 --ramdisk eri-0EDB1590 $ euca-upload-bundle -b mybucket -m /tmp/maverick-server-uec-i386.img.manifest.xml $ euca-register mybucket/maverick-server-uec-i386.img.manifest.xml
Biasanya sesudah euca-register akan di keluarkan emi-XXXXXXXX misalnya emi-ECA31559
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 image jika 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-ECB2155B $ euca-run-instances -k mykey -t m1.large emi-ECB2155B $ euca-run-instances -k mykey -t m1.xlarge emi-ECB2155B
Jika berhasil jalan dengan baik akan keluar
RESERVATION r-2E080519 admin admin-default INSTANCE i-3FFD073B emi-ECB2155B 0.0.0.0 0.0.0.0 pending mykey 0 m1.large 2010-12-24T06:22:45.5Z cluster1 eki-35A41A6B
Untuk melihat lebih detail tentang instance tersebut kita dapat menggunakan perintah
$ euca-describe-instances
RESERVATION r-2E080519 admin default INSTANCE i-3FFD073B emi-ECB2155B 192.168.0.20 172.19.1.2 pending mykey 0 m1.large 2010-12-24T06:22:45.5Z cluster1 eki-35A41A6B
Jika ingin melakukan looping lakukan
$ watch -n5 euca-describe-instances
Pastikan "pending" menjadi "running".
Jika tidak berhasil berarti instance tidak berjalan dengan baik.
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
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-49FA09ED
Jika belum 'running' maka akan tampak
VmControl: Instance i-49FA09ED is not in a running state.
Shutdown Instance
$ euca-terminate-instances i-49FA09ED
Reboot Instance
$ euca-reboot-instances i-49FA09ED
SSH ke Instance
Jika Instance sudah berjalan dengan baik harusnya kita dapat masuk menggunakan SSH
$ ssh -i mykey.priv administrator@192.168.0.20
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
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
- Cloud Computing
- Linux Howto