กลับไปหน้าบทความ

อ่าน 9 นาที

เวอร์ชวลไลเซชัน

ในด้าน คอมพิวเตอร์ การจำลองเสมือน (หรือ virtualisation ใน ภาษาอังกฤษ แบบ เครือจักรภพ ดูความแตกต่างของการสะกด ) ซึ่งย่อว่า v12n...

เวอร์ชวลไลเซชัน

ภาพหน้าจอของสภาพแวดล้อมเวอร์ชวลไลเซชันหนึ่ง

ในด้านคอมพิวเตอร์การจำลองเสมือน (หรือvirtualisationในภาษาอังกฤษแบบ เครือจักรภพ ดูความแตกต่างของการสะกด ) ซึ่งย่อว่าv12nคือชุดของเทคโนโลยีที่ช่วยให้สามารถแบ่งทรัพยากรการคำนวณทางกายภาพออกเป็นชุดของเครื่องเสมือนระบบปฏิบัติการกระบวนการ หรือคอนเทนเนอร์[ 1 ] การจำลองเสมือนเริ่มต้นขึ้นในช่วงทศวรรษ 1960 ด้วย IBM CP/CMS [ 1 ] โปรแกรมควบคุม CP ให้ผู้ใช้แต่ละคนมีคอมพิวเตอร์ System/360 แบบสแตนด์อะโลนจำลอง

ในการจำลองเสมือนด้วยฮาร์ดแวร์เครื่องโฮสต์คือเครื่องที่ใช้โดยการจำลองเสมือน และเครื่องเกสต์คือเครื่องเสมือน คำว่าโฮสต์และเกสต์ใช้เพื่อแยกแยะซอฟต์แวร์ที่ทำงานบนเครื่องจริงออกจากซอฟต์แวร์ที่ทำงานบนเครื่องเสมือน ซอฟต์แวร์หรือเฟิร์มแวร์ที่สร้างเครื่องเสมือนบนฮาร์ดแวร์โฮสต์เรียกว่าไฮเปอร์ไวเซอร์หรือมอนิเตอร์เครื่องเสมือน[ 2 ]การจำลองเสมือนด้วยฮาร์ดแวร์ไม่เหมือนกับการจำลองด้วยฮาร์ดแวร์การจำลองเสมือนด้วยฮาร์ดแวร์ช่วยอำนวยความสะดวกในการสร้างมอนิเตอร์เครื่องเสมือนและอนุญาตให้ระบบปฏิบัติการเกสต์ทำงานแยกกันได้

การจำลองเดสก์ท็อปเสมือนคือแนวคิดของการแยกเดสก์ท็อปเชิงตรรกะออกจากเครื่องคอมพิวเตอร์จริง

การจำลองเสมือนระดับระบบปฏิบัติการหรือที่เรียกว่าการใช้คอนเทนเนอร์หมายถึง คุณลักษณะ ของระบบปฏิบัติการที่เคอร์เนลอนุญาตให้มีอินสแตนซ์ พื้นที่ผู้ใช้ ที่แยกจากกันหลายตัวได้

เป้าหมายหลักของการจำลองเสมือนคือการรวมศูนย์งานด้านการบริหารจัดการ ในขณะเดียวกันก็ปรับปรุงความสามารถในการขยายขนาดและการใช้ทรัพยากรฮาร์ดแวร์โดยรวม ให้มีประสิทธิภาพยิ่งขึ้น

ประวัติศาสตร์

รูปแบบหนึ่งของการจำลองเสมือน (virtualization) ได้รับการสาธิตครั้งแรกในระบบวิจัยCP-40 ของ IBM ในปี 1967 จากนั้นจึงเผยแพร่ผ่าน ซอฟต์แวร์โอเพนซอร์สใน CP/CMS ในปี 1967–1972 และได้รับการพัฒนาใหม่ในตระกูล VM ของ IBM ตั้งแต่ปี 1972 จนถึงปัจจุบัน ผู้ใช้ CP/CMS แต่ละคนจะได้รับคอมพิวเตอร์จำลองแบบสแตนด์อะโลน เครื่องเสมือนแต่ละเครื่องมีขีดความสามารถครบถ้วนของเครื่องจริง และ (สำหรับผู้ใช้) เครื่องเสมือนนั้นไม่แตกต่างจากระบบส่วนตัว การจำลองนี้ครอบคลุมทุกด้าน และอิงตามคู่มือหลักการทำงานของฮาร์ดแวร์ ดังนั้นจึงรวมถึงองค์ประกอบต่างๆ เช่น ชุดคำสั่ง หน่วยความจำหลัก การขัดจังหวะ ข้อยกเว้น และการเข้าถึงอุปกรณ์ ผลลัพธ์ที่ได้คือเครื่องเดียวที่สามารถ ใช้ งานร่วมกันได้หลายคน

การจำลองเสมือนด้วยฮาร์ดแวร์ปรากฏขึ้นครั้งแรกในระบบ IBM System/370ในปี 1972 สำหรับใช้กับVM/370ซึ่งเป็นระบบปฏิบัติการเครื่องเสมือนตัวแรก IBM ได้เพิ่มฮาร์ดแวร์หน่วยความจำเสมือนลงในซีรี่ส์ System/370 ในปี 1972 ซึ่งไม่เหมือนกับ Intel VT-x Rings ที่ให้สิทธิ์ระดับสูงกว่าสำหรับ Hypervisor ในการควบคุมเครื่องเสมือนอย่างถูกต้อง โดยต้องเข้าถึงโหมด Supervisor และ Program หรือ User อย่างเต็มรูปแบบ

