Ubuntu Enterprise Cloud: Catatan kecil Instalasi & Operasi

From OnnoWiki
Revision as of 07:24, 24 December 2010 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

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

Akses ke Could Controller

https://192.168.0.2:8443/#credentials
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

Menyiapkan Image menggunakan VM

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.


Pendaftaran ke Eucalyptus

Langkah terakhir adalah mengupload image ke Eucalyptus. File yang perlu di upload untuk contoh di atas adalah vmlinuz-2.6.28-11-server, initrd.img-2.6.28-11-server, image.img.

Copy kernel dan initrd image dari VM image ke sebuah lokasi di luar. 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.2:
$ scp /boot/vmlinuz-2.6.35-22-generic-pae user@192.168.0.2:

Sebelum menjalankan upload shutdown VM. Perhatikan 'user' di atas adalah username yang kita buat saat instalasi.


Mendaftarkan kernel image

Jalankan perintah berikut 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-CFC31499), 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-0E9D157A), yang akan dibutuhkan pada saat mendaftarkan disk image.


Mendaftarkan disk image

Jalankan perintah berikut untuk mem-bundel dan mendaftarkan ramdisk image (image.img)

$ euca-bundle-image -i image.img --kernel eki-XXXXXXXX --ramdisk eri-XXXXXXXX
$ euca-bundle-image -i image.img --kernel eki-CFC31499 --ramdisk eri-0E9D157A
$ euca-upload-bundle -b mybucket -m /tmp/image.img.manifest.xml
$ euca-register mybucket/image.img.manifest.xml

Biasanya seudah euca-register akan di keluarkan emi-XXXXXXXX misalnya emi-70610EB2. Ganti eki-XXXXXXXX dan eri-XXXXXXXX dengan nilai yang kita peroleh sebelumnya


Melihat daftar Image

Image baru yang sudah di upload dapat dilihat menggunakan perintah euca-describe-images

$ euca-describe-images
IMAGE	eki-CFC31499	mybucket/vmlinuz-2.6.35-22-generic-pae.manifest.xml	admin	available	public		x86_64	kernel		
IMAGE	eri-0E9D157A	mybucket/initrd.img-2.6.35-22-generic-pae.manifest.xml	admin	available	public		x86_64	ramdisk		
IMAGE	emi-70610EB2	mybucket/image.img.manifest.xml	admin	available	public		x86_64	machine	eki-CFC31499	eri-0E9D157A

Tentang bagaimana managing instances akan di terangkan di bagian selanjutnya.


Pembuatan Pasangan Kunci

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	c5:f9:52:bf:44:e4:24:81:88:c4:ce:c8:b9:c4:0f:a6:3e:50:98:ba

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

$ euca-run-instances emi-70610EB2 -k mykey -t c1.medium

atau

$ euca-run-instances emi-70610EB2 -k mykey -t m1.large
$ euca-describe-instances

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.


Pranala Menarik