基于內(nèi)核的虛擬機(jī)(Kernel-based Virtual Machine芜茵,縮寫為KVM)疟赊,是一種用于Linux內(nèi)核中的虛擬化基礎(chǔ)設(shè)施娃圆,可以將Linux內(nèi)核轉(zhuǎn)化為一個虛擬機(jī)監(jiān)視器(Hypervisor)迄埃。
是一種運(yùn)行于Intel VT或AMD-V硬件上的全虛擬化解決方案。
關(guān)于KVM
- 開源軟件瓣赂。
- 是x86架構(gòu)且硬件支持虛擬化技術(shù)(如Intel VT或AMD-V)的Linux全虛擬化解決方案榆骚。
- 它包含一個為處理器提供底層虛擬化,可加載的核心模塊kvm.ko煌集。
- KVM還需要一個經(jīng)過修改的QEMU軟件(qemu-kvm)妓肢,作為虛擬機(jī)上層控制和界面。
- KVM能在不改變linux或windows鏡像的情況下同時(shí)運(yùn)行多個虛擬機(jī)苫纤,(它的意思是多個虛擬機(jī)使用同一鏡像)并為每一個虛擬機(jī)配置個性化硬件環(huán)境(網(wǎng)卡碉钠、磁盤、圖形適配器……)同時(shí)KVM還能夠使用ksm技術(shù)幫助宿主服務(wù)器節(jié)約內(nèi)存方面。
- 在主流的Linux內(nèi)核放钦,如2.6.20以上的內(nèi)核均已包含KVM核心。
KVM 將 Linux 轉(zhuǎn)變?yōu)?1 類(裸機(jī)恢復(fù))虛擬機(jī)監(jiān)控程序恭金。所有虛擬機(jī)監(jiān)控程序都需要一些操作系統(tǒng)層面的組件才能運(yùn)行虛擬機(jī)操禀,如內(nèi)存管理器、進(jìn)程調(diào)度程序横腿、輸入/輸出 (I/O) 堆棧颓屑、設(shè)備驅(qū)動程序、安全管理器以及網(wǎng)絡(luò)堆棧等耿焊。KVM 具有所有這些組件揪惦,因?yàn)樗?Linux 內(nèi)核的組成部分。每個虛擬機(jī)都像一般的 Linux 進(jìn)程一樣實(shí)施罗侯,由標(biāo)準(zhǔn)的 Linux 調(diào)度程序進(jìn)行調(diào)度器腋,并且使用專門的虛擬硬件,如網(wǎng)卡钩杰、圖形適配器纫塌、CPU、內(nèi)存和磁盤等讲弄。
KVM和Docker的區(qū)別
Docker和KVM是完全不同的兩種東西措左。
KVM的虛擬化虛擬的是整個硬件和操作系統(tǒng)層(包含內(nèi)存管理器、進(jìn)程調(diào)度程序避除、輸入/輸出 (I/O) 堆棧怎披、設(shè)備驅(qū)動程序、安全管理器以及網(wǎng)絡(luò)堆棧等瓶摆。)
Docker是一個虛擬化進(jìn)程凉逛,內(nèi)核級的虛擬化。
OpenStack和KVM之間的關(guān)系
OpenStack是云管理平臺群井,其本身并不提供虛擬化功能状飞,真正的虛擬化能力是由底層的hypervisor(如KVM、Qemu、Xen等)提供昔瞧。
OpenStack默認(rèn)使用的虛擬化技術(shù)是KVM指蚁。
2018.05.03
參考
1.基于內(nèi)核的虛擬機(jī);
2.OpenStack和KVM之間的關(guān)系自晰;
3.Is KVM better than Docker?
4.what is KVM