ด้วยความต้องการที่เพิ่มขึ้นสำหรับกราฟิกคอมพิวเตอร์ความละเอียดสูง (เช่นCAD ) การจำลองเสมือนของเมนเฟรมจึงลดความสนใจลงในช่วงปลายทศวรรษ 1970 เมื่อมินิคอมพิวเตอร์ ที่กำลังจะเข้ามา ส่งเสริมการจัดสรรทรัพยากรผ่านการประมวลผลแบบกระจายซึ่งรวมถึงการกลายเป็นสินค้าโภคภัณฑ์ของไมโครคอมพิวเตอร์

การเพิ่มขึ้นของกำลังการประมวลผลต่อเซิร์ฟเวอร์ x86 (และโดยเฉพาะอย่างยิ่งการเพิ่มขึ้นอย่างมากของแบนด์วิดท์ของเครือข่ายสมัยใหม่) ได้จุดประกายความสนใจในการประมวลผลบนศูนย์ข้อมูลซึ่งอาศัยเทคนิคการจำลองเสมือนอีกครั้ง ปัจจัยหลักคือศักยภาพในการรวมเซิร์ฟเวอร์: การจำลองเสมือนช่วยให้เซิร์ฟเวอร์เดียวสามารถรวมกำลังการประมวลผลบนเซิร์ฟเวอร์เฉพาะหลายเครื่องที่ไม่ได้ใช้งานอย่างมีประสิทธิภาพและคุ้มค่า สิ่งที่เห็นได้ชัดเจนที่สุดของการกลับคืนสู่รากฐานของการประมวลผลคือการประมวลผลแบบคลาวด์ซึ่งเป็นคำพ้องความหมายของการประมวลผลบนศูนย์ข้อมูล (หรือการประมวลผลแบบเมนเฟรม) ผ่านเครือข่ายแบนด์วิดท์สูง และมีความเชื่อมโยงอย่างใกล้ชิดกับการจำลองเสมือน

การใช้งานสถาปัตยกรรม x86 ในช่วงเริ่มต้นไม่ตรงตามข้อกำหนดการจำลองเสมือนของ Popek และ Goldbergเพื่อให้บรรลุ "การจำลองเสมือนแบบดั้งเดิม":

  • ความเท่าเทียมกัน : โปรแกรมที่ทำงานภายใต้มอนิเตอร์เครื่องเสมือน (VMM)ควรแสดงพฤติกรรมที่เหมือนกันโดยพื้นฐานกับที่แสดงเมื่อทำงานบนเครื่องที่เทียบเท่ากันโดยตรง
  • การควบคุมทรัพยากร (หรือเรียกว่าความปลอดภัย ): VMM ต้องควบคุมทรัพยากรเสมือนได้อย่างสมบูรณ์
  • ประสิทธิภาพ : สัดส่วนที่สำคัญทางสถิติของคำสั่งเครื่องจะต้องถูกดำเนินการโดยไม่ต้องมีการแทรกแซงจาก VMM

สิ่งนี้ทำให้การใช้งานมอนิเตอร์เครื่องเสมือนสำหรับโปรเซสเซอร์ประเภทนี้เป็นเรื่องยาก ข้อจำกัดเฉพาะ ได้แก่ การไม่สามารถดัก จับ คำสั่งพิเศษบาง คำสั่งได้ [ 3 ]ดังนั้น เพื่อชดเชยข้อจำกัดทางสถาปัตยกรรมเหล่านี้ นักออกแบบจึงสร้างระบบเสมือนของสถาปัตยกรรม x86 ผ่านสองวิธี ได้แก่การจำลองเสมือนแบบเต็มรูปแบบหรือการจำลองเสมือนแบบบางส่วน [ 4 ] ทั้งสองวิธีสร้างภาพลวงตาของฮาร์ดแวร์ทางกายภาพเพื่อให้บรรลุเป้าหมายของระบบปฏิบัติการที่เป็นอิสระจากฮาร์ดแวร์ แต่ก็มีข้อเสียบางประการในด้านประสิทธิภาพและความซับซ้อน

ก่อนปี 2005 การจำลองเสมือนแบบเต็มรูปแบบยังไม่สามารถใช้งานได้อย่างสมบูรณ์บนแพลตฟอร์ม x86 ไฮเปอร์ไวเซอร์ หลายตัว สำหรับแพลตฟอร์ม x86 ทำได้ใกล้เคียงมากและอ้างว่าสามารถจำลองเสมือนแบบเต็มรูปแบบได้ (เช่น Adeos, Mac-on-Linux, Parallels Desktop for Mac , Parallels Workstation , VMware Workstation , VMware Server (เดิมคือ GSX Server), VirtualBox , Win4BSD และWin4Lin Pro )

ในปี 2005 และ 2006 อินเทลและเอดีเอ็ม (ทำงานแยกกัน) ได้สร้างส่วนขยายโปรเซสเซอร์ใหม่สำหรับสถาปัตยกรรม x86เรียกว่า Intel VT-x และ AMD-V ตามลำดับ บน สถาปัตยกรรม อิทาเนียมการจำลองเสมือนด้วยฮาร์ดแวร์เรียกว่า VT-i โปรเซสเซอร์ x86 รุ่นแรกที่รองรับส่วนขยายเหล่านี้ได้รับการวางจำหน่ายในช่วงปลายปี 2005 ถึงต้นปี 2006

  • เมื่อวันที่ 13 พฤศจิกายน 2548 อินเทลได้เปิดตัวโปรเซสเซอร์ Pentium 4 สองรุ่น (รุ่น 662 และ 672) ซึ่งเป็นโปรเซสเซอร์อินเทลรุ่นแรกที่รองรับ VT-x
  • เมื่อวันที่ 23 พฤษภาคม 2549 AMD ได้เปิดตัว Athlon 64 ("Orleans"), Athlon 64 X2 ("Windsor") และ Athlon 64 FX ("Windsor") ซึ่งเป็น โปรเซสเซอร์ AMD รุ่นแรก ที่รองรับเทคโนโลยีนี้

การจำลองฮาร์ดแวร์

การจำลองฮาร์ดแวร์เสมือน (หรือการจำลองแพลตฟอร์มเสมือน) จะรวมทรัพยากรการประมวลผลไว้ใน เครื่องเสมือนตั้งแต่หนึ่งเครื่องขึ้นไปเครื่องเสมือนจะจำลองการทำงานของคอมพิวเตอร์ (ทางกายภาพ) ด้วยระบบปฏิบัติการ ซอฟต์แวร์หรือเฟิร์มแวร์ที่สร้างเครื่องเสมือนบนฮาร์ดแวร์โฮสต์เรียกว่าไฮเปอร์ไวเซอร์หรือมอนิเตอร์เครื่องเสมือน[ 2 ]

ซอฟต์แวร์ที่ทำงานบนเครื่องเสมือนเหล่านี้จะถูกแยกออกจากทรัพยากรฮาร์ดแวร์พื้นฐาน ตัวอย่างเช่น คอมพิวเตอร์ที่ใช้Arch Linuxอาจมีเครื่องเสมือนที่มีลักษณะเหมือนคอมพิวเตอร์ที่ใช้ ระบบปฏิบัติการ Microsoft Windowsซอฟต์แวร์ที่ใช้ Windows สามารถทำงานบนเครื่องเสมือนได้[ 5 ] [ 6 ]

ประเภทต่างๆ ของการจำลองฮาร์ดแวร์เสมือน ได้แก่:

  • การจำลองเสมือนแบบเต็มรูปแบบ – การจำลองเสมือนฮาร์ดแวร์จริงเกือบทั้งหมด เพื่อให้สภาพแวดล้อมซอฟต์แวร์ รวมถึงระบบปฏิบัติการแขกและแอปพลิเคชันต่างๆ สามารถทำงานได้โดยไม่ต้องแก้ไขใดๆ
  • พาราเวอร์ชวลไลเซชัน – แอปพลิเคชันแขกรับเชิญจะทำงานในโดเมนที่แยกต่างหากราวกับว่ากำลังทำงานอยู่บนระบบที่แยกต่างหาก แต่ไม่ได้จำลองสภาพแวดล้อมฮาร์ดแวร์ โปรแกรมแขกรับเชิญจำเป็นต้องได้รับการดัดแปลงเป็นพิเศษเพื่อให้สามารถทำงานในสภาพแวดล้อมนี้ได้
  • การจำลองเสมือนแบบไฮบริด – ส่วนใหญ่เป็นการจำลองเสมือนแบบเต็มรูปแบบ แต่ใช้ไดรเวอร์การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชันเพื่อเพิ่มประสิทธิภาพของเครื่องเสมือน

เวอร์ชวลไลเซชันแบบเต็มรูปแบบ

แผนภาพเชิงตรรกะของการจำลองเสมือนแบบเต็มรูปแบบ

การจำลองเสมือนแบบเต็มรูปแบบใช้เทคนิคที่รวมทรัพยากรคอมพิวเตอร์ทางกายภาพเข้าเป็นอินสแตนซ์หนึ่งหรือมากกว่าหนึ่งอินสแตนซ์ โดยแต่ละอินสแตนซ์จะทำงานในสภาพแวดล้อมเสมือนซึ่งซอฟต์แวร์หรือระบบปฏิบัติการใดๆ ที่สามารถทำงานบนฮาร์ดแวร์ดิบได้ก็สามารถทำงานในเครื่องเสมือนได้ โดยทั่วไปแล้วจะใช้เทคนิคการจำลองเสมือนแบบเต็มรูปแบบสองวิธี ได้แก่ (ก) การแปลงไบนารี และ (ข) การจำลองเสมือนแบบเต็มรูปแบบที่ได้รับความช่วยเหลือจากฮาร์ดแวร์[ 1 ]การแปลงไบนารีจะแก้ไขซอฟต์แวร์แบบเรียลไทม์โดยอัตโนมัติเพื่อแทนที่คำสั่งที่ "เจาะเครื่องเสมือน" ด้วยลำดับคำสั่งที่แตกต่างกันและปลอดภัยสำหรับเครื่องเสมือน[ 7 ]การจำลองเสมือนที่ได้รับความช่วยเหลือจากฮาร์ดแวร์ช่วยให้ระบบปฏิบัติการแขกสามารถทำงานได้อย่างโดดเดี่ยวโดยแทบไม่ต้องแก้ไขระบบปฏิบัติการ (แขก) เลย

การจำลองเสมือนอย่างสมบูรณ์นั้น จำเป็นต้องจำลองคุณสมบัติที่สำคัญทั้งหมดของฮาร์ดแวร์ลงในเครื่องเสมือนหลายเครื่อง ซึ่งรวมถึงชุดคำสั่งทั้งหมด การดำเนินการ อินพุต/เอาต์พุตการขัดจังหวะ การเข้าถึงหน่วยความจำ และองค์ประกอบอื่นๆ ที่ซอฟต์แวร์ที่ทำงานบนเครื่องจริง ใช้ และที่ตั้งใจจะให้ทำงานในเครื่องเสมือนด้วย

แนวทางนี้ได้รับการริเริ่มขึ้นในปี 1966 ด้วยเครื่อง IBM CP-40และCP-67ซึ่งเป็นรุ่นก่อนหน้าของตระกูล VM

การแปลงไบนารี

