如何在Linux中使用KVM(基于内核的虚拟机)创建虚拟机 – 第1部分

Create Virtual Machines in Linux Using KVM – Part 1

本教程討論了 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 支持以下功能:

  1. 超分配:這意味著在系統上可用資源不足時,分配更多的虛擬 CPU 或內存。
  2. 薄配置:允許分配靈活的存儲空間,並為每個客戶虛擬機器優化可用空間。
  3. 磁盤 I/O 限速:提供設置虛擬機器發送到主機機器的磁盤 I/O 請求的限制能力。
  4. 自動 NUMA 平衡:改善在 NUMA 硬件系統上運行應用程序的性能。
  5. 虛擬 CPU 熱添加功能:提供根據運行中的虛擬機器的需求增加處理能力的能力,無需停機。

這是我們第一個正在進行的 KVM(Kernel-based Virtual Machine)系列,這裡我們將分部分逐篇來涵蓋以下文章。

Part 1: How to Create Virtual Machines in Linux Using KVM (Kernel-based Virtual Machine)

先決條件

確保您的系統具有硬體虛擬化擴展功能:對於基於Intel的主機,請使用以下命令驗證CPU虛擬化擴展[vmx]是否可用。

[root@server ~]# grep -e 'vmx' /proc/cpuinfo
Check Virtualization Support

對於基於AMD的主機,請驗證CPU虛擬化擴展[svm]是否可用。

[root@server ~]# grep -e 'svm' /proc/cpuinfo
Check CPU Virtualization Support

如果沒有輸出,請確保BIOS中啟用了虛擬化擴展。驗證KVM模塊是否已加載到內核中“應該默認加載”。

[root@server ~]# lsmod | grep kvm

輸出應包含kvm_intel用於基於Intel的主機或kvm_amd用於基於AMD的主機。

Check KVM Kernel Module

在開始之前,您將需要在系統上配置root帳戶或具有sudo權限的非root用戶,並確保您的系統是最新的。

[root@server ~]# yum update

確保Selinux處於寬鬆模式。

[root@server ~]# setenforce 0

步驟1:KVM安裝和部署

1.首先我們將安裝qemu-kvmqemu-img套件。這些套件提供用戶級KVM和磁盤映像管理器。

[root@server ~]# yum install qemu-kvm qemu-img

2.現在,您已經擁有在主機上部署虛擬平台的最低要求,但我們還有一些有用的工具來管理我們的平台,例如:

  1. virt-manager提供了一個GUI工具來管理您的虛擬機器。
  2. libvirt-client提供了一個CL工具來管理您的虛擬環境,這個工具名為virsh。
  3. virt-install提供了“virt-install”命令,用於從CLI創建您的虛擬機器。
  4. 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) 
Check Libvirtd Status

現在,讓我們切換到下一節來創建我們的虛擬機器。

步驟 2:使用 KVM 創建虛擬機器

正如我們之前提到的,我們有一些有用的工具來管理我們的虛擬平台和創建虛擬機器。其中一個工具叫做 [virt-manager],我們將在下一節中使用。

6. 雖然 virt-manager 是基於 GUI 的工具,我們也可以從終端啟動它,也可以從 GUI 啟動它。

[root@server ~]#virt-manager
使用 GNOME
Start Virtual Manager in GNOME
使用 GNOME Classic
Start Virtual Manager in GNOME Classic

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

Start Virtual Manager Window

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

Add Connection

勾選“連接到遠端主機”選項,然後提供遠端伺服器的主機名稱/IP。如果您需要在每次管理員啟動時建立與遠端主機的連線,只需勾選“自動連線”選項。

9. 讓我們回到本機主機,在建立新虛擬機器之前,您應該決定文件將存儲在哪裡?換句話說,您應該為您的虛擬機器創建卷磁碟(虛擬磁碟/磁碟映像)。

右擊本機主機,選擇“詳細資訊”,然後選擇“儲存”選項卡。

VM Storage Details
VM Storage Volume

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

Create VM Storage Disk

分配大小是您的磁碟的實際大小,將在完成步驟後立即從您的物理磁碟中分配。

注意:這是存儲管理領域中一項重要的技術,稱為“薄配置”。它用於僅分配已使用的存儲大小,而不是所有可用大小。

例如,您創建了大小為60G的虛擬磁碟,但實際上只使用了20G,使用此技術後,從您的物理硬碟中分配的大小將是20G而不是60G

另一種說法是,分配的物理大小將根據實際使用的大小動態分配。您可以在VMWare vStorage Thin Provisioning中找到更詳細的信息。

11. 您將注意到新卷磁碟的標籤已出現在列表中。

VM Storage Label

您還應該注意新磁碟映像(卷磁碟)的路徑,默認情況下將位於/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”按鈕,將出現此向導窗口。

Create New Virtual Machine

選擇您將用於創建虛擬機器的安裝方法。現在我們將使用本地安裝媒體,稍後我們將討論其餘方法。

13. 現在是指定要使用的本地安裝媒體的時間,我們有兩個選項:

  1. 從物理[CDROM/DVD]。
  2. 從ISO映像。

對於我們的教程,讓我們使用ISO映像方法,因此您應提供ISO映像的路徑。

Select Installation Media

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

Disabled CD DVD Rom in KVM

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

CD DVD Not Supported in KVM

直到現在為止,對於這個錯誤還沒有官方/直接的解決方案,您可以在同一處找到更多信息:https://bugzilla.redhat.com

14. 存儲已經返回,我們將使用之前創建的虛擬磁碟來安裝虛擬機器。如下所示。

Enable Storage for Virtual Machine

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

Enter Name of Virtual Machine

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

Virtual Machine Installation

結論

現在您已經了解了什麼是KVM,如何使用GUI工具管理您的虛擬平台,如何使用它部署虛擬機器以及其他令人驚嘆的事情。

儘管這不是文章的結尾,在我們即將發表的文章中,我們將討論與KVM相關的其他重要主題。利用之前的知識,讓雙手弄髒,為下一部分做好準備…

Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/