KVM คืออะไร?

What Is Kvm



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

ประโยชน์ของการจำลองเสมือน

ในอดีต ความเป็นเนื้อเดียวกันเป็นวิธีปฏิบัติในศูนย์ข้อมูล สถานพัฒนา และที่บ้าน ในทางปฏิบัติ ทุกเครื่องจะใช้ระบบปฏิบัติการรุ่นเดียวกัน ไม่ว่าจะเป็น Linux, Windows หรือ FreeBSD เวลามีการเปลี่ยนแปลง







วันนี้ เราคาดหวังว่า OS ต่างๆ เช่น Linux และ Windows และ OS เวอร์ชันต่างๆ (เช่น Windows XP และ 10) จะทำงานร่วมกันในสภาพแวดล้อมคอมพิวเตอร์เครื่องเดียวกัน หากไม่มีเครื่องเสมือน จะต้องปรับใช้และบำรุงรักษาเครื่องจริงหลายเครื่อง เพื่อเรียกใช้แอปพลิเคชันบนแพลตฟอร์มปฏิบัติการหลายแพลตฟอร์ม การจำลองเสมือนให้พลังแก่การทำงานของเครื่องเสมือนหลายเครื่อง ซึ่งแต่ละเครื่องอาจมีระบบปฏิบัติการที่แตกต่างกัน บนเครื่องจริงเครื่องเดียว



ข้อดีของเครื่องเสมือนเหนือเครื่องจริง ได้แก่ :



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

แนะนำ KVM

เครื่องเสมือนที่ใช้เคอร์เนลหรือ KVM กล่าวโดยสรุปคือเป็นโซลูชันไฮเปอร์ไวเซอร์แบบโอเพ่นซอร์สฟรี มันแข่งขันในอุตสาหกรรมที่เติบโตเต็มที่ด้วยทางเลือกโอเพนซอร์ซเช่น Xen , VirtualBox , เช่นเดียวกับผลิตภัณฑ์ที่เป็นกรรมสิทธิ์เช่น VMware vSphere , Citrix XenServer , Microsoft Hyper-V .





ก่อนปี 2548 โซลูชันไฮเปอร์ไวเซอร์ในขณะนั้น เช่น Xen และ VirtualBox ล้วนใช้ซอฟต์แวร์เป็นหลัก สถาปัตยกรรม x86 ไม่ได้จัดเตรียมไว้เพื่อรองรับการจำลองเสมือน ในปี 2548 การเปิดตัวชุดคำสั่งส่วนขยาย Intel VT และ AMD-V ได้เปลี่ยนแนวการจำลองเสมือนอย่างถาวร KVM เปิดตัวเวอร์ชันแรกในปี 2549 และเป็นหนึ่งในไฮเปอร์ไวเซอร์รายแรกๆ ที่ใช้ประโยชน์จากการจัดหาฮาร์ดแวร์ใหม่เพื่อเพิ่มประสิทธิภาพการทำงานเสมือน

คุณสามารถติดตั้ง KVM บนคอมพิวเตอร์ x86 แบบ 32 บิตหรือ 64 บิต 'เครื่องโฮสต์' ในศัพท์แสงไฮเปอร์ไวเซอร์ที่รองรับส่วนขยาย Intel VT หรือ AMD-V ทุกวันนี้ ไฮเปอร์ไวเซอร์สมัยใหม่มักจะรองรับการจำลองเสมือนแบบไฮบริด: ใช้ฮาร์ดแวร์ช่วยเมื่อเป็นไปได้ และเฟลโอเวอร์ไปยังซอฟต์แวร์เท่านั้นสำหรับชิปเซ็ตรุ่นเก่า



KVM ถูกจัดประเภทเป็นไฮเปอร์ไวเซอร์ประเภท 2 ซึ่งหมายความว่าจะทำงานภายในระบบปฏิบัติการโฮสต์ ตามชื่อของมัน KVM นั้นใช้เคอร์เนลและเพื่อให้แม่นยำยิ่งขึ้นก็คือเคอร์เนลของ Linux ดังนั้นจึงไม่น่าแปลกใจที่ KVM รองรับเฉพาะ Linux เป็นระบบปฏิบัติการโฮสต์ (ต่อมา KVM ถูกย้ายไปยัง FreeBSD) หากคุณต้องการไฮเปอร์ไวเซอร์ประเภท 2 แบบโอเพนซอร์สหลายแพลตฟอร์ม VirtualBox เป็นตัวเลือกที่ดี VirtualBox สามารถทำงานบน Windows, Linux, Mac OS X และ Solaris

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

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

  • ลีนุกซ์รุ่นต่างๆ เช่น Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD เช่น OpenBSD, FreeBSD, NetBSD
  • Solaris
  • Windows

KVM สามารถเรียกใช้อิมเมจ OS ของผู้เยี่ยมชมที่ไม่ได้แก้ไข คุณลักษณะนี้เรียกว่า virtualization เต็มรูปแบบ ซึ่งต่างจาก Para-virtualization ที่ guest OS ถูกแก้ไขเพื่อการจัดการพิเศษของการดำเนินการที่ยากต่อการทำงานบนเครื่องเสมือนมากกว่าบนเครื่องโฮสต์


KVM ทำงานอย่างไร

KVM ประกอบด้วย 2 องค์ประกอบของเทคโนโลยี: เคอร์เนลและพื้นที่ผู้ใช้ คอมโพเนนต์เคอร์เนลประกอบด้วยโมดูลเคอร์เนลที่โหลดได้ 2 โมดูล: kvm.ko และ kvm-intel.ko หรือ kvm-amd.ko โมดูล kvm.ko มีการประมวลผลเวอร์ชวลไลเซชันหลักที่ไม่ขึ้นกับสถาปัตยกรรมหลัก โมดูล kvm-intel.ko และ kvm-amd.ko สอดคล้องกับโมดูลเฉพาะโปรเซสเซอร์ของ Intel และ AMD โมดูลเหล่านี้ถูกรวมเข้ากับเคอร์เนล Linux ณ เคอร์เนลเวอร์ชัน 2.6.20

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

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


สรุป & บทสรุป

KVM เป็นโซลูชันโอเพนซอร์ซที่ยอดเยี่ยมสำหรับการจำลองเสมือนเต็มรูปแบบบนแพลตฟอร์มโฮสต์ Linux หลังจาก 10+ ปีของการพัฒนาอย่างแข็งขัน KVM ได้กลายเป็นเครื่องมือการจำลองเสมือนระดับเครื่องมาตรฐานอย่างแท้จริงในลีนุกซ์รุ่นต่างๆ