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