Linux折騰記(二十):虛擬機體驗之KVM篇

在上一篇中,我展示了虛擬機軟件QEMU的使用、效果及其性能,同時也分析了不同用戶對虛擬機的不同追求。但是不管是桌面用戶還是企業(yè)級用戶,對虛擬機軟件的追求有一點是共同的,那就是性能。QEMU是一個強大的虛擬機軟件,它可以完全以軟件的形式模擬出完整的電腦所需的所有硬件,甚至是模擬出不同架構的硬件,在這些虛擬的硬件之上,可以安裝完整的操作系統(tǒng)。QEMU的運行模式如下圖:
很顯然,這種完全以軟件模擬硬件的形式雖然功能強大,但是性能難以滿足用戶的需要。模擬出的硬件的性能和物理硬件的性能相比,必然會大打折扣。為了提高虛擬機軟件的性能,開發(fā)者們各顯神通。其中,最常用的辦法就是在主操作系統(tǒng)中通過內(nèi)核模塊開一個洞,通過這個洞將虛擬機中的操作直接映射到物理硬件上,從而提高虛擬機中運行的操作系統(tǒng)的性能。如下圖:
其中KVM就是這種加速模式的典型代表。在社區(qū)中,大家常把KVM和Xen相提并論,但是它們其實完全不一樣。從上圖可以看出,使用內(nèi)核模塊加速這種模式,主操作系統(tǒng)仍然占主導地位,內(nèi)核模塊只是在主操作系統(tǒng)中開一個洞,用來連接虛擬機和物理硬件,給虛擬機加速,但是虛擬機中的客戶操作系統(tǒng)仍然受到很大的限制。這種模式比較適合桌面用戶使用,主操作系統(tǒng)仍然是他們的主戰(zhàn)場,不管是辦公還是打游戲,都通過主操作系統(tǒng)完成,客戶操作系統(tǒng)只是按需使用。至于Xen,則完全使用不同的理念,比較適合企業(yè)級用戶使用,桌面用戶就不要輕易去碰了,具體內(nèi)容下一篇我再講。
其實VirtualBox也是采取的這種內(nèi)核模塊加速的模式。我之所以這么說,是因為在安裝VirtualBox時,它會要求安裝DKMS。如下圖:
熟悉Linux的人知道,DKMS就是為了方便用戶管理內(nèi)核模塊而存在的,不熟悉DKMS的人Google一下也可以了解個大概。關于VirtualBox的具體使用方面的內(nèi)容,我下一篇再講。這一篇主要講KVM。
KVM和QEMU是相輔相成的,QEMU可以使用KVM內(nèi)核模塊加速,而KVM需要使用QEMU運行虛擬機。從上圖可以看到,如果要使用Ubuntu的包管理軟件安裝KVM,其實安裝的就是qemu-kvm。而qemu-kvm并不是一個什么很復雜的軟件包,它只包含很少量幾個文件,如下圖:
用man命令查看一下它的文檔,發(fā)現(xiàn)qemu-kvm包不僅包含的文件很少,而且它的可執(zhí)行文件kvm也只是對qemu-system-x86_64命令的一個簡單包裝,如下圖:
那么問題來了,kvm內(nèi)核模塊究竟是由哪個包提供的呢?其實,自從Linux 2.6開始,kvm就已經(jīng)被加入內(nèi)核了。如果非要找出kvm內(nèi)核模塊kvm.ko是由哪個包提供的,可以用如下命令考察一下:
寫到這里,已經(jīng)可以看出KVM的使用是很簡單的了。下面,我使用KVM運行一下上一篇中安裝的WinXP操作系統(tǒng),體驗一下QEMU經(jīng)過KVM加速后的運行效率。使用如下命令運行使用KVM加速的QEMU:
可以看出,使用KVM加速后,虛擬機中的WinXP運行速度提升了不少,開機只用了34秒。我將分辨率調(diào)整為1366*768,圖形界面運行也很流暢,不管是打開IE瀏覽器還是Office辦公軟件都沒有問題,再也沒有出現(xiàn)CPU使用率飆升到100%的情況。如果用 ps -ef | grep qemu 命令查看一下,發(fā)現(xiàn)kvm命令運行的還是qemu-system-x86_64程序,只不過加上了-enable-kvm參數(shù),如下圖:
另外,對于桌面用戶來說,有一個好用的圖形化界面也是很重要的。雖然QEMU和KVM自身不帶圖形界面的虛擬機管理器,但是我們可以使用第3方軟件,比如virt-manager。只需要使用 sudo apt-get install virt-manager 即可安裝該軟件。該軟件依賴于libvirt,在安裝過程中也會自動安裝。運行virt-manager的效果如下圖,注意必須使用sudo運行,因為該軟件需要超級用戶權限:
該軟件可自動識別系統(tǒng)中的虛擬機環(huán)境是QEMU+KVM還是Xen。新建一個虛擬機,由于之前安裝過一個WinXP系統(tǒng),所以選擇導入現(xiàn)有硬盤鏡像。點下一步后,出現(xiàn)如下界面:
這一步?jīng)]什么好說的,再點下一步,如下圖:
這里可以設置網(wǎng)絡選項。如果勾選“在安裝前自定義配置”的話,還可以對硬件進行進一步的自定義,如下圖:
在上圖中,我們可以看到虛擬機支持的所有虛擬顯卡的類型,在這里,我當然選擇的是VMVGA,因為我以前經(jīng)常用VMWare,知道這些操作系統(tǒng)在VMWare的虛擬顯卡設置下運行得都沒有問題。當然,其它的選項都可以試一下,不過在虛擬的操作系統(tǒng)中需要安裝相應的驅(qū)動程序。
最后,虛擬機運行的效果圖如下:
可以看到,該程序提供的界面有非常豐富的功能菜單,功能是非常強大的,甚至可以向虛擬機中的操作系統(tǒng)發(fā)送組合按鍵。
可以這么說,如果沒有VirtualBox的話,QEMU+KVM的組合應該是桌面用戶的首選。下一篇我將嘗試VirtualBox,VirtualBox號稱是最強大的開源虛擬機系統(tǒng),敬請期待。
相關文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16