ไฮเปอร์ไวเซอร์บางตัวทำการแปลงเลขฐานสองระหว่างระบบปฏิบัติการแขกและระบบปฏิบัติการโฮสต์ ไม่ว่าจะเป็นระหว่างสถาปัตยกรรมชุดคำสั่งที่แตกต่างกัน หรือระหว่างระบบปฏิบัติการแขกและระบบปฏิบัติการโฮสต์ที่ใช้ชุดคำสั่งเดียวกัน ไฮเปอร์ไวเซอร์อาจได้รับการออกแบบให้ตีความรหัสเครื่องของระบบปฏิบัติการแขกโดยตรง หรือสร้างรหัสเครื่องสำหรับสถาปัตยกรรมของระบบปฏิบัติการโฮสต์ในรูปแบบของการแปลงเลขฐานสองแบบไดนามิก

ไฮเปอร์ไวเซอร์ทั่วไปส่วนใหญ่ รวมถึงไฮเปอร์ไวเซอร์ที่ใช้ฮาร์ดแวร์เพื่อช่วยในการจำลองเสมือน จะทำการแปลงคำสั่งบางอย่างที่เกี่ยวข้องกับการเข้าถึงฮาร์ดแวร์ให้เป็นเลขฐานสอง ในกรณีเช่นนี้ ไฮเปอร์ไวเซอร์จะดักจับคำสั่งนั้นและดำเนินการตามฟังก์ชันเพื่อจำลองอุปกรณ์ที่ต้องการ ไฮเปอร์ไวเซอร์ที่ทำการแปลงเลขฐานสองอาจได้รับการออกแบบมาเพื่อแทนที่คำสั่งภายในบริบทของระบบปฏิบัติการแขกเพื่อช่วยในเรื่องความปลอดภัยหรือประสิทธิภาพด้วย

ช่วยเหลือด้วยฮาร์ดแวร์

การจำลองเสมือนด้วยฮาร์ดแวร์ (หรือการจำลองเสมือนแบบเร่งความเร็ว; Xenเรียกว่าเครื่องเสมือนฮาร์ดแวร์ (HVM) และVirtual Ironเรียกว่าการจำลองเสมือนแบบเนทีฟ)เป็นวิธีหนึ่งในการปรับปรุงประสิทธิภาพโดยรวมของการจำลองเสมือนด้วยฮาร์ดแวร์โดยใช้ความช่วยเหลือจากโปรเซสเซอร์ของเครื่องโฮสต์ การจำลองเสมือนแบบเต็มรูปแบบใช้เพื่อจำลองสภาพแวดล้อมฮาร์ดแวร์ที่สมบูรณ์ หรือเครื่องเสมือนซึ่งระบบปฏิบัติการ แขกที่ไม่ได้รับการแก้ไข (ใช้ ชุดคำสั่งเดียวกันกับเครื่องโฮสต์) จะทำงานได้อย่างมีประสิทธิภาพในสภาวะที่แยกตัวอย่างสมบูรณ์

การจำลองเสมือนด้วยฮาร์ดแวร์ได้รับการแนะนำครั้งแรกบน โปรเซสเซอร์ IBM 308Xในปี 1980 โดยใช้คำสั่ง Start Interpretive Execution (SIE) [ 8 ] ต่อมา ได้มีการเพิ่มคำสั่งนี้ลงใน โปรเซสเซอร์ x86 ( Intel VT-x , AMD-VหรือVIA VT ) ในปี 2005, 2006 และ 2010 [ 9 ]ตามลำดับ

IBMนำเสนอเทคโนโลยีการจำลองเสมือนฮาร์ดแวร์สำหรับ ฮาร์ดแวร์ IBM Power Systemsบน ระบบปฏิบัติการ AIX , LinuxและIBM iรวมถึงเมนเฟรมIBM Z IBM เรียกรูปแบบเฉพาะของการจำลองเสมือนฮาร์ดแวร์ นี้ ว่า "พาร์ติชันเชิงตรรกะ" หรือที่เรียกกันทั่วไปว่าLPAR

การจำลองเสมือนด้วยฮาร์ดแวร์ช่วยลดภาระการบำรุงรักษาของการจำลองเสมือนแบบใช้การแปลงไบนารี เนื่องจากช่วยลด (หรือในอุดมคติคือขจัด) โค้ดที่ต้องแปลในระบบปฏิบัติการของเครื่องเสมือน นอกจากนี้ยังทำให้ได้ประสิทธิภาพที่ดีขึ้นอย่างเห็นได้ชัด

พาราเวอร์ชวลไลเซชัน

พาราเวอร์ชวลไลเซชัน (Paravirtualization) เป็นเทคนิคการจำลองเสมือนที่นำเสนออินเทอร์เฟซซอฟต์แวร์ให้กับเครื่องเสมือนซึ่งคล้ายคลึงกัน แต่ไม่เหมือนกับอินเทอร์เฟซฮาร์ดแวร์-ซอฟต์แวร์พื้นฐาน พาราเวอร์ชวลไลเซชันช่วยเพิ่มประสิทธิภาพและประสิทธิผลเมื่อเทียบกับการจำลองเสมือนแบบเต็มรูปแบบ โดยให้ระบบปฏิบัติการของเครื่องเสมือนสื่อสารกับไฮเปอร์ไวเซอร์ การที่ระบบปฏิบัติการของเครื่องเสมือนสามารถระบุเจตนาของตนไปยังไฮเปอร์ไวเซอร์ได้ ทำให้ทั้งสองฝ่ายสามารถทำงานร่วมกันเพื่อให้ได้ประสิทธิภาพที่ดีขึ้นเมื่อทำงานในเครื่องเสมือน

