溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

KVM虛擬化是什么

發(fā)布時(shí)間:2021-09-14 09:51:51 來(lái)源:億速云 閱讀:376 作者:chen 欄目:云計(jì)算

這篇文章主要介紹“KVM虛擬化是什么”,在日常操作中,相信很多人在KVM虛擬化是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”KVM虛擬化是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

KVM虛擬化簡(jiǎn)介

1、虛擬化分為:全虛擬化和半虛擬化,需要CPU的支持。

2、全虛擬化:不需要做任何配置,讓用戶覺(jué)得就是一臺(tái)真實(shí)的服務(wù)器

3、半虛擬機(jī)化:需要用戶配置,有點(diǎn)麻煩。

4、KVM 僅僅是 Linux 內(nèi)核的一個(gè)模塊。管理和創(chuàng)建完整的 KVM 虛擬機(jī),需要更多的輔助工具。

5、與Xen相比較,KVM就簡(jiǎn)化的多了。它不需要重新編譯內(nèi)核,也不需要對(duì)當(dāng)前kernel做任何修改,它只是幾個(gè)可以動(dòng)態(tài)加載的.ko模塊。它結(jié)構(gòu)更加精簡(jiǎn)、代碼量更小。所以,出錯(cuò)的可能性更小。并且在某些方面,性能比Xen更勝一籌。

6、/etc/libvirt/qemu目錄,存放虛擬機(jī)的配置文件。

7、kvm的備份:拷貝/etc/libvirt/qemu目錄下的xml配置文件,以及xml中設(shè)置的img文件。

8、kvm的還原:進(jìn)入virsh,執(zhí)行define 目錄下的xml文件路徑,且確保鏡像文件的存在。

virsh # define /etc/libvirt/qemu/winxp.xml

9、KVM允許客戶機(jī)過(guò)載使用(over-commit)物理資源,即給客戶機(jī)分配的CPU和內(nèi)存數(shù)量多于物理上實(shí)際存在的資源。

10、CPU的過(guò)載使用,是讓一個(gè)或多個(gè)客戶機(jī)使用vCPU的總數(shù)量超過(guò)實(shí)際擁有的物理CPU數(shù)量,QEMU會(huì)啟動(dòng)更多的線程來(lái)為客戶機(jī)提供服務(wù),這些線程也是被Linux內(nèi)核調(diào)度運(yùn)行在物理CPU硬件上。

11、最推薦的做法是對(duì)多個(gè)單CPU的客戶機(jī)使用over-commit,比如:在擁有4個(gè)邏輯CPU的宿主機(jī)中,同時(shí)運(yùn)行多于4個(gè)(如8個(gè)、16個(gè))客戶機(jī),其中每個(gè)客戶機(jī)都被分配一個(gè)vCPU。這時(shí),如果每個(gè)宿主機(jī)的負(fù)載不很大的情況下,宿主機(jī)Linux對(duì)每個(gè)客戶機(jī)的調(diào)度是非常有效的,這樣的過(guò)載使用并不會(huì)帶來(lái)客戶機(jī)中的性能損失。

12、最不推薦的做法是讓某一個(gè)客戶機(jī)的vCPU數(shù)量超過(guò)物理CPU數(shù)量。比如,在擁有4個(gè)邏輯CPU的宿主機(jī)中,同時(shí)運(yùn)行一個(gè)或多個(gè)客戶機(jī),其中每個(gè)客戶機(jī)的vCPU數(shù)量多于4個(gè)(如16個(gè))。這樣的使用方法會(huì)帶來(lái)比較明顯的性能下降,其性能反而不如將客戶機(jī)分配2個(gè)(或4個(gè))vCPU,而且如果客戶機(jī)中負(fù)載過(guò)重時(shí),可能會(huì)讓整個(gè)系統(tǒng)運(yùn)行不穩(wěn)定。不過(guò),在并非100%滿負(fù)載的情況下,一個(gè)(或多個(gè))有4個(gè)vCPU的客戶機(jī)運(yùn)行在擁有4個(gè)邏輯CPU的宿主機(jī)中并不會(huì)帶來(lái)明顯的性能損失。

13、總的來(lái)說(shuō),KVM允許CPU的過(guò)載使用,但是并不推薦在實(shí)際的生產(chǎn)環(huán)境(特別是負(fù)載較重的環(huán)境)中過(guò)載使用CPU。在生產(chǎn)環(huán)境中過(guò)載使用CPU,有必要在部署前進(jìn)行嚴(yán)格的性能和穩(wěn)定性測(cè)試。

