
本教程討論了 KVM 的介紹、部署以及如何在基於 RedHat 的發行版(如 RHEL/CentOS7 和 Fedora 21)下使用它來創建虛擬機器。
KVM 是什麼?
KVM(Kernel-based Virtual Machine)是一個完整的 Linux 虛擬化解決方案,適用於 Intel 64 和 AMD 64 硬件,自 2.6.20 版本起已包含在主流 Linux 內核中,對於大多數工作負載而言穩定且快速。
KVM 功能
當您使用 KVM 部署虛擬平台時,將獲得許多有用的功能和優勢。KVM hypervisor 支持以下功能:
- 超分配:這意味著在系統上可用資源不足時,分配更多的虛擬 CPU 或內存。
- 薄配置:允許分配靈活的存儲空間,並為每個客戶虛擬機器優化可用空間。
- 磁盤 I/O 限速:提供設置虛擬機器發送到主機機器的磁盤 I/O 請求的限制能力。
- 自動 NUMA 平衡:改善在 NUMA 硬件系統上運行應用程序的性能。
- 虛擬 CPU 熱添加功能:提供根據運行中的虛擬機器的需求增加處理能力的能力,無需停機。
這是我們第一個正在進行的 KVM(Kernel-based Virtual Machine)系列,這裡我們將分部分逐篇來涵蓋以下文章。
先決條件
確保您的系統具有硬體虛擬化擴展功能:對於基於Intel的主機,請使用以下命令驗證CPU虛擬化擴展[vmx]是否可用。
[root@server ~]# grep -e 'vmx' /proc/cpuinfo

對於基於AMD的主機,請驗證CPU虛擬化擴展[svm]是否可用。
[root@server ~]# grep -e 'svm' /proc/cpuinfo

如果沒有輸出,請確保BIOS中啟用了虛擬化擴展。驗證KVM模塊是否已加載到內核中“應該默認加載”。
[root@server ~]# lsmod | grep kvm
輸出應包含kvm_intel用於基於Intel的主機或kvm_amd用於基於AMD的主機。

