Virtual Machine (VM) คืออะไร
Virtual Machine (VM) คือ การจำลองเครื่องคอมพิวเตอร์เสมือนอีกเครื่องหนึ่งที่ถูกสร้างขึ้นภายในคอมพิวเตอร์ของคุณ หรือบนเซิร์ฟเวอร์เครื่องอื่นๆ โดยอาศัยซอฟต์แวร์ที่เรียกว่า ไฮเปอร์ไวเซอร์ (Hypervisor) ทำหน้าที่ในการจำลองฮาร์ดแวร์ต่างๆ เช่น CPU, RAM, Hard Disk ซึ่งจะเรียกเครื่องที่ถูกใช้ทรัพยากรว่า Host และเรียกเครื่องเสมือนว่า Guest โดยในเครื่อง Guest สามารถติดตั้ง และใช้งานระบบปฏิบัติการได้เสมือนเป็นซอฟต์แวร์หนึ่งของเครื่องคอมพิวเตอร์ ทำให้สามารถติดตั้งระบบปฏิบัติการอื่นๆ ที่แตกต่างจากระบบปฏิบัติการหลักของเครื่อง Host ได้ เช่น เครื่อง Host ใช้งาน Microsoft Windows แต่เครื่อง Guest ติดตั้ง Linux เป็นต้น นอกจากนี้ยังสามารถสร้าง Guest ได้มากกว่า 1 Guest ในเครื่อง Host เดียวกัน
โครงสร้างพื้นฐานสำหรับการสร้าง Virtual Machine ประกอบไปด้วย
- Infrastructure: พื้นฐานระบบที่จำเป็นต้องมีก่อนการสร้าง VM
- Host Operating System: ระบบปฏิบัติการบนเครื่อง Host
- Hypervisor: ซอฟต์แวร์ที่จัดการกับการจำลองและการทำงานของ VM
ส่วนประกอบของ Virtual Machine
- Guest OS: ระบบปฏิบัติการบนเครื่อง Guest
- Binary/Library: ไฟล์ที่เกี่ยวข้องกับการทำงานของแอปพลิเคชัน
- Application: แอปพลิเคชันที่ใช้งานในเครื่อง Guest
ทำไมต้องใช้ Virtual Machine
- ประหยัดค่าใช้จ่าย: แทนที่จะซื้อคอมพิวเตอร์หลายเครื่องเพื่อรันระบบปฏิบัติการที่แตกต่างกัน เราสามารถใช้เครื่องเสมือนหลายเครื่องบนฮาร์ดแวร์เครื่องเดียวกันได้
- ความยืดหยุ่น: สามารถสร้าง และลบเครื่องเสมือนได้ตามต้องการ ทำให้ปรับขนาดทรัพยากรได้ง่ายตามความต้องการใช้งาน
- ความปลอดภัย: แยกสภาพแวดล้อมการทำงานของแต่ละแอปพลิเคชันออกจากกัน ทำให้ลดความเสี่ยงที่มัลแวร์จะแพร่กระจายไปยังระบบอื่นๆ
- ทดสอบและพัฒนา: สามารถสร้างสภาพแวดล้อมการทดสอบที่แยกต่างหากเพื่อทดสอบซอฟต์แวร์ใหม่ๆ หรืออัปเดตระบบปฏิบัติการโดยไม่ส่งผลกระทบต่อระบบหลัก
- คลาวด์คอมพิวติ้ง: เทคโนโลยีนี้ส่วนใหญ่ใช้เครื่องเสมือนในการให้บริการ
ประเภทของ Hypervisor
ผู้พัฒนาบางรายอาจรวม Host OS และ Hypervisor เข้าด้วยกันในซอฟต์แวร์ของตนเอง แบบนี้จะถูกเรียกว่า Type-1 Hypervisor , Type-2 Hypervisor โดยมีรายละเอียดดังนี้
- Type 1 Hypervisor: ทำงานโดยตรงบนฮาร์ดแวร์ของเครื่องโฮสต์ มีประสิทธิภาพสูง เช่น VMware ESXi, Microsoft Hyper-V
- Type 2 Hypervisor: ทำงานบนระบบปฏิบัติการของเครื่องโฮสต์ เช่น Oracle VirtualBox, VMware Workstation