14、KVM中內(nèi)存也是允許過(guò)載使用(over-commit)的,KVM能夠讓分配給客戶機(jī)的內(nèi)存總數(shù)大于實(shí)際可用的物理內(nèi)存總數(shù)。

15、一般來(lái)說(shuō),有如下三種方式來(lái)實(shí)現(xiàn)內(nèi)存的過(guò)載使用:

(1)內(nèi)存交換(swapping):用交換空間(swap space)來(lái)彌補(bǔ)內(nèi)存的不足。

(2)氣球(ballooning):通過(guò)virio_balloon驅(qū)動(dòng)來(lái)實(shí)現(xiàn)宿主機(jī)Hypervisor和客戶機(jī)之間的協(xié)作來(lái)完成。

(3)頁(yè)共享(page sharing):通過(guò)KSM(Kernel Samepage Merging)合并多個(gè)客戶機(jī)進(jìn)程使用的相同內(nèi)存頁(yè)。

其中,第一種內(nèi)存交換的方式是最成熟的(Linux中很早就開(kāi)始應(yīng)用),但不推薦使用虛擬內(nèi)存swap。

16、KVM(模塊):

     modprobe 命令加載 KVM 模塊,如果用 RPM 安裝 KVM 軟件包,系統(tǒng)會(huì)在啟動(dòng)時(shí)自動(dòng)加載模塊。加載了模塊后,才能進(jìn)一步通過(guò)其他工具創(chuàng)建虛擬機(jī)。但僅有 KVM 模塊是遠(yuǎn)遠(yuǎn)不夠的,因?yàn)橛脩魺o(wú)法直接控制內(nèi)核模塊去做事情,還必須有一個(gè)用戶空間的工具。

17、QEMU (管理工具):

    QEMU 是一個(gè)強(qiáng)大的虛擬化軟件,它可以虛擬不同的 CPU 構(gòu)架。比如說(shuō)在 x86 的 CPU 上虛擬一個(gè) Power 的 CPU,并利用它編譯出可運(yùn)行在 Power 上的程序。

18、QEMU-KVM (管理工具):

KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 內(nèi)核模塊的用戶空間工具 QEMU-KVM。所以 Linux 發(fā)行版中分為 內(nèi)核部分的 KVM 內(nèi)核模塊和 QEMU-KVM 工具。

19、Libvirt、virsh、virt-manager(管理工具):

    RedHat 為 KVM 開(kāi)發(fā)了更多的輔助工具,比如 libvirt、libguestfs 等。原因是 QEMU 工具效率不高,不易于使用。Libvirt 是一套提供了多種語(yǔ)言接口的 API,為各種虛擬化工具提供一套方便、可靠的編程接口,不僅支持 KVM,而且支持 Xen 等其他虛擬機(jī)。使用 libvirt,你只需要通過(guò) libvirt 提供的函數(shù)連接到 KVM 或 Xen 宿主機(jī),便可以用同樣的命令控制不同的虛擬機(jī)了。Libvirt 不僅提供了 API,還自帶一套基于文本的管理虛擬機(jī)的命令virsh,你可以通過(guò)使用 virsh 命令來(lái)使用 libvirt 的全部功能。但最終用戶更渴望的是圖形用戶界面,這就是 virt-manager。它是一套用 python 編寫(xiě)的虛擬機(jī)管理圖形界面,用戶可以通過(guò)它直觀地操作不同的虛擬機(jī)。Virt-manager 就是利用 libvirt 的 API 實(shí)現(xiàn)的。

20、在 KVM 模型中,每一個(gè)虛擬機(jī)都是一個(gè)由 Linux 調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程,你可以在用戶空間啟動(dòng)客戶機(jī)操作系統(tǒng)。一個(gè)普通的 Linux 進(jìn)程有兩種運(yùn)行模式:內(nèi)核和用戶。 KVM 增加了第三種模式:客戶模式(有自己的內(nèi)核和用戶模式)。

21、內(nèi)核模塊導(dǎo)出了一個(gè)名為 /dev/kvm 的設(shè)備,它可以啟用內(nèi)核的客戶模式(除了傳統(tǒng)的內(nèi)核模式和用戶模式)。有了 /dev/kvm 設(shè)備,VM 使自己的地址空間獨(dú)立于內(nèi)核或運(yùn)行著的任何其他 VM 的地址空間。

到此,關(guān)于“KVM虛擬化是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

kvm
AI