在開始之前,您將需要在系統上配置root帳戶或具有sudo權限的非root用戶,並確保您的系統是最新的。
[root@server ~]# yum update
確保Selinux處於寬鬆模式。
[root@server ~]# setenforce 0
步驟1:KVM安裝和部署
1.首先我們將安裝qemu-kvm和qemu-img套件。這些套件提供用戶級KVM和磁盤映像管理器。
[root@server ~]# yum install qemu-kvm qemu-img
2.現在,您已經擁有在主機上部署虛擬平台的最低要求,但我們還有一些有用的工具來管理我們的平台,例如:
- virt-manager提供了一個GUI工具來管理您的虛擬機器。
- libvirt-client提供了一個CL工具來管理您的虛擬環境,這個工具名為virsh。
- virt-install提供了“virt-install”命令,用於從CLI創建您的虛擬機器。
- libvirt 提供與虛擬化管理程序和主機系統互動的伺服器和主機端庫。
讓我們使用以下命令安裝這些工具。
[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client
3. 對於 RHEL/CentOS7 用戶,還需要安裝其他軟件包組,如:虛擬化客戶端、虛擬化平台和虛擬化工具。
[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools
4. 管理所有平台的虛擬化守護程序是“libvirtd”。讓我們重新啟動它。
[root@server ~]#systemctl restart libvirtd
5. 重新啟動守護程序後,運行以下命令檢查其狀態。
[root@server ~]#systemctl status libvirtd
範例輸出
libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago Main PID: 25701 (libvirtd)

現在,讓我們切換到下一節來創建我們的虛擬機器。
步驟 2:使用 KVM 創建虛擬機器
正如我們之前提到的,我們有一些有用的工具來管理我們的虛擬平台和創建虛擬機器。其中一個工具叫做 [virt-manager],我們將在下一節中使用。
6. 雖然 virt-manager 是基於 GUI 的工具,我們也可以從終端啟動它,也可以從 GUI 啟動它。
[root@server ~]#virt-manager
使用 GNOME

使用 GNOME Classic

7. 啟動工具後,將出現此視窗。

8. 默認情況下,您將發現管理員直接連接到 localhost,幸運的是,您可以使用相同的工具遠程管理另一台主機。從“文件”選項卡中,只需選擇“添加連接”,將出現此視窗。

勾選“連接到遠端主機”選項,然後提供遠端伺服器的主機名稱/IP。如果您需要在每次管理員啟動時建立與遠端主機的連線,只需勾選“自動連線”選項。
9. 讓我們回到本機主機,在建立新虛擬機器之前,您應該決定文件將存儲在哪裡?換句話說,您應該為您的虛擬機器創建卷磁碟(虛擬磁碟/磁碟映像)。
右擊本機主機,選擇“詳細資訊”,然後選擇“儲存”選項卡。


10. 接著,按下“新建卷磁碟”按鈕,然後輸入您的新虛擬磁碟(卷磁碟)的名稱,並在“最大容量”部分輸入您想要/需要的大小。

分配大小是您的磁碟的實際大小,將在完成步驟後立即從您的物理磁碟中分配。
注意:這是存儲管理領域中一項重要的技術,稱為“薄配置”。它用於僅分配已使用的存儲大小,而不是所有可用大小。
例如,您創建了大小為60G的虛擬磁碟,但實際上只使用了20G,使用此技術後,從您的物理硬碟中分配的大小將是20G而不是60G。
另一種說法是,分配的物理大小將根據實際使用的大小動態分配。您可以在VMWare vStorage Thin Provisioning中找到更詳細的信息。
11. 您將注意到新卷磁碟的標籤已出現在列表中。

您還應該注意新磁碟映像(卷磁碟)的路徑,默認情況下將位於/var/lib/libvirt/images下,您可以使用以下命令進行驗證。
[root@server Downloads]# ls -l /var/lib/libvirt/images -rw-------. 1 root root 10737418240 Jan 3 16:47 vm1Storage.img
12. 現在,我們準備創建虛擬機器。讓我們在主窗口中點擊“VM”按鈕,將出現此向導窗口。

選擇您將用於創建虛擬機器的安裝方法。現在我們將使用本地安裝媒體,稍後我們將討論其餘方法。
13. 現在是指定要使用的本地安裝媒體的時間,我們有兩個選項:
- 從物理[CDROM/DVD]。
- 從ISO映像。
對於我們的教程,讓我們使用ISO映像方法,因此您應提供ISO映像的路徑。

重要:不幸的是,對於使用RHEL/CentOS7的用戶存在一個非常愚蠢的錯誤。此錯誤會阻止您使用物理[CDROM/DVD]進行安裝,您將發現該選項變灰,如此。

如果您將光標懸停在上面,將出現此錯誤消息。

直到現在為止,對於這個錯誤還沒有官方/直接的解決方案,您可以在同一處找到更多信息:https://bugzilla.redhat.com。
14. 存儲已經返回,我們將使用之前創建的虛擬磁碟來安裝虛擬機器。如下所示。

15. 最後一步將要求您輸入虛擬機器的名稱和其他高級選項,我們稍後再談談。

如果您想更改一些配置或進行一些自定義操作,只需勾選“在安裝前自定義配置”選項。然後點擊完成並等待幾秒鐘,控制台將出現供您管理客戶操作系統

結論
現在您已經了解了什麼是KVM,如何使用GUI工具管理您的虛擬平台,如何使用它部署虛擬機器以及其他令人驚嘆的事情。
儘管這不是文章的結尾,在我們即將發表的文章中,我們將討論與KVM相關的其他重要主題。利用之前的知識,讓雙手弄髒,為下一部分做好準備…
Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/