ทดสอบ VM บนระบบ Private Cloud ด้วย Eucalyptus
ยังไม่เรียบร้อยครับ
การทดสอบ VM บนระบบ Private Cloud ด้วย Eucalyptus นี้เป็นเรื่องที่ต่อจาก สร้างระบบ Private Cloud ด้วย Eucalyptus หากยังไม่เข้าใจการติดตั้ง Eucalyptus กรุณาอ่านบทความนี้ก่อน
เนื่องจาก Eucalyptus ได้เตรียมอิมเมจของ debian ไว้ให้แล้ว เรื่องนี้จะไม่กล่าวถึงการสร้างอิจเมจเอง แต่จะเน่นให้ใช้งานอิมเมจจาก Eucalyptus โดยที่สามารถดาวน์โหลดอิมเมจจาก Eucalyptus ได้ที่ Image Creator's Guide ในที่นี้เน้นหารติดตั้งอิมเมจ debian รุ่น lenny สถาปัตยกรรม amd64 ก่อนเริ่มสร้างอิมเมจเพื่อทำงาน[o Eucalyptus ต้องมั่นใจก่อนว่าได้ติดตั้ง euca2ools และติดตั้ง certificates ไว้เรียบร้อยแล้ว
เริ่มต้นขยายไฟล์จากที่ดาวน์โหลดจาก Eucalyptus แล้วเพิ่ม kernel เข้าไปใน Walrus และลงทะเบียนกับ Eucalyptus ซึ่งขั้นตอนนี้จะได้หมายเลข eki สำหรับ debian-kernel-bucket คือชื่อ bucket สามารถตั้งเป็นชื่ออะไรก็ได้ที่ไม่ลงท้ายด้วย /
$ tar zxvf euca-debian-5.0-x86_64.tar.gz euca-debian-5.0-x86_64/ euca-debian-5.0-x86_64/xen-kernel/ euca-debian-5.0-x86_64/xen-kernel/vmlinuz-2.6.27.21-0.1-xen euca-debian-5.0-x86_64/xen-kernel/initrd-2.6.27.21-0.1-xen euca-debian-5.0-x86_64/kvm-kernel/ euca-debian-5.0-x86_64/kvm-kernel/vmlinuz-2.6.28-11-generic euca-debian-5.0-x86_64/kvm-kernel/initrd.img-2.6.28-11-generic euca-debian-5.0-x86_64/debian.5-0.x86-64.img $ . $HOME/.euca/eucarc $ euca-bundle-image -i euca-debian-5.0-x86_64/xen-kernel/vmlinuz-2.6.27.21-0.1-xen --kernel true Checking image Tarring image Encrypting image Splitting image... Part: vmlinuz-2.6.27.21-0.1-xen.part.0 Generating manifest /tmp/vmlinuz-2.6.27.21-0.1-xen.manifest.xml $ euca-upload-bundle -b debian-kernel-bucket -m /tmp/vmlinuz-2.6.27.21-0.1-xen.manifest.xml Checking bucket: debian-kernel-bucket Uploading manifest file Uploading part: vmlinuz-2.6.27.21-0.1-xen.part.0 Uploaded image as debian-kernel-bucket/vmlinuz-2.6.27.21-0.1-xen.manifest.xml $ euca-register debian-kernel-bucket/vmlinuz-2.6.27.21-0.1-xen.manifest.xml IMAGE eki-830716CF
ขั้นตอนต่อไปเพิ่ม root filesystem image ให้ Walrus ซึ่งจะได้หมายเลข eri เพื่อนำไปเพิ่มอิมเมจ
$ euca-bundle-image -i euca-debian-5.0-x86_64/xen-kernel/initrd-2.6.27.21-0.1-xen --ramdisk true Checking image Tarring image Encrypting image Splitting image... Part: initrd-2.6.27.21-0.1-xen.part.0 Generating manifest /tmp/initrd-2.6.27.21-0.1-xen.manifest.xml $ euca-upload-bundle -b debian-ramdisk-bucket -m /tmp/initrd-2.6.27.21-0.1-xen.manifest.xml Checking bucket: debian-ramdisk-bucket Uploading manifest file Uploading part: initrd-2.6.27.21-0.1-xen.part.0 Uploaded image as debian-ramdisk-bucket/initrd-2.6.27.21-0.1-xen.manifest.xml $ euca-register debian-ramdisk-bucket/initrd-2.6.27.21-0.1-xen.manifest.xml IMAGE eri-7D6F16B7
เพิ่มอิมเมจให้กับ Walrus และลงทะเบียนกับ Eucalyptus จะต้องใช้หมายเลข eki และ eri หากหมายเลขไม่ถูกต้องจะไม่สามารถลงทะเบียนอิมเมจในขั้นตอนสุดท้ายได้
$ euca-bundle-image -i euca-debian-5.0-x86_64/debian.5-0.x86-64.img --kernel eki-830716CF --ramdisk eri-7D6F16B7 Checking image Tarring image Encrypting image Splitting image... Part: debian.5-0.x86-64.img.part.0 Part: debian.5-0.x86-64.img.part.1 Part: debian.5-0.x86-64.img.part.2 : Part: debian.5-0.x86-64.img.part.19 Generating manifest /tmp/debian.5-0.x86-64.img.manifest.xml $ euca-upload-bundle -b debian-image-bucket -m /tmp/debian.5-0.x86-64.img.manifest.xml Checking bucket: debian-image-bucket Creating bucket: debian-image-bucket Uploading manifest file Uploading part: debian.5-0.x86-64.img.part.0 Uploading part: debian.5-0.x86-64.img.part.1 Uploading part: debian.5-0.x86-64.img.part.2 : Uploading part: debian.5-0.x86-64.img.part.19 Uploaded image as debian-image-bucket/debian.5-0.x86-64.img.manifest.xml $ euca-register debian-image-bucket/debian.5-0.x86-64.img.manifest.xml IMAGE emi-0B35155B
เมื่อเสร็จสิ้นขั้นตอนการลงเพิ่มและลงทะเบียนอิมเมจแล้ว ทดสอบดูว่ามีอิมเมจอยู่ใน Walrus ถูกต้องหรือไม่ และตรวจดูว่ามี instances ทำงานอยู่ก่อนหรือเปล่า หากไม่มีข้อความใดๆปรากฎแสดงว่าไม่มี instances ทำงานอยู่ หากจต้องการลบอิมเมจ สามารถทำได้โดยใช้คำสั่ง euca-deregister emi-0B35155B และ euca-delete-bundle -b {bucket name} -p {file prefix} --clear สามารถดูรายละเอียดเพิ่มเติมได้จาก Managing Eucalyptus Images
$ euca-describe-images IMAGE eri-7D6F16B7 debian-ramdisk-bucket/initrd-2.6.27.21-0.1-xen.manifest.xml admin available public x86_64 ramdisk IMAGE emi-0B35155B debian-image-bucket/debian.5-0.x86-64.img.manifest.xml admin available public x86_64 machine eri-7D6F16B7 eki-830716CF IMAGE eki-830716CF debian-kernel-bucket/vmlinuz-2.6.27.21-0.1-xen.manifest.xml admin available public x86_64 kernel $ euca-describe-instances
เพิ่ม keypairs เพื่อใช้สำหรับติดต่อกับเครื่องที่ต้องการสั่งให้ทำงาน
$ euca-describe-keypairs KEYPAIR mykey 4c:6d:85:a3:62:bb:c7:ac:7f:ca:30:66:e6:b1:9a:e9:a5:52:7a:38 $ euca-add-keypair 4c:6d:85:a3:62:bb:c7:ac:7f:ca:30:66:e6:b1:9a:e9:a5:52:7a:38 > mykey.private $ chmod 0600 mykey.private
ตรวจสอบดูความพร้อมของทรัพยากรทั้งหมดที่มี
$ euca-describe-availability-zones verbose AVAILABILITYZONE cc01 172.30.143.162 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0006 / 0006 1 128 2 AVAILABILITYZONE |- c1.medium 0006 / 0006 1 256 5 AVAILABILITYZONE |- m1.large 0003 / 0003 2 512 10 AVAILABILITYZONE |- m1.xlarge 0003 / 0003 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20
เริ่มการทำงานของ VM โดยใช้คำสั่ง $ euca-run-instances -k {mykey} -n {number of instances to start} {emi-id}
$ euca-run-instances -k 4c:6d:85:a3:62:bb:c7:ac:7f:ca:30:66:e6:b1:9a:e9:a5:52:7a:38 -n 1 emi-0B35155B RESERVATION r-34B00779 admin admin-default INSTANCE i-44CE082B emi-0B35155B 0.0.0.0 0.0.0.0 pending 4c:6d:85:a3:62:bb:c7:ac:7f:ca:30:66:e6:b1:9a:e9:a5:52:7a:38 2010-08-19T05:51:05.007Zeki-830716CF eri-7D6F16B7
ตรวจสอบการทำงานของ VM ต้องรอจนกว่าสถานะ pending เปลี่ยนเป็น running หากสั่ง euca-describe-availability-zones verbose ทรัพยากรจะเปลี่ยนไป และแสดง ip ตามที่ได้กำหนดไว้ หากต้องการ terminate instance ให้ใช้คำสั่ง euca-terminate-instances {instance-id1}
$ euca-describe-instances RESERVATION r-3D1107C9 admin default INSTANCE i-53820920 emi-0B35155B 172.30.143.91 172.30.143.91 running 4c:6d:85:a3:62:bb:c7:ac:7f:ca:30:66:e6:b1:9a:e9:a5:52:7a:38 1 m1.small 2010-08-19T05:53:14.477Z cc01 eki-830716CF eri-7D6F16B7 $ euca-describe-availability-zones verbose AVAILABILITYZONE cc01 172.30.143.162 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0005 / 0006 1 128 2 AVAILABILITYZONE |- c1.medium 0005 / 0006 1 256 5 AVAILABILITYZONE |- m1.large 0002 / 0003 2 512 10 AVAILABILITYZONE |- m1.xlarge 0002 / 0003 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0000 / 0001 4 2048 20
หากต้องการ ssh เข้าไปใช้งาน VM ที่ได้สร้างไว้
$ ssh -i mykey.private root@172.30.143.91
หมายเหตุ
- ทดสอบโดยใช้ front-end เป็น VirtualBox และ NC ใช้เครื่องจริง เนื่องจากหากใช้ VirtualBox เป็น NC VirtualBox จะแฮงค์ไม่สามารถทำงานต่อไปได้
- เคอร์เนลไม่สามารถอัพเกรดได้
อ้างอิง
Managing Eucalyptus Images (1.6)
Getting Started Using Eucalyptus (1.6)
Setting up Eucalyptus 1.6.2 with ORCA 2.x
- sdayu's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |