วันจันทร์ที่ 28 มิถุนายน พ.ศ. 2553

CS797 Exercise 2

1. Computer Virtualization คืออะไรตามความเข้าใจของคุณ
ตอบ การจำลองเครื่องเสมือนด้วยซอฟต์แวร์ ที่ทำให้คอมพิวเตอร์หนึ่งเครื่อง สามารถทำงานเป็นเครื่องเสมือนหลายๆ ระบบได้ โดยแต่ละระบบมีทรัพยากรหน่วยความจ า, ฮาร์ดดิสก์ และอุปกรณ์เน็ตเวิร์กเสมือนที่เป็นอิสระต่อกัน เครื่องเสมือนแต่ละเครื่องจึงสามารถมีระบบปฏิบัติการและซอฟต์แวร์เป็นของตนเองโดยอิสระ

2. จงอธิบายประโยชน์ และข้อเสียของ Virtualization ว่ามีอะไรบ้าง
ตอบ
Advantages
• Server consolidation คือ การลดปริมาณ Server ภายใน Data Center เพื่อก่อให้เกิดการประหยัดพลังงานและพื้นที่ที่เล็กลง

• Application Consolidation คือ น า software ทีสร้างส าหรับต่าง สถาปัตยกรรมมาท างานร่วมกัน • Sandboxing คือ ท าให้เราสามารถทดลองเพื่อที่จะเรียนรู้ระบบอะไรใหม่ๆได้อย่างไม่ต้องกลัวว่าระบบของเครื่องเราจะมีปัญหา เช่น เราสามารถทดลองลง operating system ใหม่ๆบน virtual machine ได้ และสามารลองท าอะไรต่อมิอะไรที่อยากลองท าได้ ถ้าเกิดทีปัญหาเกิดขึ้นก็จะมีบน virtual machine ไม่ได้กระทบกับระบบ operating system หลักที่เราใช้อยู่

• Multiple execution environments คือ สามารถท างานได้หลายๆ environment เช่น Mac OS Linux, Windows ,Windows Server • Virtual hardware คือ จ าลอง hardware เช่น จ าลองมือถือเพื่อรัน app มือถือบน computer • Debugging/Testing คือ ทดสอบหรือหา bug โดยไม่ต้องเป็นเครื่องจริง เช่น ทดสอบ network • Software migration คือ เพื่อย้ายการท างานของเครื่องเซิร์ฟเวอร์ไปยังอีกเครื่องได้อย่างรวดเร็ว ช่วยลด Downtime จากเวลาที่ใช้ในการติดตั้งใหม่ และแก้ปัญหาความไม่เข้ากันของฮาร์ดแวร์ได้

Disadvantages
• Inefficient คือ ท างานช้าเพราะมี overhead
• Security คือ เพิ่มจุดอ่อนด้านความปลอดภัยเพิ่มขึ้น
• Licensing issues คือ จ าลองระบบขึ้นมาแล้วประเด็นเรื่องการใช้ลิขสิทธิ์จะคิดแบบไหน

3. Process Virtual Machine มีลักษณะอย่างไร
ตอบ ออกแบบมาเพื่อสนับสนุนการท างานของ application ให้สามารถท างานได้อย่างถูกต้องบนระบบปฏิบัติการอื่น ๆ นอกเหนือจากระบบปฏิบัติการที่ออกแบบมาส าหรับ application นั้น ๆ โดย process virtual machine ถูกพัฒนาขึ้นจากภาษาระดับสูง (high-level programming language) มีการท างานในลักษณะของ interpreter ตัวอย่าง virtual machine ในลักษณะนี้ เช่น application ที่พัฒนาขึ้นด้วยภาษา Java และ .NET Framework การท างานในลักษณะดังกล่าวเรียกว่า Common Language Runtime

4. System Virtual Machine มีลักษณะอย่างไร
ตอบ เป็นระบบ Virtual Machine ที่จะจ าลองระบบ computer ในระดับของ hardware ขึ้นมา และให้บริการทรัพยากรเสมือนในระดับ Instruction Set Architecture เพื่อให้เราสามารถมองมันเป็น Architecture ของ hardware ในแบบต่างๆ และลง operating system ที่มันรองรับได้ ซึ่ง virtual machine ระดับนี้จะรองรับระดับ operating system มีความเป็น isolated systems คือเป็นระบบเดี๋ยวที่ไม่เกี่ยวข้องกับใคร

5. Classic Virtual Machine Monitor (VMM) แตกต่างจาก Hosted Virtual Machine อย่างไร
ตอบ VMM จะต่อเข้ากับ hardware โดยตรงไม่ผ่าน OS ส่วน Hosted VM จะต้องอยู่บน OS หลัก ของเครื่อง

6. จงอธิบายว่า Virtualization Software ต่อไปนี้มีลักษณะอย่างไรและสร้าง Virtual Machine แบบใหน
· Xen
ตอบ มีลักษณะ จะมี Xen Hypervisor บนชั้นของ hardwardเป็น System VM แบบ VMM
· Hyper-V
ตอบ มีลักษณะ จะมี Windows Hypervisor บนชั้นของ hardware เป็น System VM แบบ VMM
· Vmware-Esx
ตอบ เป็น virtual machine ที่ให้บริการในระดับ System Virtual Machine โดยเป็น ลักษณะ Classic Virtual Machine Monitor โดย Esx เป็น product ของทาง VMware และมี feature เสริมในส่วนจัดการกับ Driver ของ hardware โดยจะสามารถลง driver ไว้ที่ตัว Esx ได้ และให้พวก Guest Operating System มาเรียกใช้งาน driver จากตัว Esx ได้ไม่ต้องไปแยกกันลงเอง
· Kernel-based Virtual Machine
ตอบ มีลักษณะ ท างานบน hosted ที่เป็น Linux เท่านั้น เป็น System VM แบบ Hosted VM แต่รองรับ Guest OS ได้ทั้ง Linux และ Windows
· OpenVZ
ตอบ มีลักษณะ สร้างบน Linux kernel ทั้ง host และ guest ต้องเป็น Linux เป็น System VM แบบ Hosted VM











วันอาทิตย์ที่ 27 มิถุนายน พ.ศ. 2553

Install virtual machine and Linux on your system

Excerise 1 : Install virtual machines and Linux on your system
จากโจทย์
1. Install vmware on your computer
2. Install Ubuntu on your vmware virtual machine
3. Obtain and install KVM on your Ubuntu system
4. Install Damn Small Linux (DSL) on the KVM virtual machine
5. Run DSL and open a terminal window in your Linux OS and run “ifconfig” command.Take snapshots of the screen showing the output of the command.

Action
1. ทำการติดตั้ง Vmware บนระบบปฏิบัติการ Windows7
: เพื่อทำการ Full virtualization เพื่อสร้าง Hypervisor (VMM) ระหว่าง Guest OS กับ Hardware
2. ทำการติดตั้ง Ubuntu version 10.04 บน Vmware
: ทำการลง Guest OS บน VMM


3. ทำการติดตั้ง KVM บน Ubuntu จากข้อ 2
: ทำการ Full Virtualization อีกครั้งด้วย SW สำหรับระบบปฏิบัติการ Linux บน Hardware x86 โดยการติดตั้ง KVM (Kernel-based Virtual Machine)




4. ทำการลง DSL version 4.4.10 บน KVM จากข้อ 3
5. เปิด Terminal จาก DSL แล้ว Run command ifconfig



Summary
สรุปสิ่งที่ทำลงไปตามรูปนี้