在linux中,kvm全稱“Kernel-based Virtual Machine”,是一個開源的系統(tǒng)虛擬化模塊;KVM可幫助開發(fā)者將Linux轉(zhuǎn)變?yōu)樘摂M機監(jiān)控程序,使主機計算機能夠運行多個隔離的虛擬環(huán)境。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
linux kvm(基于內(nèi)核的虛擬機)
kvm是Kernel-based Virtual Machine,是一個開源的系統(tǒng)虛擬化模塊,是一種內(nèi)建于 Linux 中的開源虛擬化技術(shù),自Linux 2.6.20之后集成在Linux的各個主要發(fā)行版本中。
KVM 可幫助您將 Linux 轉(zhuǎn)變?yōu)樘摂M機監(jiān)控程序,使主機計算機能夠運行多個隔離的虛擬環(huán)境,即虛擬客戶機或虛擬機(VM)。
它使用Linux自身的調(diào)度器進行管理,所以相對于Xen,其核心源碼很少。KVM目前已成為學術(shù)界的主流VMM之一。
KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization,新版本則是基于硬件支持的完全虛擬化。但Xen本身有自己的進程調(diào)度器,存儲管理模塊等,所以代碼較為龐大。廣為流傳的商業(yè)系統(tǒng)虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization。
KVM 是如何運行的?
KVM 將 Linux 轉(zhuǎn)變?yōu)?1 類(裸機恢復)虛擬機監(jiān)控程序。所有虛擬機監(jiān)控程序都需要一些操作系統(tǒng)層面的組件才能運行虛擬機,如內(nèi)存管理器、進程調(diào)度程序、輸入/輸出(I/O)堆棧、設備驅(qū)動程序、安全管理器以及網(wǎng)絡堆棧等。由于 KVM 是 Linux 內(nèi)核的一部分,因此所有這些組件它都有。每個虛擬機都像普通的 Linux 進程一樣實施,由標準的 Linux 調(diào)度程序進行調(diào)度,并且使用專門的虛擬硬件,如網(wǎng)卡、圖形適配器、CPU、內(nèi)存和磁盤等。
安裝KVM的前提條件:
1、確定機器有VT
終端輸入命令: grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生產(chǎn)廠商則輸入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就說明支持VT;如果沒有任何的輸出,說明你的cpu不支持,將無法成功安裝KVM虛擬機。
2、確保BIOS里開啟VT
Intel(R) Virtualization Tech [Enabled]
如有必要,還需在BIOS中開啟VT-d
3、確保內(nèi)核版本較新,支持KVM
用uname -r查看內(nèi)核版本,如果在2.6.20以下的linux版本,需升級內(nèi)核。
總結(jié):
總的來說就是一個虛擬機軟件,可以在Linux下新建虛擬機;相對與VMware來說,Linux的KVM技術(shù)有原生內(nèi)核的支持,相對來說會比VMware快很多。如果你正在用桌面版的Ubuntu/CentOS,那么建議直接用KVM來安裝虛擬機,沒必要再加多一層VMware。