จุดประสงค์ของการปรับปรุงอินเทอร์เฟซนี้คือการลดส่วนของเวลาการทำงานของเครื่องเสมือนที่ใช้ไปกับการดำเนินการซึ่งยากต่อการทำงานในสภาพแวดล้อมเสมือนเมื่อเทียบกับสภาพแวดล้อมที่ไม่ใช่เสมือน การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชันมี "จุดเชื่อมต่อ" ที่กำหนดไว้เป็นพิเศษเพื่อให้เครื่องเสมือนและเครื่องโฮสต์สามารถร้องขอและรับทราบงานเหล่านี้ได้ ซึ่งโดยปกติแล้วจะดำเนินการในโดเมนเสมือน (ซึ่งประสิทธิภาพการทำงานแย่กว่า) แพลตฟอร์มพาราเวอร์ชวลไลเซชันที่ประสบความสำเร็จอาจทำให้ตัวตรวจสอบเครื่องเสมือน (VMM) ง่ายขึ้น (โดยการย้ายการทำงานของงานที่สำคัญจากโดเมนเสมือนไปยังโดเมนโฮสต์) และ/หรือลดประสิทธิภาพโดยรวมของการทำงานของเครื่องภายในเครื่องเสมือน

การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชันจำเป็นต้องมีการพอร์ตระบบปฏิบัติการ แขกอย่างชัดเจน สำหรับAPI พาราเวอร์ ชวลไลเซชัน – การแจกจ่ายระบบปฏิบัติการทั่วไปที่ไม่รองรับพาราเวอร์ชวลไลเซชันยังคงสามารถทำงานบน VMM ที่ใช้พาราเวอร์ชวลไลเซชันได้ อย่างไรก็ตาม แม้ในกรณีที่ระบบปฏิบัติการไม่สามารถแก้ไขได้ ก็อาจมีส่วนประกอบที่ช่วยให้ได้เปรียบด้านประสิทธิภาพที่สำคัญหลายประการของพาราเวอร์ชวลไลเซชัน ตัวอย่างเช่น โครงการ Xen Windows GPLPVมีชุดไดรเวอร์อุปกรณ์ที่รองรับพาราเวอร์ชวลไลเซชัน ซึ่งมีจุดประสงค์เพื่อติดตั้งลงใน แขกเสมือน Microsoft Windowsที่ทำงานบนไฮเปอร์ไวเซอร์Xen [ 10 ]แอปพลิเคชันดังกล่าวมีแนวโน้มที่จะเข้าถึงได้ผ่านสภาพแวดล้อมอินเทอร์เฟซเครื่องพาราเวอร์ชวลไลเซชัน ซึ่งทำให้มั่นใจได้ถึงความเข้ากันได้ของโหมดการทำงานในโมเดลอัลกอริทึมการเข้ารหัสหลายแบบ ทำให้สามารถผสานรวมได้อย่างราบรื่นภายในเฟรมเวิร์กพาราเวอร์ชวลไลเซชัน[ 11 ]

ประวัติศาสตร์

คำว่า "paravirtualization" ถูกใช้ครั้งแรกในเอกสารวิจัยที่เกี่ยวข้องกับDenali Virtual Machine Manager [ 12 ] คำนี้ยังใช้เพื่ออธิบายไฮเปอร์ไวเซอร์Xen , L4 , TRANGO, VMware , Wind Riverและ XtratuM โครงการเหล่านี้ทั้งหมดใช้หรือสามารถใช้เทคนิค paravirtualization เพื่อรองรับเครื่องเสมือนประสิทธิภาพสูงบน ฮาร์ดแวร์ x86โดยการใช้งานเครื่องเสมือนที่ไม่ต้องใช้งานส่วนที่ยากต่อการจำลองเสมือนของชุดคำสั่ง x86 จริง[ 13 ]

ในปี 2548 VMware ได้เสนออินเทอร์เฟซพาราเวอร์ชวลไลเซชัน หรือ Virtual Machine Interface (VMI) เป็นกลไกการสื่อสารระหว่างระบบปฏิบัติการแขกและไฮเปอร์ไวเซอร์ อินเทอร์เฟซนี้ช่วยให้เกิดพาราเวอร์ชวลไลเซชันแบบโปร่งใส ซึ่งเวอร์ชันไบนารีเดียวของระบบปฏิบัติการสามารถทำงานได้ทั้งบนฮาร์ดแวร์ดั้งเดิมหรือบนไฮเปอร์ไวเซอร์ในโหมดพาราเวอร์ชวลไลเซชัน

การปรากฏตัวครั้งแรกของการสนับสนุนพาราเวอร์ชวลไลเซชันในลินุกซ์เกิดขึ้นพร้อมกับการรวมพอร์ต ppc64 ในปี 2545 [ 14 ]ซึ่งสนับสนุนการรันลินุกซ์ในฐานะแขกพาราเวอร์ชวลไลเซชันบนฮาร์ดแวร์ IBM pSeries (RS/6000) และ iSeries (AS/400)

ในการประชุม USENIX ในปี 2549 ที่บอสตัน รัฐแมสซาชูเซตส์ผู้จำหน่ายการพัฒนา Linux จำนวนหนึ่ง (รวมถึง IBM, VMware, Xen และ Red Hat) ได้ร่วมมือกันในรูปแบบพาราเวอร์ชวลไลเซชันทางเลือก ซึ่งพัฒนาขึ้นครั้งแรกโดยกลุ่ม Xen เรียกว่า "paravirt-ops" [ 15 ]โค้ด paravirt-ops (มักย่อเป็น pv-ops) ถูกรวมอยู่ในเคอร์เนล Linux หลัก ตั้งแต่เวอร์ชัน 2.6.23 และมีอินเทอร์เฟซที่ไม่ขึ้นกับไฮเปอร์ไวเซอร์ระหว่างไฮเปอร์ไวเซอร์และเคอร์เนลของเกสต์ การสนับสนุนเคอร์เนลเกสต์ pv-ops เริ่มปรากฏใน Ubuntu 7.04 และ RedHat 9 ไฮเปอร์ไวเซอร์ Xen ที่ใช้เคอร์เนลเวอร์ชัน 2.6.24 หรือใหม่กว่ารองรับเกสต์ pv-ops เช่นเดียวกับผลิตภัณฑ์ Workstation ของ VMware ตั้งแต่เวอร์ชัน 6 เป็นต้นไป[ 16 ]

