KVM虚拟化|RHEL/CentOS 8 安装KVM
如何在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-install
和virt-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虚拟机