㈠ 虛擬化技術KVM和XEN的區別
虛擬化類型
全虛擬化(Full Virtualization)
全虛擬化也成為原始虛擬化技術,該模型使用虛擬機協調guest操作系統和原始硬體,VMM在guest操作系統和裸硬體之間用於工作協調,一些受保護指令必須由Hypervisor(虛擬機管理程序)來捕獲處理。
圖1 全虛擬化模型
全虛擬化的運行速度要快於硬體模擬,但是性能方面不如裸機,因為Hypervisor需要佔用一些資源
半虛擬化(Para Virtualization)
半虛擬化是另一種類似於全虛擬化的技術,它使用Hypervisor分享存取底層的硬體,但是它的guest操作系統集成了虛擬化方面的代碼。該方法無需重新編譯或引起陷阱,因為操作系統自身能夠與虛擬進程進行很好的協作。
圖2 半虛擬化模型
半虛擬化需要guest操作系統做一些修改,使guest操作系統意識到自己是處於虛擬化環境的,但是半虛擬化提供了與原操作系統相近的性能。
虛擬化技術
KVM(Kernel-based Virtual Machine)基於內核的虛擬機
KVM是集成到linux內核的Hypervisor,是X86架構且硬體支持虛擬化技術(Intel VT或AMD-V)的Linux的全虛擬化解決方案。它是Linux的一個很小的模塊,利用Linux做大量的事,如任務調度、內存管理與硬體設備交互等。
圖3 KVM虛擬化平台架構
Xen
Xen是第一類運行再裸機上的虛擬化管理程序(Hypervisor)。它支持全虛擬化和半虛擬化,Xen支持hypervisor和虛擬機互相通
訊,而且提供在所有Linux版本上的免費產品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise
Server。Xen最重要的優勢在於半虛擬化,此外未經修改的操作系統也可以直接在xen上運行(如Windows),能讓虛擬機有效運行而不需要仿
真,因此虛擬機能感知到hypervisor,而不需要模擬虛擬硬體,從而能實現高性能。
圖4 Xen虛擬化平台架構
QEMU
QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟體。它與Bochs,PearPC近似,但其具有某些後兩者所不具備的特性,如高速度及跨平台的特性。經由kqemu這個開源的加速器,QEMU能模擬至接近真實電腦的速度。
KVM和QEMU的關系
准確來說,KVM是Linux
kernel的一個模塊。可以用命令modprobe去載入KVM模塊。載入了模塊後,才能進一步通過其他工具創建虛擬機。但僅有KVM模塊是
遠遠不夠的,因為用戶無法直接控制內核模塊去作事情,你還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,kvm開發者選擇了已經成型的開源虛
擬化軟體
QEMU。說起來QEMU也是一個虛擬化軟體。它的特點是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個Power的CPU,並可利用它編譯出
可運行在Power上的程序。KVM使用了QEMU的一部分,並稍加改造,就成了可控制KVM的用戶空間工具了。所以你會看到,官方提供的KVM下載有兩
大部分(qemu和kvm)三個文件(KVM模塊、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模塊,也可以只升級QEMU工具。這就是
KVM和QEMU 的關系。
圖5 KVM和QEMU關系
㈡ linux虛擬化 編譯安裝qemu-kvm的時候出現gcc內部錯誤
基於64位的操作系統在虛擬機下是不行的,即使成功的安裝完成也不能做到真正的虛擬化,因為虛擬機的環境下不允許做。
㈢ KVM命令行安裝時--os-variant 參數怎麼寫才對
兩個方法:
復制環境:找一台類似的機器,將你的目前機器上的lamp
memcache
python
svn的所有文件,使用rsync的方式,直接同步到新的機器上,再在新機器上進行安裝測試;
直接編譯或安裝:不知道你是不是使用的php-fpm,如果是得話,那就更簡單了,將5.3.10編譯到某個指定目錄,再啟一個apache的旦閥測合爻骨詫攤超揩虛擬機主,然後直接使用新的5.3.10的php-fpm,這樣測試就不沖突了;
㈣ KVM、QEMU和KQemu有什麼區別
1、KVM是一套虛擬機管理系統,包括內核虛擬構架和處理器相關模塊,其借用了 QEMU其它一些組件,KVM的非內核部分是由QEMU實現的;載入了模塊後,才能進一步通過其他工具創建虛擬機。
2、QEMU是另外的一套虛擬機管理系統,Kqemu是QEMU的加速器,可以認為是QEMU的一個插件;QEMU可以虛擬出不同架構的虛擬機,如在x86平台上可以虛擬出power機器。
3、KVM負責cpu虛擬化+內存虛擬化,實現了cpu和內存的虛擬化,但KVM不能模擬其他設備。QEMU是模擬IO設備(網卡,磁碟),KVM加上QEMU之後就能實現真正意義上伺服器虛擬化。因為用到了上面兩個東西,所以一般都稱之為QEMU-KVM。
(4)編譯kvm擴展閱讀:
1、KVM 技術已經從最初的基礎SOHO辦公型,發展成為企業 IT 基礎機房設施管理系統。可以從kvm 客戶端管理軟體輕松的直接訪問位於多個遠程位置的伺服器和設備。
2、QEMU在GNU/Linux平台上使用廣泛。具有高速度及跨平台的特性,通過KQEMU這個閉源的加速器,QEMU能模擬至接近真實電腦的速度。
3、KQEMU現可運行在基於x86或x86_64的Linux2.4或Linux 2.6主機上。
㈤ kvm和qemu的關系 kvm為什麼沒有做io虛擬化 半虛擬化和全虛擬化的區別 kvm是否在內
不同的基於KVM的虛擬化平台,可能會採用不同的虛擬化組件,目前主流的採用QEMU-KVM組件,但在不同的產品里版本有所不同,功能也有差異,下面就幾個概念進行梳理下
KVM:Kernel-Based Virtual Machine 基於內核的虛擬機,是Linux內核的一個可載入模塊,通過調用Linux本身內核功能,實現對CPU的底層虛擬化和內存的虛擬化,使Linux內核成為虛擬化層,需要x86架構的,支持虛擬化功能的硬體支持(比如Intel VT,AMD-V),是一種全虛擬化架構。KVM在2007年年2月被導入Linux 2.6.20內核中。從存在形式來看,它包括兩個內核模塊:kvm.ko 和 kvm_intel.ko(或kvm_amd.ko),本質上,KVM是管理虛擬硬體設備的驅動,該驅動使用字元設備/dev/kvm(由KVM本身創建)作為管理介面,主要負責vCPU的創建,虛擬內存的分配,vCPU寄存器的讀寫以及vCPU的運行。
QEMU:是一套由Fabrice Bellard編寫的模擬處理器的自由軟體,它是一個完整的可以單獨運行的軟體,可以獨立模擬出整台計算機,包括CPU,內存,IO設備,通過一個特殊的「重編譯器」對特定的處理器的二進制代碼進行翻譯,從而具有了跨平台的通用性。QEMU有兩種工作模式:系統模式,可以模擬出整個電腦系統,另一種是用戶模式,可以運行不同與當前硬體平台的其他平台上的程序(比如在x86平台上運行跑在ARM平台上的程序);其代碼地址 http://git.qemu.org/qemu.git ,有興趣的同學可以自己去看看,目前最新的版本是2.7.0,在0.9.1及之前版本還可以使用kqemu加速器(可以理解為QEMU的一個插件,用來提高QEMU的翻譯性能,支持Windows平台),但1.0以後版本就只能使用qemu-kvm(只支持Linux)進行加速了,1.3版本後QEMU和QEMU-KVM合二為一了。
QEMU-KVM:從前面對KVM內核模塊的介紹知道,它只負責CPU和內存的虛擬化,載入了它以後,用戶就可以進一步通過工具創建虛擬機(KVM提供介面),但僅有KVM還是不夠的,用戶無法直接控制內核去做事情(KVM只提供介面,怎麼創建虛擬機,分配vCPU等並不在它上面進行),還必須有個運行在用戶空間的工具才行,KVM的開發者選擇了比較成熟的開源虛擬化軟體QEMU來作為這個工具,並對其進行了修改,最後形成了QEMU-KVM。
在QEMU-KVM中,KVM運行在內核空間,QEMU運行在用戶空間,實際模擬創建,管理各種虛擬硬體,QEMU將KVM整合了進來,通過/ioctl 調用 /dev/kvm,從而將CPU指令的部分交給內核模塊來做,KVM實現了CPU和內存的虛擬化,但kvm不能虛擬其他硬體設備,因此qemu還有模擬IO設備(磁碟,網卡,顯卡等)的作用,KVM加上QEMU後就是完整意義上的伺服器虛擬化
當然,由於qemu模擬io設備效率不高的原因,現在常常採用半虛擬化的virtio方式來虛擬IO設備,另文再談
綜上所述,QEMU-KVM具有兩大作用:
1.提供對cpu,內存(KVM負責),IO設備(QEMU負責)的虛擬
2.對各種虛擬設備的創建,調用進行管理(QEMU負責)
libvirt
順帶提一提libvirt,這是RedHat開始支持KVM後,大概是覺得QEMU+KVM方案中的用戶空間虛擬機管理工具不太好用或者通用性不強,所以乾脆搞了個libvirt出來,一個針對各種虛擬化平台的虛擬機管理的API庫,一些常用的虛擬機管理工具如virsh(類似vim編輯器),virt-install,virt-manager等和雲計算框架平台(如OpenStack,OpenNebula,Eucalyptus等)都在底層使用libvirt提供的應用程序介面。
libvirt主要由三個部分組成:API庫,一個守護進程 libvirtd 和一個默認命令行管理工具 virsh。
總結:
目前來說,QEMU是一個獨立的虛擬化解決方案,並不依賴KVM(它本身自己可以做CPU和內存的模擬,只不過效率較低),而KVM是另一套虛擬化解決方案,對CPU進行虛擬效率較高(採用了硬體輔助虛擬化),但本身不提供其他設備的虛擬化,借用了QEMU的代碼進行了定製,所以KVM方案一定要依賴QEMU
即使後來RedHat後來開發了libvirt,也只能簡單的認為是個虛擬機管理工具,仍然需要通過用戶空間QEMU來與KVM進行交互
㈥ 手機刷 kvm 硬體虛擬化
"您好,官網沒有提供刷機軟體。由於刷機存在風險,如因自行刷機後導致的手機問題,還有可能會影響包修,因此我們不建議您自行刷機。
若手機因系統故障無法正常使用或自行刷機後導致手機出現問題,建議您將機器送到售後服務中心,由工程師幫助檢查處理。"
㈦ 我卸載了kvm,可是編譯內核產生的mole還是有kvm
編譯內核產生kvm模塊跟config有關,如果你卸載kvm後沒有重新進行config的話,編譯出來的東西與先前是一樣的,先前有kvm此時照樣有kvm。
卸載後,如果通過make localmodconfig進行配置的話應該就沒有kvm模塊的。
可以在linux源文件目錄下的.config中查看KVM相關的模塊配置。
㈧ 虛擬化技術中KVM,Xen,Qemu的區別和聯系
虛擬化類型
全虛擬化(Full Virtualization)
全虛擬化也成為原始虛擬化技術,該模型使用虛擬機協調guest操作系統和原始硬體,VMM在guest操作系統和裸硬體之間用於工作協調,一些受保護指令必須由Hypervisor(虛擬機管理程序)來捕獲處理。
圖5 KVM和QEMU關系
㈨ 各位大神,我用kvm創建了一個windows2012的qcow2鏡像,上傳到openstack雲環境後,
一、思路就4步:1、創建鏡像文件
2、用nova-compute自帶的kvm,啟動.iso文件,用vncviewer完成OS的安裝過程
3、OS安裝完畢,停止虛擬機,kvm重啟鏡像,安裝必要的軟體
4、後續:上傳鏡像到雲中
二、鏡像製作指導
很多源都有為OpenStack已經編譯好的各種鏡像了,您可以直接下載並通過使用這些鏡像來熟悉OpenStack。
不過如果是為生產環境進行部署的話,您一定需要構建含有定製軟體或配置的鏡像文件。本章將引領您完成幾種較為流行的Linux發行版鏡像,最後也將製作一份Windows的鏡像。
由不同的Linux發行版製作鏡像時,過程幾乎一樣,僅有微小的差別而已。由於含有cloud-ini軟體包,人們用Ubuntu系統製作鏡像文件變得非常容易。Cloud-init軟體在實例運行時能夠自動維護實例配置,也將為無密碼登陸完成密匙導入以及完成設置主機名等任務。每個實例都將通過169.254.169.254的元數據介面,從nova運算中讀取特定的配置。
如果您製作發行版不含有諸如cloud-init此類的軟體包,您就需要自行完成密匙導入等操作了。說來也簡單,只需向rc.local文件中添加相關命令即可。
㈩ 開源的虛擬化軟體KVM和Xen比較,哪個更有前途呢
只能說是各有所長,以下供大家參考:
Xen與KVM的比較
虛擬化技術已經成為未來計算機技術的一個重要的發展方向。linux在虛擬化方面已經有了很多中解決方案VMware、VirtualBox、en和KVM。
KVM是一個全虛擬化的解決方案。可以在x86架構的計算機上實現虛擬化功能。但KVM需要CPU中虛擬化功能的支持,只可在具有虛擬化支持的CPU上運行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
Xen也是Linux下的一個虛擬化解決方案,也將很快被編入內核中。Xen的實現方法是,運行支持Xen功能的kernel,這個kernel是工作在Xen的控制之下,叫做Domain0,使用這個kernel啟動機器後,你可以在這個機器上使用qemu軟體,虛擬出多個系統。Xen的缺點是,如果你需要更新Xen的版本,你需要重新編譯整個內核,而且,稍有設置不慎,系統就無法啟動。
相比較,KVM就簡化的多了。它不需要重新編譯內核,也不需要對當前kernel做任何修改,它只是幾個可以動態載入的.ko模塊。它結構更加精簡、代碼量更小,所以,出錯的可能性更小。並且在某些方面,性能比Xen更勝一籌。