中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

qemu,kvm,qemu-kvm,xen,libvirt的區別有哪些

發布時間:2021-12-17 11:40:45 來源:億速云 閱讀:394 作者:小新 欄目:云計算

小編給大家分享一下qemu,kvm,qemu-kvm,xen,libvirt的區別有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

KVM:(Kernel-based Virtual Machine)基于內核的虛擬機

KVM是集成到Linux內核的Hypervisor,是X86架構且硬件支持虛擬化技術(Intel VT或AMD-V)的Linux的全虛擬化解決方案。它是Linux的一個很小的模塊,利用Linux做大量的事,如任務調度、內存管理與硬件設備交互等。

從存在形式看,KVM是兩個內核模塊kvm.ko和kvm_intel.ko(對AMD處理器來說,就是kvm_amd.ko),這兩個模塊用來實現CPU的虛擬化。 如果要讓用戶在KVM上完成一個虛擬機相關的操作,顯然需要用戶空間的東西,同時還包括IO虛擬化,所以KVM的解決方案借鑒了QEMU的東西并做了一定的修改,形成了自己的KVM虛擬機工具集和IO虛擬化的支持,也就是所謂的qemu-kvm.(KVM is a fork of QEMU, namely qemu-kvm)

Xen

Xen是第一類運行再裸機上的虛擬化管理程序(Hypervisor)。它支持全虛擬化和半虛擬化,Xen支持hypervisor和虛擬機互相通訊,而且提供在所有Linux版本上的免費產品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的優勢在于半虛擬化,此外未經修改的操作系統也可以直接在xen上運行(如Windows),能讓虛擬機有效運行而不需要仿真,因此虛擬機能感知到hypervisor,而不需要模擬虛擬硬件,從而能實現高性能。 QEMU is used by Xen.

QEMU

QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件。它與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平臺的特性,qemu可以虛擬出不同架構的虛擬機,如在x86平臺上可以虛擬出power機器。kqemu為qemu的加速器,經由kqemu這個開源的加速器,QEMU能模擬至接近真實電腦的速度。

QEMU本身可以不依賴于KVM,但是如果有 KVM的存在并且硬件(處理器)支持比如Intel VT功能,那么QEMU在對處理器虛擬化這一塊可以利用KVM提供的功能來提升性能。

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 的關系。

QEMU是個獨立的虛擬化解決方案,從這個角度它并不依賴KVM。 而KVM是另一套虛擬化解決方案,不過因為這個方案實際上只實現了內核中對處理器(Intel VT, AMD SVM)虛擬化特性的支持,換言之,它缺乏設備虛擬化以及相應的用戶空間管理虛擬機的工具,所以它借用了QEMU的代碼并加以精簡,連同KVM一起構成了另一個獨立的虛擬化解決方案,不妨稱之為:KVM+QEMU. 

KVM用戶空間虛擬機管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,實際上kvm就是一個指向qemu-system-x86_64的符號鏈接,kvm-img則是指向qemu-img的符號鏈接。從適用的范圍來講, QEMU虛擬化方案除了支持x86架構外,還支持其他很多架構,比如qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64, qemu-system-arm等等。但是目前提到KVM,一般指x86上基于Intel VT和AMD SVM的解決方案,雖然目前將KVM移植到ARM, PPC的工作正在進行中。


當然由于redhat已經開始支持KVM,它認為KVM+QEMU'的方案中用戶空間虛擬機管理工具不太好使,或者通用性不強,所以redhat想了一個libvirt出來,一個用來管理虛擬機的API庫,不只針對KVM,也可以管理Xen等方案下的虛擬機。

kvm-qemu可執行程序像普通Qemu一樣:分配RAM,加載代碼,不同于重新編譯或者調用callingKQemu,它創建了一個線程(這個很重要);這個線程調用KVM內核模塊去切換到用戶模式,并且去執行VM代碼。當遇到一個特權指令,它從新切換會KVM內核模塊,該內核模塊在需要的時候,像Qemu線程發信號去處理大部分的硬件仿真。

這個體系結構一個比較巧妙的一個地方就是客戶代碼被模擬在一個posix線程,這允許你使用通常Linux工具管理。如果你需要一個有2或者4核的虛擬機,kvm-qemu創建2或者4個線程,每個線程調用KVM內核模塊并開始執行。并發性(若果你有足夠多的真實核)或者調度(如果你不管)是被通用的Linux調度器,這個使得KVM代碼量十分的小。
當一起工作的時候,KVM管理CPU和MEM的訪問,QEMU仿真硬件資源(硬盤,聲卡,USB,等等)當QEMU單獨運行時,QEMU同時模擬CPU和硬件。

看完了這篇文章,相信你對“qemu,kvm,qemu-kvm,xen,libvirt的區別有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

察隅县| 潞西市| 江山市| 揭西县| 吉隆县| 曲靖市| 新竹市| 江川县| 瑞金市| 玉龙| 弋阳县| 平江县| 苏州市| 赫章县| 梅州市| 濮阳市| 陆川县| 环江| 乐清市| 镇巴县| 望奎县| 屯留县| 赣州市| 湖南省| 乌海市| 于都县| 金堂县| 金沙县| 淅川县| 天全县| 揭阳市| 澄城县| 广南县| 赫章县| 枝江市| 穆棱市| 专栏| 文昌市| 长乐市| 陵川县| 建始县|