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

อ่าน 6 นาที

เครื่องเสมือนแบบเคอร์เนล

Kernel-based Virtual Machine ( KVM ) เป็น โมดูล การจำลองเสมือนแบบ โอเพนซอร์สและฟรี ใน เคอร์เนล Linux ที่ช่วยให้ เคอร์เนล ทำงานเป็น ไฮเปอร์ไวเซอร์ได้ มันถูกรวมเข้ากับ เคอร์เนล...

เครื่องเสมือนแบบเคอร์เนล

เควีเอ็ม
ผู้เขียนต้นฉบับคุมราเน็ต
นักพัฒนาชุมชนเคอร์เนลลินุกซ์
เขียนเป็นซี
ระบบปฏิบัติการเหมือนยูนิก
แพลตฟอร์มARM , PowerPC , z/Architecture , IA-32 , x86-64 , RISC-V , LoongArch
พิมพ์ไฮเปอร์ไวเซอร์
ใบอนุญาตGNU GPLหรือLGPL
เว็บไซต์www.linux-kvm.org
ที่เก็บข้อมูล
  • git .kernel .org /pub /scm /virt /kvm /kvm .git

Kernel-based Virtual Machine ( KVM ) เป็น โมดูล การจำลองเสมือนแบบโอเพนซอร์สและฟรี ในเคอร์เนล Linuxที่ช่วยให้เคอร์เนลทำงานเป็นไฮเปอร์ไวเซอร์ได้มันถูกรวมเข้ากับเคอร์เนล Linux หลักในเวอร์ชัน 2.6.20 ซึ่งเผยแพร่เมื่อวันที่ 5 กุมภาพันธ์ 2550 [ 1 ] KVM ต้องการโปรเซสเซอร์ที่มี ส่วนขยายการจำลอง เสมือนฮาร์ดแวร์เช่นIntel VTหรือAMD-V [ 2 ] KVMยังได้รับการพอร์ตไปยังระบบปฏิบัติการอื่น ๆ เช่นFreeBSD [ 3 ]และillumos [ 4 ]ในรูปแบบของโมดูลเคอร์เนลที่สามารถโหลดได้

KVM ได้รับการออกแบบ มาสำหรับ โปรเซสเซอร์ x86 ในตอนแรก แต่ต่อมาได้ถูกพอร์ตไปยัง z / Architecture [ 5 ] [ 6 ] PowerPC [ 5 ] IA-64 [ 5 ] และ ARM [ 7 ] [ 8 ] [ 9 ] พอร์ต IA-64 ถูกลบออกในปี2014 [ 10 ]

KVM รองรับการจำลองเสมือนด้วยฮาร์ดแวร์สำหรับระบบปฏิบัติการแขกหลากหลายประเภท รวมถึงBSD , Solaris , Windows , Haiku , ReactOS , Plan 9 , AROS , macOSและแม้แต่ระบบ Linux อื่นๆ[ 11 ] [ 12 ]นอกจากนี้ Android 2.2, GNU/Hurd [ 13 ] ( Debian K16), Minix 3.1.2a, Solaris 10 U3 และDarwin 8.0.1 พร้อมด้วยระบบปฏิบัติการอื่นๆ และบางเวอร์ชันที่ใหม่กว่าของระบบเหล่านี้ เป็นที่ทราบกันว่าสามารถใช้งานได้โดยมีข้อจำกัดบางประการ[ 11 ]

นอกจากนี้ KVM ยังให้การ สนับสนุน พาราเวอร์ชวลไลเซชันสำหรับ Linux, OpenBSD [ 14 ] FreeBSD [ 15 ] NetBSD [ 16 ] Plan 9 [ 17 ]และ Windows guest โดยใช้ VirtIO API [ 18 ] ซึ่งรวมถึงการ์ด อีเธอร์เน็ตแบบพาราเวอร์ ชวล ตัวควบคุม I/O ดิสก์[ 19 ]ไดรเวอร์บอลลูนและ อินเทอร์ เฟซกราฟิกVGA โดยใช้ ไดรเวอร์ SPICEหรือVMware

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

