เครื่องเสมือน (VM) ค่อนข้างเป็นคำทั่วไปสำหรับเทคโนโลยีเวอร์ช่วลจำนวนมาก
virtualisation มีหลายรูปแบบ แต่สิ่งที่สำคัญคือ:
- การจำลองเสมือนระดับฮาร์ดแวร์
- ระบบปฏิบัติการระดับเสมือนจริง
qemu-kvm
และVMWare
เป็นตัวอย่างของคนแรก พวกเขาใช้ไฮเปอร์ไวเซอร์เพื่อจัดการสภาพแวดล้อมเสมือนจริงที่ระบบปฏิบัติการเต็มรูปแบบทำงาน ตัวอย่างเช่นบนqemu-kvm
ระบบคุณสามารถมี VM หนึ่งตัวที่กำลังใช้งาน FreeBSD, อีกอันที่ใช้ Windows และ Linux ตัวอื่นกำลังทำงานอยู่
เครื่องเสมือนที่สร้างขึ้นโดยเทคโนโลยีเหล่านี้จะทำตัวเหมือนคอมพิวเตอร์แยกเดี่ยวกับแขก สิ่งเหล่านี้มี CPU เสมือน, RAM, NIC, กราฟิก ฯลฯ ซึ่งแขกเชื่อว่าเป็นของแท้ ด้วยเหตุนี้จึงสามารถติดตั้งระบบปฏิบัติการที่แตกต่างกันจำนวนมากบน VMs และทำงานได้ "ไม่ต้องมีกล่อง" โดยไม่จำเป็นต้องทำการดัดแปลงใด ๆ
แม้ว่าจะสะดวกมาก แต่ในหลาย ๆ OS นั้นจะติดตั้งโดยไม่ต้องใช้ความพยายามมากนัก แต่ก็มีข้อเสียเปรียบที่ hypervisor ต้องจำลองฮาร์ดแวร์ทั้งหมดซึ่งอาจทำให้สิ่งต่าง ๆ ช้าลง อีกทางเลือกหนึ่งคือฮาร์ดแวร์เสมือนจริงซึ่งอุปกรณ์และไดรเวอร์เสมือนใหม่ได้รับการพัฒนาสำหรับแขกที่ได้รับการออกแบบมาเพื่อประสิทธิภาพในสภาพแวดล้อมเสมือนจริง qemu-kvm
จัดหาvirtio
ช่วงของอุปกรณ์และไดรเวอร์สำหรับสิ่งนี้ ข้อเสียของสิ่งนี้คือต้องรองรับระบบปฏิบัติการ guest แต่ถ้าได้รับการสนับสนุนประโยชน์ด้านประสิทธิภาพก็ยอดเยี่ยม
lxc
เป็นตัวอย่างของ Virtualisation ระดับระบบปฏิบัติการหรือคอนเทนเนอร์ ภายใต้ระบบนี้มีเพียงหนึ่งเคอร์เนลติดตั้ง - โฮสต์เคอร์เนล แต่ละคอนเทนเนอร์เป็นเพียงการแยกกระบวนการ userland ตัวอย่างเช่นapache
มีการติดตั้งเว็บเซิร์ฟเวอร์ (เช่น) ในคอนเทนเนอร์ เท่าที่เว็บเซิร์ฟเวอร์นั้นเกี่ยวข้องเซิร์ฟเวอร์ที่ติดตั้งเพียงตัวเดียวนั้นเอง คอนเทนเนอร์อื่นอาจใช้เซิร์ฟเวอร์ FTP เซิร์ฟเวอร์ FTP นั้นไม่ทราบถึงการติดตั้งเว็บเซิร์ฟเวอร์ - เป็นของตัวเองเท่านั้น คอนเทนเนอร์อื่นสามารถมีการติดตั้ง userland แบบเต็มของ Linux distro (ตราบใดที่ distro นั้นสามารถทำงานกับเคอร์เนลของระบบโฮสต์)
อย่างไรก็ตามไม่มีการติดตั้งระบบปฏิบัติการแยกต่างหากเมื่อใช้คอนเทนเนอร์ - เฉพาะอินสแตนซ์ที่แยกจากบริการผู้ใช้ ด้วยเหตุนี้คุณจึงไม่สามารถติดตั้งแพลตฟอร์มที่แตกต่างกันในคอนเทนเนอร์ - ไม่มี Windows บน Linux
chroot
ภาชนะบรรจุที่มักจะถูกสร้างขึ้นโดยใช้ สิ่งนี้จะสร้าง root ส่วนตัวที่แยกต่างหาก ( /
) เพื่อให้กระบวนการทำงาน โดยการสร้างรากส่วนตัวของแต่ละบุคคลกระบวนการ (เว็บเซิร์ฟเวอร์หรือลินุกซ์ distro ฯลฯ ) ทำงานในระบบไฟล์แยก เทคนิคขั้นสูงเพิ่มเติมเช่นcgroups
สามารถแยกทรัพยากรอื่น ๆ เช่นเครือข่ายและ RAM
มีข้อดีข้อเสียของการอภิปรายทั้งยาวและยาวซึ่งเป็นเรื่องที่ดีที่สุด
- ภาชนะบรรจุมีน้ำหนักเบาลงเนื่องจากไม่ได้ติดตั้งระบบปฏิบัติการแบบเต็มสำหรับแต่ละระบบ ซึ่งเป็นกรณีของไฮเปอร์ไวเซอร์ พวกเขาสามารถทำงานบนฮาร์ดแวร์ที่ต่ำกว่าได้ อย่างไรก็ตามพวกเขาสามารถเรียกใช้แขกของ Linux เท่านั้น (บนโฮสต์ Linux) นอกจากนี้เนื่องจากพวกเขาแชร์เคอร์เนลจึงมีความเป็นไปได้ที่คอนเทนเนอร์ที่ถูกบุกรุกอาจมีผลต่อผู้อื่น
- Hypervisors มีความปลอดภัยมากกว่าและสามารถเรียกใช้ระบบปฏิบัติการที่แตกต่างกันได้เนื่องจากมีการติดตั้งระบบปฏิบัติการเต็มรูปแบบใน VM แต่ละเครื่องและแขกไม่ได้ตระหนักถึง VM อื่น ๆ อย่างไรก็ตามสิ่งนี้ใช้ทรัพยากรมากขึ้นในโฮสต์ซึ่งจะต้องมีพลังค่อนข้าง