เวอร์ชวลไลเซชันแบบไฮบริด

การจำลองเสมือนแบบไฮบริดผสมผสานเทคนิคการจำลองเสมือนแบบเต็มรูปแบบเข้ากับไดรเวอร์แบบพาราเวอร์ชวลไลซ์เพื่อเอาชนะข้อจำกัดของการจำลองเสมือนแบบเต็มรูปแบบที่ได้รับความช่วยเหลือจากฮาร์ดแวร์[ 17 ]

แนวทางการจำลองเสมือนแบบเต็มรูปแบบที่ได้รับการสนับสนุนจากฮาร์ดแวร์จะใช้ระบบปฏิบัติการแขกที่ไม่ได้รับการดัดแปลง ซึ่งเกี่ยวข้องกับกับดัก VM จำนวนมากที่ก่อให้เกิดภาระ CPU สูง ซึ่งจำกัดความสามารถในการขยายขนาดและประสิทธิภาพของการรวมเซิร์ฟเวอร์[ 18 ]แนวทางการจำลองเสมือนแบบไฮบริดสามารถเอาชนะปัญหานี้ได้

การจำลองเดสก์ท็อป

การจำลองเดสก์ท็อปเสมือนจะแยกเดสก์ท็อปเชิงตรรกะออกจากเครื่องจริง

รูปแบบหนึ่งของการจำลองเดสก์ท็อปเสมือน คือ โครงสร้างพื้นฐานเดสก์ท็อปเสมือน (VDI) ซึ่งอาจถือได้ว่าเป็นรูปแบบการจำลองฮาร์ดแวร์เสมือนขั้นสูงกว่า แทนที่จะโต้ตอบกับคอมพิวเตอร์โฮสต์โดยตรงผ่านแป้นพิมพ์ เมาส์ และจอภาพ ผู้ใช้จะโต้ตอบกับคอมพิวเตอร์โฮสต์โดยใช้คอมพิวเตอร์เดสก์ท็อปเครื่องอื่นหรืออุปกรณ์เคลื่อนที่ผ่านการเชื่อมต่อเครือข่าย เช่นLAN , Wireless LANหรือแม้แต่อินเทอร์เน็ตนอกจากนี้ ในสถานการณ์นี้ คอมพิวเตอร์โฮสต์จะกลายเป็นคอมพิวเตอร์เซิร์ฟเวอร์ที่สามารถโฮสต์เครื่องเสมือนหลายเครื่องพร้อมกันสำหรับผู้ใช้หลายคน[ 19 ]

บริษัทต่างๆ เช่นHPและIBMนำเสนอโมเดล VDI แบบไฮบริดที่มีซอฟต์แวร์เวอร์ชวลไลเซชันและโมเดลการส่งมอบที่หลากหลายเพื่อปรับปรุงข้อจำกัดของการประมวลผลไคลเอ็นต์แบบกระจาย [ 20 ] สภาพแวดล้อมไคลเอ็นต์ที่เลือกจะย้ายเวิร์กโหลดจากพีซีและอุปกรณ์อื่นๆ ไปยังเซิร์ฟเวอร์ศูนย์ข้อมูล สร้างไคลเอ็นต์เสมือนที่มีการจัดการอย่างดี โดยมีแอปพลิเคชันและสภาพแวดล้อมการทำงานของไคลเอ็นต์ที่โฮสต์บนเซิร์ฟเวอร์และพื้นที่จัดเก็บข้อมูลในศูนย์ข้อมูล สำหรับผู้ใช้ หมายความว่าพวกเขาสามารถเข้าถึงเดสก์ท็อปได้จากทุกที่ โดยไม่ต้องผูกติดกับอุปกรณ์ไคลเอ็นต์เพียงเครื่องเดียว เนื่องจากทรัพยากรถูกรวมศูนย์ ผู้ใช้ที่ย้ายระหว่างสถานที่ทำงานยังคงสามารถเข้าถึงสภาพแวดล้อมไคลเอ็นต์เดียวกันกับแอปพลิเคชันและข้อมูลของตนได้[ 20 ]สำหรับผู้ดูแลระบบไอที หมายความว่าสภาพแวดล้อมไคลเอ็นต์ที่มีประสิทธิภาพและรวมศูนย์มากขึ้น บำรุงรักษาง่ายขึ้น และสามารถตอบสนองต่อความต้องการที่เปลี่ยนแปลงไปของผู้ใช้และธุรกิจได้รวดเร็วยิ่งขึ้น[ 21 ] เวอร์ชวลไลเซชันเซสชันอีกรูปแบบหนึ่ง อนุญาตให้ผู้ใช้หลายคนเชื่อมต่อและเข้าสู่ระบบคอมพิวเตอร์ที่ใช้ร่วมกันแต่ทรงพลังผ่านเครือข่ายและใช้งานพร้อมกันได้ แต่ละคนจะได้รับเดสก์ท็อปและโฟลเดอร์ส่วนตัวที่พวกเขาจัดเก็บไฟล์ของตน[ 19 ]ด้วยการกำหนดค่าแบบหลายที่นั่งการจำลองเซสชันสามารถทำได้โดยใช้พีซีเครื่องเดียวที่มีจอภาพ คีย์บอร์ด และเมาส์เชื่อมต่ออยู่หลายตัว

