Difference between revisions of "Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 207: | Line 207: | ||
sudo halt | sudo halt | ||
+ | |||
+ | |||
+ | |||
+ | ==Mendaftarkan UEC Image ke Cloud Controller== | ||
+ | |||
+ | Cara yang paling manjur & sangat 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 | ||
Line 257: | Line 277: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Mendaftarkan disk image== | ==Mendaftarkan disk image== | ||
Line 329: | Line 332: | ||
Pasangan kunci dapat di hasilkan menggunakan perintah berikut | 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 | Untuk melihat pasangan kunci | ||
$ euca-describe-keypairs | $ euca-describe-keypairs | ||
− | KEYPAIR | + | 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 | Untuk men-delete pasangan kunci dapat menggunakan perintah | ||
Line 357: | Line 360: | ||
Jalankan instance emi-XXXXX | Jalankan instance emi-XXXXX | ||
− | $ euca-run-instances emi- | + | $ euca-run-instances emi-ECB2155B -k mykey -t c1.medium |
atau | atau | ||
− | $ euca-run-instances emi- | + | $ euca-run-instances emi-ECB2155B -k mykey -t m1.large |
Jika berhasil jalan dengan baik akan keluar | Jika berhasil jalan dengan baik akan keluar | ||
− | RESERVATION r- | + | RESERVATION r-2E080519 admin admin-default |
− | INSTANCE i- | + | 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 | Untuk melihat lebih detail tentang instance tersebut kita dapat menggunakan perintah | ||
Line 370: | Line 373: | ||
$ euca-describe-instances | $ euca-describe-instances | ||
− | RESERVATION r- | + | RESERVATION r-2E080519 admin default |
− | INSTANCE i- | + | 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 |
Pastikan "pending" menjadi "running". | Pastikan "pending" menjadi "running". |
Revision as of 13:24, 24 December 2010
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
Perhatikan free / max VCPU tidak 0, berisi angka hal ini berarti ada node yang terdaftar & bisa digunakan. Kita mempunyai masalah jika free / max bernilai 0 seperti di bawah ini
euca-describe-availability-zones verbose
AVAILABILITYZONE cluster1 192.168.0.2 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0000 / 0000 1 192 2 AVAILABILITYZONE |- c1.medium 0000 / 0000 1 256 5 AVAILABILITYZONE |- m1.large 0000 / 0000 2 512 10 AVAILABILITYZONE |- m1.xlarge 0000 / 0000 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20
Jika kita melihat dalam daftar di atas free/max VCPU bernilai 0, hal ini berarti node (NC) tidak terdaftar secara automatis.
Jika ingin melakukan discovery Node pada Server, untuk mendiscover Node Controller (NC).
$ sudo euca_conf --discover-nodes
Hasilnya kira-kira adalah
ERROR: could not synchronize keys with fe80::215:17ff:fead:c7c1! The configuration will not have this node. Hint: to setup passwordless login to the nodes as user eucalyptus, you can run the following commands on node fe80::215:17ff:fead:c7c1: sudo -u eucalyptus mkdir -p ~eucalyptus/.ssh sudo -u eucalyptus tee ~eucalyptus/.ssh/authorized_keys > /dev/null <<EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIlJ1AMIA2/fITDYu7gZHx1ivRKRTHLMmqGHX5mPywB2OPf25mFsOVLTvGNjHl1q6mKwCetAfFr4EI5nG8Qz9bLaDvFfeyUJlA+IE0mpIyultfFM173tMC0LMO5jGTJxuM+GuUittFeYtg+nR8CuVl6DBeYDOM1Ih1S5rWlJjJbwwOYniLzamCshbV7T1r/6oM09X5uJIka5Pm4JGduIw3xFeAttYAhkyvBdZnanlWq1J/Fm46v1HHZBsGcke6n7uNr2hq/QQpw1mmUA29fwQPl87Wd9U+7ZtlxJxYJD4HUa+9nimi9WvDB1PUWm+E8qOVtZIeBMUxIzcX2Pu9jPmz eucalyptus@cloud EOT Be sure that authorized_keys is not group/world readable or writable Trying rsync to sync keys with "fe80::fcb6:8aff:fe1d:8791"...ssh: Could not resolve hostname fe80: Name or service not known rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7] failed.
Trying scp to sync keys to: eucalyptus@fe80::fcb6:8aff:fe1d:8791://var/lib/eucalyptus/keys/... ssh: Could not resolve hostname fe80: Name or service not known lost connection failed. ERROR: could not synchronize keys with fe80::fcb6:8aff:fe1d:8791! The configuration will not have this node. Hint: to setup passwordless login to the nodes as user eucalyptus, you can run the following commands on node fe80::fcb6:8aff:fe1d:8791: sudo -u eucalyptus mkdir -p ~eucalyptus/.ssh sudo -u eucalyptus tee ~eucalyptus/.ssh/authorized_keys > /dev/null <<EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIlJ1AMIA2/fITDYu7gZHx1ivRKRTHLMmqGHX5mPywB2OPf25mFsOVLTvGNjHl1q6mKwCetAfFr4EI5nG8Qz9bLaDvFfeyUJlA+IE0mpIyultfFM173tMC0LMO5jGTJxuM+GuUittFeYtg+nR8CuVl6DBeYDOM1Ih1S5rWlJjJbwwOYniLzamCshbV7T1r/6oM09X5uJIka5Pm4JGduIw3xFeAttYAhkyvBdZnanlWq1J/Fm46v1HHZBsGcke6n7uNr2hq/QQpw1mmUA29fwQPl87Wd9U+7ZtlxJxYJD4HUa+9nimi9WvDB1PUWm+E8qOVtZIeBMUxIzcX2Pu9jPmz eucalyptus@cloud EOT
Lakuan perintah
sudo -u eucalyptus mkdir -p ~eucalyptus/.ssh sudo -u eucalyptus tee ~eucalyptus/.ssh/authorized_keys > /dev/null <<EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIlJ1AMIA2/fITDYu7gZHx1ivRKRTHLMmqGHX5mPywB2OPf25mFsOVLTvGNjHl1q6mKwCetAfFr4EI5nG8Qz9bLaDvFfeyUJlA+IE0mpIyultfFM173tMC0LMO5jGTJxuM+GuUittFeYtg+nR8CuVl6DBeYDOM1Ih1S5rWlJjJbwwOYniLzamCshbV7T1r/6oM09X5uJIka5Pm4JGduIw3xFeAttYAhkyvBdZnanlWq1J/Fm46v1HHZBsGcke6n7uNr2hq/QQpw1mmUA29fwQPl87Wd9U+7ZtlxJxYJD4HUa+9nimi9WvDB1PUWm+E8qOVtZIeBMUxIzcX2Pu9jPmz eucalyptus@cloud EOT
sudo -u eucalyptus mkdir -p ~eucalyptus/.ssh sudo -u eucalyptus tee ~eucalyptus/.ssh/authorized_keys > /dev/null <<EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIlJ1AMIA2/fITDYu7gZHx1ivRKRTHLMmqGHX5mPywB2OPf25mFsOVLTvGNjHl1q6mKwCetAfFr4EI5nG8Qz9bLaDvFfeyUJlA+IE0mpIyultfFM173tMC0LMO5jGTJxuM+GuUittFeYtg+nR8CuVl6DBeYDOM1Ih1S5rWlJjJbwwOYniLzamCshbV7T1r/6oM09X5uJIka5Pm4JGduIw3xFeAttYAhkyvBdZnanlWq1J/Fm46v1HHZBsGcke6n7uNr2hq/QQpw1mmUA29fwQPl87Wd9U+7ZtlxJxYJD4HUa+9nimi9WvDB1PUWm+E8qOVtZIeBMUxIzcX2Pu9jPmz eucalyptus@cloud EOT
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.
Menyiapkan Image UEC menggunakan VM
Bagi mereka yang mempunyai nyali bisa membuat sendiri VM untuk UEC. Resiko terlalu tinggi jika membuat sendiri image.img seringkali instance tidak bisa running & hang. Lebih baik memggunakan uec-images yang sudah jadi dari uec-images.ubuntu.com.
kvm-img create -f qcow2 image.img 5G sudo kvm -m 256 -cdrom ubuntu-10.10-server-i386.iso -drive file=image.img,if=scsi,index=0 -boot d -net nic -net user -nographic -vnc :0
Akses dari komputer lain di jaringan / LAN menggunakan vncviewer lakukan proses instalasi OS seperti biasa
sudo apt-get install vncviewer vncviewer 192.168.0.2:0
Proses Instalasi Ubuntu 10.10 Server akan berjalan melalui VM. Setelah selesai semua, kita dapat mematikan proses VM menggunakan
^C
di shell terminal mesin yang menjalankan VM.
Menyiapkan Image untuk Aplikasi Tambahan
Setelah menyelesaikan proses instalasi, jalankan VM melalui perintah berikut
sudo kvm -m 256 -drive file=image.img,if=scsi,index=0,boot=on -boot c -net nic -net user -nographic -vnc :0
Akses melalui vncviewer
vncviewer 192.168.0.2:0
Pada titik ini, kita dapat menambahkan berbagai paket yang ingin kita instal, update instalasi, menambahkan user dan berbagai settingan yang ada di UEC instance. Misalnya,
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install mediawiki
Menyiapkan Integrasi Image dengan Eucalyptus
Tambahan crul di VM
$ sudo apt-get install curl
Tambahakan kalimat berikut di /etc/rc.local sebelum kata 'exit 0' dari image
depmod -a modprobe acpiphp # simple attempt to get the user ssh key using the meta-data service # assuming “user” is the username of an account that has been created mkdir -p /home/user/.ssh echo >> /home/user/.ssh/authorized_keys curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key | grep 'ssh-rsa' >> \ /home/user/.ssh/authorized_keys echo "AUTHORIZED_KEYS:" echo "************************" cat /home/user/.ssh/authorized_keys echo "************************"
Juga buang network persistent rules dari /etc/udev/rules.d, sehingga instance selalu nyala dengan eth0 sebagai nama interface seperti yang di harapkan oleh Eucalyptus.
$ sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules
Selesai sudah proses customisasi OS yang akan di instalasi sebagai reference image.
Kita bisa menshutdown image di VM menggunakan perintah
sudo halt
Mendaftarkan UEC Image ke Cloud Controller
Cara yang paling manjur & sangat 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
Pendaftaran ke Eucalyptus
Langkah terakhir adalah mengupload image 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 ke Cloud Controller (dalam contoh ini 192.168.0.10). Hal ini di perlukan untuk digunakan selanjutnya waktu membuat dan mengupload complete virtual image ke Eucalyptus.
Lihat initrd.img dan vmlinuz di /boot
$ sudo ls /boot
copy
$ scp /boot/initrd.img-2.6.35-22-generic-pae user@192.168.0.10: $ scp /boot/vmlinuz-2.6.35-22-generic-pae user@192.168.0.10:
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-D00014A8), 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-0EDB1590), 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
Jalankan instance emi-XXXXX
$ euca-run-instances emi-ECB2155B -k mykey -t c1.medium
atau
$ euca-run-instances emi-ECB2155B -k mykey -t m1.large
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
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
Beberapa Error
Kadang keluar error
FinishedVerify: Not enough resources (0 < 1: vm instances.Not enough resources (0 < 1: vm instances.
Kita tampaknya perlu menaikan resource, misalnya RAM dll. Pakai zone yang lain.