Avi Kivityเริ่มพัฒนา KVM ในช่วงกลางปี ​​2549 ที่Qumranet [ 20 ] ซึ่ง เป็น บริษัทสตาร์ทอัพด้านเทคโนโลยี[ 21 ]ที่ถูกRed Hat เข้าซื้อกิจการ ในปี 2551 [ 22 ]

KVM ปรากฏขึ้นในเดือนตุลาคม พ.ศ. 2549 [ 23 ]และถูกรวมเข้ากับเคอร์เนล Linux หลักในเวอร์ชัน 2.6.20 ซึ่งเผยแพร่เมื่อวันที่ 5 กุมภาพันธ์ พ.ศ. 2550 [ 1 ]

KVM ได้รับการดูแลโดย Paolo Bonzini [ 24 ]

ภายใน

ภาพรวมระดับสูงของสภาพแวดล้อมการจำลองเสมือน KVM/QEMU [ 25 ] : 3

KVM ให้การทำงานแบบแยกส่วนอุปกรณ์ แต่ไม่มีการจำลองโปรเซสเซอร์ มันเปิดเผย อินเทอร์เฟซ /dev/kvmซึ่งโฮสต์ในโหมดผู้ใช้สามารถใช้เพื่อ:

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

เดิมทีQEMU เวอร์ชันที่แยกออกมา นั้นมีไว้สำหรับเรียกใช้งานเครื่องเสมือนและจัดการกับการจำลองฮาร์ดแวร์ที่เคอร์เนลไม่รองรับ แต่ในที่สุดการสนับสนุนนั้นก็ถูกรวมเข้ากับโครงการหลัก ปัจจุบันมีโปรแกรมตรวจสอบเครื่องเสมือน (VMM) จำนวนมากที่สามารถใช้ประโยชน์จากอินเทอร์เฟซ KVM ได้ เช่น kvmtool, crosvm และFirecrackerรวมถึง VMM เฉพาะทางอีกมากมายที่สร้างขึ้นด้วยเฟรมเวิร์ก เช่น rust-vmm

ภายใน KVM ใช้SeaBIOSเป็นการใช้งานBIOS x86 แบบโอเพนซอร์ส [ 26 ]

คุณสมบัติ

KVM รองรับvCPU ที่สามารถเปลี่ยนได้ทันที [ 27 ]การจัดการหน่วยความจำแบบไดนามิก[ 28 ] และ Live Migration ตั้งแต่เดือนกุมภาพันธ์ พ.ศ. 2550 [ 29 ] [ 30 ] นอกจากนี้ยังช่วยลดผลกระทบของภาระงานที่ต้องใช้การเขียนหน่วยความจำจำนวนมากต่อกระบวนการย้ายข้อมูล[ 31 ]

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

KVM เองจำลองฮาร์ดแวร์เพียงเล็กน้อย แต่จะใช้แอปพลิเคชันไคลเอ็นต์ระดับสูงกว่า เช่นQEMU , crosvm หรือFirecrackerในการจำลองอุปกรณ์แทน

KVM มีอุปกรณ์จำลองดังต่อไปนี้:

  • CPUเสมือนและหน่วยความจำ[ 32 ]
  • เวอร์ติโอ

เครื่องมือการจัดการแบบกราฟิก