ไคลเอนต์แบบบาง (Thin clients)ซึ่งพบได้ในการจำลองเดสก์ท็อปเสมือน เป็นคอมพิวเตอร์ที่เรียบง่ายและ/หรือราคาถูก ซึ่งออกแบบมาเพื่อเชื่อมต่อกับเครือข่ายเป็นหลัก อาจมีพื้นที่จัดเก็บข้อมูลฮาร์ดดิสก์ หน่วยความ จำRAMหรือแม้แต่พลังการประมวลผล ไม่มากนัก แต่หลายองค์กรเริ่มพิจารณาถึงประโยชน์ด้านต้นทุนของการกำจัดเดสก์ท็อปแบบ "ไคลเอนต์แบบหนา" (Thick client) ที่เต็มไปด้วยซอฟต์แวร์ (และต้องเสียค่าลิขสิทธิ์ซอฟต์แวร์) และหันมาลงทุนเชิงกลยุทธ์มากขึ้น[ 22 ]

การจำลองเดสก์ท็อปช่วยลดความซับซ้อนของการจัดการเวอร์ชันซอฟต์แวร์และการแก้ไขข้อบกพร่อง โดยที่ภาพใหม่จะถูกอัปเดตบนเซิร์ฟเวอร์ และเดสก์ท็อปจะได้รับเวอร์ชันที่อัปเดตแล้วเมื่อรีบูต นอกจากนี้ยังช่วยให้สามารถควบคุมจากส่วนกลางได้ว่าผู้ใช้ได้รับอนุญาตให้เข้าถึงแอปพลิเคชันใดบ้างบนเวิร์กสเตชัน

การย้ายเดสก์ท็อปเสมือนไปยังคลาวด์จะสร้างเดสก์ท็อปเสมือนแบบโฮสต์ (HVD) ซึ่งภาพเดสก์ท็อปจะได้รับการจัดการและบำรุงรักษาจากส่วนกลางโดยบริษัทผู้ให้บริการโฮสติ้งเฉพาะทาง ข้อดี ได้แก่ ความสามารถในการปรับขนาดและการลดค่าใช้จ่ายด้านเงินทุน ซึ่งจะถูกแทนที่ด้วยค่าใช้จ่ายในการดำเนินงานรายเดือน[ 23 ]

การใช้คอนเทนเนอร์

การจำลองเสมือนระดับระบบปฏิบัติการ หรือที่เรียกว่าการใช้คอนเทนเนอร์หมายถึง คุณลักษณะ ของระบบปฏิบัติการที่เคอร์เนลอนุญาตให้มี อินสแตนซ์ พื้นที่ผู้ใช้ ที่แยกจากกันหลายตัว อินส แตนซ์ดังกล่าวเรียกว่าคอนเทนเนอร์[ 24 ]พาร์ติชัน สภาพแวดล้อมเสมือน (VE) หรือคุก ( คุก FreeBSDหรือคุก chroot ) อาจดูเหมือนคอมพิวเตอร์ (ทางกายภาพ) จากมุมมองของโปรแกรมที่ทำงานอยู่ภายใน โปรแกรมคอมพิวเตอร์ที่ทำงานบนระบบปฏิบัติการทั่วไปสามารถมองเห็นทรัพยากรทั้งหมด (อุปกรณ์ที่เชื่อมต่อ ไฟล์และโฟลเดอร์การแชร์เครือข่ายพลังงาน CPU ความสามารถของฮาร์ดแวร์ที่วัดได้) ของคอมพิวเตอร์นั้นได้ อย่างไรก็ตาม โปรแกรมที่ทำงานอยู่ภายในคอนเทนเนอร์สามารถมองเห็นได้เฉพาะเนื้อหาของคอนเทนเนอร์และอุปกรณ์ที่กำหนดให้กับคอนเทนเนอร์เท่านั้น

สิ่งนี้มอบประโยชน์มากมายที่เครื่องเสมือนมี เช่น การกำหนดมาตรฐานและความสามารถในการปรับขนาด ในขณะที่ใช้ทรัพยากรน้อยลงเนื่องจากเคอร์เนลถูกแชร์ระหว่างคอนเทนเนอร์[ 25 ]

การใช้คอนเทนเนอร์เริ่มได้รับความนิยมมากขึ้นในปี 2014 พร้อมกับการเปิดตัวDocker [ 26 ] [ 27 ]

ประเภทเบ็ดเตล็ด

ซอฟต์แวร์
หน่วยความจำ
  • การจำลองหน่วยความจำเสมือน (Memory virtualization ): การรวมทรัพยากร RAM จากระบบเครือข่ายหลายระบบเข้าไว้ในกลุ่มหน่วยความจำเดียวที่รวมเป็นหนึ่งเดียวมักถูกเรียกว่า หน่วยความจำแบบ แยกส่วน (Disaggregated memory ) การรวมกลุ่มหน่วยความจำ ( Memory pooling ) หรือการเข้าถึงหน่วยความจำระยะไกล (Remote memory access ) สถาปัตยกรรมนี้มีจุดมุ่งหมายเพื่อเอาชนะข้อจำกัดด้านหน่วยความจำแบบดั้งเดิมของระบบเดียว โดยทำให้คอมพิวเตอร์หรือโหนดหลายเครื่องสามารถแบ่งปันหน่วยความจำได้อย่างมีประสิทธิภาพสูงและมีความหน่วงต่ำ
  • หน่วยความจำเสมือน : ทำให้แอปพลิเคชันเข้าใจผิดว่ามีหน่วยความจำใช้งานต่อเนื่อง โดยแยกออกจากหน่วยความจำทางกายภาพที่อยู่เบื้องหลัง
