วันพฤหัสบดีที่ 1 กรกฎาคม พ.ศ. 2553

เรียนรู้ Virtual Machine

วันนี้ขอนำเสนอข้อมูลเกี่ยวกับ Virtual Machine ในแง่มุมที่คิดว่ามีประโยชน์

Computer Virtualization คือ การจำลองระบบเครื่องคอมพิวเตอร์เสมือนจริง บนเครื่องคอมพิวเตอร์จริง เปรียบเหมือนมีเครื่องคอมพิวเตอร์หลายๆเครื่องบรรจุอยู่ในคอมพิวเตอร์เครื่องเดียว

Virtual Machine ถูกแบ่งออกเป็น 2 แบบใหญ่ๆ คือ
  • System Virtual Machine บางครั้งเรียกว่า “hardware virtual machines” มีลักษณะเป็น Virtual Machine ที่แยกการทำงานโดยสมบูรณ์ทั้งระบบ เป็นการจำลองเสมือนหมดทุกอย่าง ไม่ว่าจะเป็น Bios, Hardware ต่างๆ, Hard disk, ram, Network Card รวมไปถึงอุปกรณ์อื่นๆ และสามารถเรียกใช้งานระบบปฏิบัติการได้อย่างสมบูรณ์
  • Process Virtual Machine มีลักษณะเป็น Virtual Machine ที่ถูกออกแบบมาเฉพาะเจาะจงมากกว่า System virtual machines มันอาจถูกออกแบบมาให้รันโปรแกรมโปรแกรมหนื่งหรือประมวลผลอย่างใดอย่างหนึ่งเท่านั้น ยกตัวอย่าง เช่น Java Runtime Environment (JRE) มันคือซอร์ฟแวร์ที่รับคำสั่งจากซอร์ฟแวร์ที่เป็นจาวา แล้วทำการประมวลผลและแสดงผลข้อมูลเสมือนกับเป็นระบบปฏิบัติการย่อยๆอีกทีหนึ่ง
ข้อดี และข้อเสียของ Virtualization มีดังนี้

ข้อดี ข้อเสีย
1. ลดจำนวน Server กรณีที่เป็นองค์กรที่ต้องใช้งานหลายระบบปฏิบัติการในการประมวลผล 1. ต้องมีเครื่องคอมพิวเตอร์อย่างน้อยสองเครื่อง เพื่อเป็นระบบสำรอง กรณีเกิดความเสียหาย
2.ลดการใช้พลังงาน จากการใช้คอมพิวเตอร์หลายๆเครื่อง 2.ปัญหาด้านความปลอดภัย
3.ช่วยให้การจัดสรรทรัพยากรภายในเครื่องเป็นไปอย่างคุ้มค่า 3.ทำให้เครื่องคอมพิวเตอร์ทำงานได้ช้าลงเพราะต้องแบ่งทรัพยากรออกเป็นส่วนๆ
4.ช่วยในการทำ testing กรณีต้องการระบบที่เสมือนจริงแต่ยังไม่สามารถทำในระบบจริงได้ 4.ปัญหาเกี่ยวกับลิขสิทธิ์
5.ช่วยให้สามารถประมวลผลหลายๆ plate form บนเครื่องเดียวกันได้
6.ช่วยให้ระบบจริงไม่ถูกโจมตี กรณีใช้งานผ่านเครื่องเสมือน


ข้อแตกต่างระหว่าง Classic Virtual Machine Monitor (VMM) และ Hosted Virtual Machine คือ VMM จะมีระบบปฏิบัติการรองทำงานอยู่บนเครื่องที่มีระบบปฏิบัติการหลัก แต่ Hosted VM จะมีระบบปฏิบัติการที่ทำงานอยู่บนระบบปฏิบัติการหลัก

ลักษณะและแบบการสร้าง Virtual Machine ของ Virtualization Software แต่ละชนิดมีดังนี้

• Xen ใช้เทคโนโลยี Para-Virtualization คือ จะแบ่ง memory และ CPU ของแต่ละ VPS แยกออกจากกันโดยเด็ดขาด และสามารถทำ swap ไฟล์กรณีที่ memory ไม่เพียงพอได้ ซึ่งจะเหมือนกับเครื่องจริง

Xen สร้าง Virtual Machine แบบ System Virtual Machine

Hyper-V ใช้เทคโนโลยี Full-virtualization

Hyper-V สร้าง Virtual Machine แบบ System Virtual Machine

Vmware-Esx ใช้เทคโนโลยี Full-virtualization

Vmware-Esx สร้าง Virtual Machine แบบ System Virtual Machine

Kernel-based Virtual Machine เป็น Java Virtual Machine ขนาดเล็กที่พัฒนา Java virtual machine ขึ้นมาใหม่

Kernel-based Virtual Machine Virtual Machine แบบ Process Virtual Machine

OpenVZ การจัดสรร Resource ไม่ได้แยก disk และ memory ออกมาจาก host OS โดยเด็ดขาดเหมือนแบบอื่น แต่เป็นลักษณะการแชร์กัน เสมือนอยู่บนระบบเดียวกัน เช่นกรณีที่ VPS อื่นในเครื่อง server เดียวกันไม่ได้ใช้งาน memory ในส่วนนั้น เช่นสามารถตั้งไว้ว่า VPS นี้มี RAM 512MB แต่สามารถ Burst ได้ถึง 1024MB เมื่อ VPS เครื่องนี้ต้องการใช้ RAM มากๆ และเครื่องอื่นไม่ได้ใช้ RAM นอกจากนั้น OpenVZ จะไม่มีการทำ swap ไฟล์กรณีที่ memory ไม่พอ

OpenVZ สร้าง Virtual Machine แบบ System Virtual Machine


ไม่มีความคิดเห็น:

แสดงความคิดเห็น