libvirtรองรับ KVM
  • Kimchi  – เครื่องมือจัดการเวอร์ชวลไลเซชันบนเว็บสำหรับ KVM
  • โปรแกรมจัดการเครื่องเสมือน (Virtual Machine Manager  ) – รองรับการสร้าง แก้ไข เริ่ม และหยุดเครื่องเสมือนที่ใช้ KVM รวมถึงการย้ายเครื่องเสมือนแบบลากและวางทั้งแบบสดและแบบเย็นระหว่างโฮสต์
  • Proxmox Virtual Environment  คือแพ็กเกจการจัดการเวอร์ชวลไลเซชันแบบโอเพนซอร์ส ซึ่งรวมถึง KVM และLXCมีตัวติดตั้งแบบ bare-metal, GUI สำหรับการจัดการระยะไกลผ่านเว็บ, สแต็กคลัสเตอร์ HA, พื้นที่จัดเก็บข้อมูลแบบรวมศูนย์, เครือข่ายที่ยืดหยุ่น และการสนับสนุนเชิงพาณิชย์เพิ่มเติม
  • OpenQRM  – แพลตฟอร์มการจัดการสำหรับบริหารจัดการโครงสร้างพื้นฐานศูนย์ข้อมูลที่หลากหลาย
  • GNOME Boxes  – อินเทอร์เฟซ Gnome สำหรับจัดการเครื่องเสมือน libvirt บน Linux
  • oVirt  – เครื่องมือจัดการเวอร์ชวลไลเซชันแบบโอเพนซอร์สสำหรับ KVM ที่สร้างขึ้นบนพื้นฐานของlibvirt

การออกใบอนุญาต

ส่วนประกอบโหมดเคอร์เนลของ KVM เป็นส่วนหนึ่งของเคอร์เนล Linuxซึ่งได้รับอนุญาตภายใต้GNU General Public License เวอร์ชัน 2 [ 33 ]

ดูเพิ่มเติม

บรรณานุกรม

  • อามิต ชาห์ (2 พฤศจิกายน 2016). "สิบปีของ KVM" . lwn.net . สืบค้นเมื่อ10 กุมภาพันธ์ 2017 .
  • แนวทางปฏิบัติที่ดีที่สุดสำหรับเครื่องเสมือนแบบใช้เคอร์เนล (Kernel-based Virtual Machine) เก็บถาวรเมื่อวันที่ 6 พฤศจิกายน 2019 ที่Wayback Machine IBM ฉบับที่สอง เมษายน 2012
  • การปรับปรุงประสิทธิภาพของ Virtio-blk , KVM Forum 2012, 8 พฤศจิกายน 2012, โดย Asias He
  • วิกิบุ๊ก QEMU และ KVM
  • crosvm - ตัวตรวจสอบเครื่องเสมือนสำหรับ Chrome OS
  • VMM ดอกไม้ไฟสำหรับ KVM
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Kernel-based_Virtual_Machine&oldid=1356559760 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ เครื่องเสมือนแบบเคอร์เนล

Kernel-based Virtual Machine ( KVM ) เป็น โมดูล การจำลองเสมือนแบบ โอเพนซอร์สและฟรี ใน เคอร์เนล Linux ที่ช่วยให้ เคอร์เนล ทำงานเป็น ไฮเปอร์ไวเซอร์ได้ มันถูกรวมเข้ากับ เคอร์เนล...

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

Avi Kivity เริ่มพัฒนา KVM ในช่วงกลางปี ​​2549 ที่ Qumranet [ 20 ] ซึ่ง เป็น บริษัทสตาร์ทอัพ ด้านเทคโนโลยี [ 21 ] ที่ถูก Red Hat เข้าซื้อกิจการ ในปี 2551 [ 22 ]

ภายใน

KVM ให้การทำงานแบบแยกส่วนอุปกรณ์ แต่ไม่มีการจำลองโปรเซสเซอร์ มันเปิดเผย อินเทอร์เฟซ /dev/kvm ซึ่งโฮสต์ในโหมดผู้ใช้สามารถใช้เพื่อ:

คุณสมบัติ

KVM รองรับ vCPU ที่สามารถเปลี่ยนได้ทันที [ 27 ] การจัดการหน่วยความจำแบบไดนามิก [ 28 ] และ Live Migration ตั้งแต่เดือนกุมภาพันธ์ พ.ศ.