网站搜索

如何在 CentOS/RHEL 8 上安装 KVM


基于内核的虚拟机(简称KVM)是一种开源且事实上的标准虚拟化解决方案,紧密集成到Linux中。它是一个可加载的内核模块,可将 Linux 转变为 1 类(裸机)虚拟机管理程序,创建用于运行虚拟机 (VM) 的虚拟操作平台。

KVM下,每个VM都是一个由内核调度和管理的Linux进程,拥有私有的虚拟化硬件(即CPU、网卡、磁盘等)。它还支持嵌套虚拟化,允许您在另一个虚拟机内运行一个虚拟机。

它的一些关键功能包括支持各种 Linux 支持的硬件平台(具有虚拟化扩展的 x86 硬件(Intel VT 或 AMD-V)),它使用 SELinux 提供增强的 VM 安全性和隔离和安全虚拟化(sVirt),它继承了内核内存管理功能,并且支持离线和实时迁移(正在运行的虚拟机在物理主机之间的迁移)。

在本文中,您将了解如何在 CentOS 8RHEL 8 Linux 中安装 KVM 虚拟化、创建和管理虚拟机。

先决条件

  1. 全新安装CentOS 8服务器
  2. 全新安装 RHEL 8 服务器
  3. 在 RHEL 8 服务器上启用的 RedHat 订阅

此外,通过运行以下命令确保您的硬件平台支持虚拟化。

grep -e 'vmx' /proc/cpuinfo		#Intel systems
grep -e 'svm' /proc/cpuinfo		#AMD systems

另外,确认 KVM 模块已加载到内核中(默认情况下应该如此)。

lsmod | grep kvm

以下是基于 Intel 的测试系统的输出示例:

在之前的 KVM 指南系列中,我们展示了如何使用 KVM(基于内核的虚拟机)在 Linux 中创建虚拟机,其中演示了如何使用 virt-manager GUI 工具(该工具根据 RHEL 8 文档,现已弃用)。对于本指南,我们将采用不同的方法,我们将使用 Cockpit Web 控制台。

第 1 步:在 CentOS 8 上设置 Cockpit Web 控制台

1. cockpit 是一个易于使用、集成且可扩展的基于 Web 的界面,用于在 Web 浏览器中管理 Linux 服务器。它使您能够执行系统任务,例如配置网络、管理存储、创建虚拟机以及使用鼠标检查日志。它使用系统的普通用户登录和权限,但也支持其他身份验证方法。

它在新安装的 CentOS 8RHEL 8 系统上预安装并启用,如果您没有安装它,请使用以下 dnf 命令安装它。应安装 cockpit-machines 扩展来管理基于 Libvirt 的虚拟机。

dnf install cockpit cockpit-machines

2. 软件包安装完成后,启动 cockpit 套接字,使其在系统启动时自动启动,并检查其状态以确认其已启动并正在运行。

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. 接下来,使用firewall-cmd命令在默认启用的系统防火墙中添加cockpit服务,并重新加载防火墙配置以应用新的更改。

firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

4. 要访问 cockpit Web 控制台,请打开 Web 浏览器并使用以下 URL 进行导航。

https://FQDN:9090/
OR
https://SERVER_IP:9090/

cockpit 使用自签名证书来启用 HTTPS,只需在浏览器收到警告时继续连接即可。在登录页面,使用您的服务器用户帐户凭据。

步骤2:安装KVM虚拟化CentOS 8

5. 接下来,安装虚拟化模块和其他虚拟化包,如下所示。 virt-install 软件包提供了从命令行界面安装虚拟机的工具,virt-viewer 用于查看虚拟机。

dnf module install virt 
dnf install virt-install virt-viewer

6. 接下来,运行 virt-host-validate 命令来验证主机是否设置为运行 libvirt 虚拟机管理程序驱动程序。

virt-host-validate

7. 接下来,启动 libvirtd 守护进程 (libvirtd) 并使其在每次启动时自动启动。然后检查其状态以确认其已启动并正在运行。


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

步骤 3:通过 Cockpit 设置网桥(虚拟网络交换机)

8. 现在创建一个网桥(虚拟网络交换机),将虚拟机集成到与主机相同的网络中。默认情况下,一旦启动libvirtd守护进程,它就会激活默认网络接口virbr0,该接口代表在NAT模式下运行的虚拟网络交换机。

在本指南中,我们将创建一个名为 br0 的桥接模式网络接口。这将使虚拟机能够在主机网络上访问。

在驾驶舱主界面中,单击网络,然后单击添加网桥,如下图所示。

9. 在弹出窗口中,输入网桥名称并选择网桥从站或端口设备(例如 enp2s0 代表以太网接口),如下图所示。然后点击应用

10.现在,当您查看接口列表时,新桥应该出现在那里,几秒钟后,以太网接口应该被禁用(取下)。

步骤 4:通过 Cockpit Web 控制台创建和管理虚拟机

11.cockpit主界面中,单击虚拟机选项,如以下屏幕截图中突出显示的那样。在虚拟机页面中,单击创建虚拟机

12. 将显示一个窗口,其中包含用于创建新VM 的选项。输入连接、名称(例如 ubuntu18.04)、安装源类型(在测试系统上,我们将 ISO 映像存储在存储池下,即 /var/lib/libvirt/ images/),安装源、存储、大小、内存如下图所示。输入安装源后,应自动选择操作系统供应商和操作系统。

另请选中立即启动虚拟机的选项,然后单击创建

13. 在上一步中单击创建后,VM 应自动启动,并且应使用提供的 ISO 映像启动。继续安装来宾操作系统(在我们的例子中为Ubuntu 18.04)。

如果您单击虚拟机网络接口,网络源应指示新创建的桥接网络接口。

在安装过程中,在配置网络接口的步骤中,您应该能够注意到虚拟机以太网接口从主机的DHCP服务器接收IP地址网络。

请注意,您需要安装 OpenSSH 软件包才能从主机网络上的任何计算机通过 SSH 访问来宾操作系统,如上一节所述。

14.来宾操作系统安装完成后,重新启动VM,然后转到磁盘并分离/删除VM磁盘下的cdrom设备。然后单击运行启动VM

15. 现在,在控制台下,您可以使用在操作系统安装过程中创建的用户帐户登录来宾操作系统。

步骤 5:通过 SSH 访问虚拟机来宾操作系统

16. 要通过 SSH 从主机网络访问新安装的来宾操作系统,请运行以下命令(将 10.42.0.197 替换为来宾的 IP 地址)。

ssh [email 

17.要关闭、重新启动或删除虚拟机,请从虚拟机列表中单击该虚拟机,然后使用以下屏幕截图中突出显示的按钮。

目前为止就这样了!在本指南中,我们展示了如何安装 KVM 虚拟化包,以及如何通过 cockpit Web 控制台创建和管理 VM。有关更多详细信息,请参阅:RHEL 8 中的虚拟化入门。