พื้นที่จัดเก็บ
ข้อมูล
  • การจำลองข้อมูลเสมือน (Data virtualization ): การนำเสนอข้อมูลในรูปแบบของชั้นนามธรรม ซึ่งเป็นอิสระจากระบบฐานข้อมูล โครงสร้าง และพื้นที่จัดเก็บข้อมูลพื้นฐาน
  • การจำลองเสมือนฐานข้อมูล : การแยกส่วนของเลเยอร์ฐานข้อมูล ซึ่งอยู่ระหว่างเลเยอร์การจัดเก็บข้อมูลและเลเยอร์แอปพลิเคชันภายในสแต็กแอปพลิเคชันโดยรวม
เครือข่าย

ข้อดีและข้อเสีย

การจำลองเสมือน โดยเฉพาะอย่างยิ่งการจำลองเสมือนแบบเต็มรูปแบบ ได้พิสูจน์แล้วว่ามีประโยชน์ในด้านต่างๆ ดังนี้:

  • การใช้งานระบบคอมพิวเตอร์ร่วมกันระหว่างผู้ใช้หลายคน;
  • แยกผู้ใช้แต่ละคนออกจากกัน (และจากโปรแกรมควบคุม);
  • จำลองการทำงานของฮาร์ดแวร์ใหม่เพื่อให้ได้ความน่าเชื่อถือ ความปลอดภัย และประสิทธิภาพการทำงานที่ดียิ่งขึ้น

เป้าหมายทั่วไปของการจำลองเสมือนคือการรวมศูนย์งานด้านการบริหารจัดการ ในขณะเดียวกันก็ปรับปรุงความสามารถในการขยายขนาดและการใช้ทรัพยากรฮาร์ดแวร์โดยรวมให้ดียิ่งขึ้น ด้วยการจำลองเสมือน ระบบปฏิบัติการหลายระบบสามารถทำงานพร้อมกันบนหน่วยประมวลผลกลาง (CPU) เดียวได้ การทำงานแบบขนานนี้มีแนวโน้มที่จะลดต้นทุนค่าใช้จ่าย และแตกต่างจากการทำงานแบบมัลติทาสกิ้ง ซึ่งเกี่ยวข้องกับการเรียกใช้โปรแกรมหลายโปรแกรมบนระบบปฏิบัติการเดียวกัน การใช้การจำลองเสมือนช่วยให้องค์กรสามารถจัดการการอัปเดตและการเปลี่ยนแปลงอย่างรวดเร็วของระบบปฏิบัติการและแอปพลิเคชันได้ดียิ่งขึ้นโดยไม่รบกวนผู้ใช้

ในที่สุด การจำลองเสมือนจะช่วยปรับปรุงประสิทธิภาพและความพร้อมใช้งานของทรัพยากรและแอปพลิเคชันในองค์กรได้อย่างมาก แทนที่จะพึ่งพาโมเดลเดิมของ "เซิร์ฟเวอร์หนึ่งเครื่อง แอปพลิเคชันหนึ่งเครื่อง" ซึ่งนำไปสู่การใช้ทรัพยากรที่ไม่เต็มประสิทธิภาพ ทรัพยากรเสมือนจะถูกนำมาใช้แบบไดนามิกเพื่อตอบสนองความต้องการทางธุรกิจโดยไม่มีส่วนเกินใดๆ[ 29 ]

เครื่องเสมือนที่ใช้ระบบปฏิบัติการที่เป็นกรรมสิทธิ์จำเป็นต้องมีใบอนุญาต ไม่ว่าระบบปฏิบัติการของเครื่องโฮสต์จะเป็นอะไรก็ตาม ตัวอย่างเช่น การติดตั้งMicrosoft Windowsลงในเครื่องเสมือนต้องเป็นไปตามข้อกำหนดด้านใบอนุญาต[ 30 ] [ 31 ] [ 32 ]

ดูเพิ่มเติม

  • บทนำเกี่ยวกับเวอร์ชวลไลเซชัน (Virtualization) เก็บถาวรเมื่อวันที่ 22 ตุลาคม 2020 ที่Wayback Machineมกราคม 2004 โดย Amit Singh
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Virtualization&oldid=1359848546 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เวอร์ชวลไลเซชัน

ในด้าน คอมพิวเตอร์ การจำลองเสมือน (หรือ virtualisation ใน ภาษาอังกฤษ แบบ เครือจักรภพ ดูความแตกต่างของการสะกด ) ซึ่งย่อว่า v12n...

ประวัติศาสตร์

รูปแบบหนึ่งของการจำลองเสมือน (virtualization) ได้รับการสาธิตครั้งแรกในระบบวิจัย CP-40 ของ IBM ในปี 1967 จากนั้นจึงเผยแพร่ผ่าน ซอฟต์แวร์โอเพนซอร์ส ใน CP/CMS ในปี 1967–1972 และได้รับการพัฒนาใหม่ใน ตระกูล VM ของ IBM ตั้งแต่ปี 1972 จนถึงปัจจุบัน ผู้ใช้ CP/CMS...

การจำลองฮาร์ดแวร์

การจำลองฮาร์ดแวร์เสมือน (หรือ การจำลองแพลตฟอร์มเสมือน) จะรวมทรัพยากรการประมวลผลไว้ใน เครื่องเสมือน ตั้งแต่หนึ่งเครื่องขึ้นไปเครื่องเสมือนจะจำลองการทำงานของคอมพิวเตอร์ (ทางกายภาพ) ด้วยระบบปฏิบัติการ ซอฟต์แวร์หรือ เฟิร์มแวร์...

เวอร์ชวลไลเซชันแบบเต็มรูปแบบ

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