小編給大家分享一下qemu,kvm,qemu-kvm,xen,libvirt的區(qū)別有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為服務(wù)器托管等企業(yè)提供專業(yè)服務(wù)。
KVM是集成到Linux內(nèi)核的Hypervisor,是X86架構(gòu)且硬件支持虛擬化技術(shù)(Intel VT或AMD-V)的Linux的全虛擬化解決方案。它是Linux的一個(gè)很小的模塊,利用Linux做大量的事,如任務(wù)調(diào)度、內(nèi)存管理與硬件設(shè)備交互等。
從存在形式看,KVM是兩個(gè)內(nèi)核模塊kvm.ko和kvm_intel.ko(對AMD處理器來說,就是kvm_amd.ko),這兩個(gè)模塊用來實(shí)現(xiàn)CPU的虛擬化。 如果要讓用戶在KVM上完成一個(gè)虛擬機(jī)相關(guān)的操作,顯然需要用戶空間的東西,同時(shí)還包括IO虛擬化,所以KVM的解決方案借鑒了QEMU的東西并做了一定的修改,形成了自己的KVM虛擬機(jī)工具集和IO虛擬化的支持,也就是所謂的qemu-kvm.(KVM is a fork of QEMU, namely qemu-kvm)
Xen是第一類運(yùn)行再裸機(jī)上的虛擬化管理程序(Hypervisor)。它支持全虛擬化和半虛擬化,Xen支持hypervisor和虛擬機(jī)互相通訊,而且提供在所有Linux版本上的免費(fèi)產(chǎn)品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的優(yōu)勢在于半虛擬化,此外未經(jīng)修改的操作系統(tǒng)也可以直接在xen上運(yùn)行(如Windows),能讓虛擬機(jī)有效運(yùn)行而不需要仿真,因此虛擬機(jī)能感知到hypervisor,而不需要模擬虛擬硬件,從而能實(shí)現(xiàn)高性能。 QEMU is used by Xen.
QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件。它與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平臺的特性,qemu可以虛擬出不同架構(gòu)的虛擬機(jī),如在x86平臺上可以虛擬出power機(jī)器。kqemu為qemu的加速器,經(jīng)由kqemu這個(gè)開源的加速器,QEMU能模擬至接近真實(shí)電腦的速度。
QEMU本身可以不依賴于KVM,但是如果有 KVM的存在并且硬件(處理器)支持比如Intel VT功能,那么QEMU在對處理器虛擬化這一塊可以利用KVM提供的功能來提升性能。
KVM和QEMU的關(guān)系
準(zhǔn)確來說,KVM是Linux kernel的一個(gè)模塊。可以用命令modprobe去加載KVM模塊。加載了模塊后,才能進(jìn)一步通過其他工具創(chuàng)建虛擬機(jī)。但僅有KVM模塊是 遠(yuǎn)遠(yuǎn)不夠的,因?yàn)橛脩魺o法直接控制內(nèi)核模塊去作事情,你還必須有一個(gè)運(yùn)行在用戶空間的工具才行。這個(gè)用戶空間的工具,kvm開發(fā)者選擇了已經(jīng)成型的開源虛擬化軟件 QEMU。說起來QEMU也是一個(gè)虛擬化軟件。它的特點(diǎn)是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個(gè)Power的CPU,并可利用 它編譯出可運(yùn)行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。所以你會看到,官方提供的KVM 下載有兩大部分(qemu和kvm)三個(gè)文件(KVM模塊、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模塊,也可以只升級QEMU工 具。這就是KVM和QEMU 的關(guān)系。
QEMU是個(gè)獨(dú)立的虛擬化解決方案,從這個(gè)角度它并不依賴KVM。 而KVM是另一套虛擬化解決方案,不過因?yàn)檫@個(gè)方案實(shí)際上只實(shí)現(xiàn)了內(nèi)核中對處理器(Intel VT, AMD SVM)虛擬化特性的支持,換言之,它缺乏設(shè)備虛擬化以及相應(yīng)的用戶空間管理虛擬機(jī)的工具,所以它借用了QEMU的代碼并加以精簡,連同KVM一起構(gòu)成了另一個(gè)獨(dú)立的虛擬化解決方案,不妨稱之為:KVM+QEMU.
KVM用戶空間虛擬機(jī)管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,實(shí)際上kvm就是一個(gè)指向qemu-system-x86_64的符號鏈接,kvm-img則是指向qemu-img的符號鏈接。從適用的范圍來講, QEMU虛擬化方案除了支持x86架構(gòu)外,還支持其他很多架構(gòu),比如qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64, qemu-system-arm等等。但是目前提到KVM,一般指x86上基于Intel VT和AMD SVM的解決方案,雖然目前將KVM移植到ARM, PPC的工作正在進(jìn)行中。
當(dāng)然由于redhat已經(jīng)開始支持KVM,它認(rèn)為KVM+QEMU'的方案中用戶空間虛擬機(jī)管理工具不太好使,或者通用性不強(qiáng),所以redhat想了一個(gè)libvirt出來,一個(gè)用來管理虛擬機(jī)的API庫,不只針對KVM,也可以管理Xen等方案下的虛擬機(jī)。
kvm-qemu可執(zhí)行程序像普通Qemu一樣:分配RAM,加載代碼,不同于重新編譯或者調(diào)用callingKQemu,它創(chuàng)建了一個(gè)線程(這個(gè)很重要);這個(gè)線程調(diào)用KVM內(nèi)核模塊去切換到用戶模式,并且去執(zhí)行VM代碼。當(dāng)遇到一個(gè)特權(quán)指令,它從新切換會KVM內(nèi)核模塊,該內(nèi)核模塊在需要的時(shí)候,像Qemu線程發(fā)信號去處理大部分的硬件仿真。
這個(gè)體系結(jié)構(gòu)一個(gè)比較巧妙的一個(gè)地方就是客戶代碼被模擬在一個(gè)posix線程,這允許你使用通常Linux工具管理。如果你需要一個(gè)有2或者4核的虛擬機(jī),kvm-qemu創(chuàng)建2或者4個(gè)線程,每個(gè)線程調(diào)用KVM內(nèi)核模塊并開始執(zhí)行。并發(fā)性(若果你有足夠多的真實(shí)核)或者調(diào)度(如果你不管)是被通用的Linux調(diào)度器,這個(gè)使得KVM代碼量十分的小。
當(dāng)一起工作的時(shí)候,KVM管理CPU和MEM的訪問,QEMU仿真硬件資源(硬盤,聲卡,USB,等等)當(dāng)QEMU單獨(dú)運(yùn)行時(shí),QEMU同時(shí)模擬CPU和硬件。
看完了這篇文章,相信你對“qemu,kvm,qemu-kvm,xen,libvirt的區(qū)別有哪些”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:qemu,kvm,qemu-kvm,xen,libvirt的區(qū)別有哪些
文章來源:http://aaarwkj.com/article12/pjcegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、服務(wù)器托管、營銷型網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)