KVM虚拟化|RHEL/CentOS 8 安装KVM

时间:2020-02-23 14:40:37  来源:igfitidea点击:

如何在RHEL 8或者CentOS 8 Linux上安装KVM。
但是在开始安装步骤之前,让我们对KVM虚拟化和KVM Hypervisor有所了解。

什么是虚拟化?

  • CentOS/RHEL 8提供了虚拟化功能(许多其他发行版也是如此。)

  • 这样一来,运行CentOS/RHEL 8的计算机就可以托管多个虚拟机(VM),也称为来宾。

  • VM使用主机的物理硬件和计算资源来运行单独的虚拟化操作系统(来宾OS),作为主机操作系统上的用户空间进程。

什么是虚拟机监控程序?

  • 系统管理程序是在RHEL和CentOS 8中创建虚拟机(VM)的基础。

  • 它是控制硬件并允许在主机上运行多个操作系统的软件层。

  • RHEL/CentOS中的管理程序包括"基于内核的虚拟机"(KVM)模块和虚拟化内核驱动程序,例如" virtio"和" vfio"。

  • 这些组件可确保主机上的Linux内核为用户空间软件提供虚拟化资源。

什么是KVM?

  • " KVM"是"基于内核的虚拟机"的缩写。(Kernel Based Virtual Machine)

  • 它提供了Linux内核管理程序功能。

  • 由于KVM是直接在Linux内核中实现的,因此它在各种Linux发行版中都具有强大的支持。

  • 在用户空间级别," QEMU"仿真器可模拟可用于来宾操作系统运行的完整虚拟化硬件平台,并管理如何在主机上分配资源并将其呈现给来宾。

  • 另外," libvirt"软件套件充当管理和通信层,使QEMU易于与之交互,执行安全规则,并提供了许多用于配置和运行VM的其他工具。

安装和配置KVM的前提条件

安装RHEL 8或者CentOS 8

必须在物理主机上安装Red Hat Enterprise Linux 8或者CentOS 8.

验证对KVM虚拟化的支持

  • 物理主机必须支持KVM虚拟化。

  • 在Intel平台上,显示对完全基于硬件的虚拟化的支持的标志是vmx标志。

  • 要检查Intel处理器是否支持vmx,可以在/proc/cpuinfo中grep输入所需的标志,如下所示

# lscpu | grep -i "Model Name"
Model name:            Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
# grep -i -o vmx /proc/cpuinfo | uniq
vmx

此示例输出中存在" vmx",表明Intel处理器上已安装了必要的CPU扩展。

  • 在AMD平台上,表明支持完全基于硬件的虚拟化的标志是"安全虚拟机"(svm)标志。

  • 要检查AMD处理器是否支持svm,我们可以在/proc/cpuinfo中grep输入所需的标志,如下所示:

# lscpu | grep -i "Model Name"
Model name:            AMD EPYC 7402P 24-Core Processor
# grep -i -o svm /proc/cpuinfo | uniq
svm

此示例输出中存在svm表明AMD处理器上已存在必要的CPU扩展。

将RHEL 8注册到RHN(可选)

  • 我已经将本章作为可选内容提到,但如果我们使用的是RHEL 8,则建议我们这样做。

  • 在CentOS 8上,我们只需要一个活动的Internet连接就可以连接到CentOS存储库。

  • 在RHEL 8上,我们应该将主机注册到RHN以获得最新更新。

在接下来的章节中,我们将需要它来设置KVM HA集群

  • 要仅安装KVM,我们只需使用Red Hat 8 ISO DVD创建一个脱机存储库即可安装与KVM虚拟化相关的软件包

我的RHEL 8节点已在Red Hat Network中注册

[root@rhel-8 ~]# subscription-manager list
+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Red Hat Enterprise Linux for x86_64
Product ID:     479
Version:        8.2
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         12/10/2019
Ends:           12/10/2017

在RHEL/CentOS 8上安装KVM

要在RHEL/CentOS 8中使用虚拟化,必须启用虚拟化模块,安装虚拟化软件包,并确保将系统配置为托管虚拟机(VM)。

提示:

或者,我们也可以使用dnf groupinstall Virtualization,它将安装启用KVM虚拟化所需的所有必需的rpm和依赖项

我希望我们已经知道YUM替代DNF工具

[root@rhel-8 ~]# dnf module install virt

安装完成后,我们可以检查是否在物理主机上加载了" kvm"模块

[root@rhel-8 ~]# lsmod | grep kvm
kvm_intel             290816  16
kvm                   761856  1 kvm_intel
irqbypass              16384  2 kvm

在AMD主机上,我们将获得如下输出

# lsmod | grep kvm
kvm_amd              2177260  0
kvm                   621480  1 kvm_amd
irqbypass              13503  1 kvm

安装virt-installvirt-viewer软件包。
我们将需要它们来创建KVM虚拟机

[root@rhel-8 ~]# dnf install virt-install virt-viewer

启用并启动libvirtd服务

启动并启用libvirtd服务

[root@rhel-8 ~]# systemctl enable libvirtd --now

验证KVM虚拟化状态

安装KVM rpm并启动libvirtd服务后,请验证是否已启用RHEL/CentOS 8物理主机以支持KVM虚拟化

[root@rhel-8 ~]# virt-host-validate
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device /dev/kvm exists                                   : PASS
  QEMU: Checking if device /dev/kvm is accessible                            : PASS
  QEMU: Checking if device /dev/vhost-net exists                             : PASS
  QEMU: Checking if device /dev/net/tun exists                               : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : PASS
  QEMU: Checking for cgroup 'blkio' controller support                       : PASS
  QEMU: Checking for device assignment IOMMU support                         : PASS
  QEMU: Checking if IOMMU is enabled by kernel                               : WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)

至此," KVM教程"的第一部分已经完成。
现在,我们的RHEL/CentOS 8物理主机已准备好创建KVM虚拟机