[#]: subject: "How to Install KVM on Rocky Linux 9 / AlmaLinux 9" [#]: via: "https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/" [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" [#]: translator: "geekpi" [#]: reviewer: "wxy" [#]: publisher: "wxy" [#]: url: "https://linux.cn/article-15843-1.html" 如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM ====== ![][0] > 在本指南中,我们演示了如何在 Rocky Linux 9 / Alma Linux 9 上安装 KVM。 KVM 是 内核虚拟机Kernel Virtualization Machine 的简称,是一个为 Linux 内核设计的开源虚拟化平台。它是一种 1 类管理程序,或通常称为裸机管理程序。它允许用户创建和管理多台客户机,这些可以在 Linux 或 Windows 操作系统中创建。 与大多数虚拟化平台一样,它将硬件资源(如 CPU、内存、存储、网络、图形等)抽象化,并将它们分配给独立于宿主机运行的客户机。 ### 先决条件 - 预装 Rocky Linux 9 / AlmaLinux 9 - 具有管理员权限的 sudo 用户 - 互联网连接 ### 1、验证是否启用了硬件虚拟化 首先,你需要验证你的系统是否启用了虚拟化功能。在大多数现代系统上,此功能已在 BIOS 中启用。但可以肯定的是,你可以验证是否如图所示启用了虚拟化。 该命令探测是否存在 VMX(虚拟机扩展Virtual Machine Extension),它是英特尔硬件虚拟化的 CPU 标志,或 SVM,它是 AMD 硬件虚拟化的标志。 ``` $ cat /proc/cpuinfo | egrep "vmx|svm" ``` 从以下输出中,你可以看到我们的系统启用了英特尔硬件虚拟化: ![][1] ### 2、在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM 确保启用虚拟化后,下一步就是安装 KVM 和管理工具。为此,请运行以下 `dnf` 命令。 ``` $ sudo dnf install qemu-kvm virt-manager libvirt virt-install virt-viewer virt-top bridge-utils  bridge-utils virt-top libguestfs-tools -y ``` ![][2] 安装完成后,运行以下命令检查是否已加载所需的 KVM 模块。 ``` $ lsmod | grep kvm ``` 你应该得到以下输出以确认已加载必要的模块: ![][3] ### 3、启动并启用 libvirtd 守护进程 在下一步中,一定要启动 libvirtd 守护进程。这是一个服务器端守护程序组件,可在虚拟化的客户机上运行和管理任务。它用于管理虚拟化技术,例如 Xen、KVM 和 ESXi 等等。 要启动 libvirtd 守护进程,请运行以下命令: ``` $ sudo systemctl start libvirtd ``` 请务必启用该服务以在引导时启动: ``` $ sudo systemctl enable --now libvirtd ``` 验证 libvirtd 守护进程是否正在运行,如下所示: ``` $ sudo systemctl status libvirtd ``` ![][4] ### 4、设置桥接接口 到目前为止,我们已经安装了 KVM 和所有管理工具,事实上,我们可以继续启动虚拟机。但是,如果我们可以从管理程序网络外部访问虚拟机,那就太好了。为此,我们需要创建一个桥接接口。 首先,确定系统上的网络接口。 ``` $ sudo nmcli connection show ``` 从输出来看,`ens160` 是活动的网络接口,请务必注意你的情况下的接口,因为你将一路使用它。 ![][5] 要开始创建网桥,首先,使用以下语法用其 UUID 删除连接: ``` $ sudo nmcli connection delete UUID ``` 在我们的例子中,命令将是: ``` $ sudo nmcli connection delete 19e98123-9a84-30a6-bc59-a7134446bb26 ``` 你将收到连接已成功删除的确认信息。 ![][6] 在继续进行之前,最好准备好以下详细信息: - 网桥名称 – 新网桥的首选名称(例如 `br1`) - 设备名称 – 这是你的网络接口的名称。它将作为网桥的从属设备(例如,`ens160`) - IP 地址/子网 – 桥接网络的 IP 地址和子网(例如 `192.168.2.50/24`)。请注意,这应该与你的网络子网和 IP 地址相对应。 - 网关 – 你网络的默认网关地址(例如 `192.168.2.1`) - DNS1 和 DNS2 – 首选 DNS 地址(例如 `8.8.8.8` 和 `8.8.4.4`) 继续,使用以下语法创建一个新的桥接接口。 ``` $ sudo nmcli connection add type bridge autoconnect yes con-name BRIDGE NAME ifname BRIDGE NAME ``` 在我们的例子中,`br1` 是首选的网桥接口名称。因此,命令将如图所示: ``` $ sudo nmcli connection add type bridge autoconnect yes con-name br1 ifname br1 ``` ![][7] 在接下来的步骤中,你将通过指定 IP 子网、网关和 DNS 值来修改网桥。 首先使用以下语法指定 IP 子网: ``` $ sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4.method manual ``` 根据我们的设置,命令将是: ``` $ sudo nmcli connection modify br1 ipv4.addresses 192.168.2.150/24 ipv4.method manual ``` 接下来,使用以下语法指定网关地址: ``` $ sudo nmcli connection modify BRIDGE NAME ipv4.gateway GATEWAY ``` 根据我们的网络,该命令采用以下格式: ``` $ sudo nmcli connection modify br1 ipv4.gateway 192.168.2.1 ``` DNS 地址的语法如下: ``` $ sudo nmcli connection modify BRIDGE NAME ipv4.dns DNS1 +ipv4.dns DNS2 ``` 该命令采用以下格式: ``` $ sudo nmcli connection modify br1 ipv4.dns 8.8.8.8 +ipv4.dns 8.8.4.4 ``` ![][8] 此后,使用以下命令添加网桥从属设备: ``` $ sudo nmcli connection add type bridge-slave autoconnect yes con-name DEVICE NAME ifname DEVICE NAME master BRIDGE NAME ``` 使用我们的值,命令如图所示: ``` $ sudo nmcli connection add type bridge-slave autoconnect yes con-name ens160 ifname ens160 master br1 ``` 你将收到以下确认信息,表明已成功添加网桥从属设备。请记住,桥接从属设备是你的网络接口或适配器。 ![][9] 要确认网桥已创建,请运行以下命令: ``` $ sudo nmcli connection show ``` 从输出中,你可以看到列出了网桥接口。 ![][10] 激要活它,请运行以下命令: ``` $ sudo nmcli connection up br1 ``` ![][11] 此外,你可以使用 `ip addr` 命令验证: ``` $ ip addr | grep br1 ``` ![][12] 最后,编辑网桥配置文件。 ``` $ sudo vi /etc/qemu-kvm/bridge.conf ``` 添加以下行: ``` allow all ``` 然后重新启动虚拟化守护进程以应用更改 ``` $ sudo systemctl restart libvirtd ``` ### 5、创建虚拟机 安装 KVM 并配置桥接连接后,现在让我们创建一个虚拟机。在执行之前,为登录用户分配必要的所有权,以便在不切换到 root 的情况下运行命令。 ``` $ sudo chown -R $USER:libvirt /var/lib/libvirt/ ``` 在命令行上,我们将使用以下语法使用 Ubuntu 20.04 ISO 镜像创建虚拟机。 ``` $ virt-install \ --name Ubuntu \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/ubuntu-20.04.img,size=15 \ --os-variant ubuntu20.04 \ --network bridge=br1,model=virtio \ --graphics vnc,listen=0.0.0.0 \ --console pty,target_type=serial \ --cdrom /home/linuxtechi/Downloads/ubuntu-20.04.4-desktop-amd64.iso ``` ![][13] 执行该命令后,将启动图形屏幕会话,并开始安装客户操作系统。 ![][14] ![][15] ### 总结 我们关于如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM 的文章到此结束,非常欢迎你提供反馈。 *(题图:MJ/a364d6e3-0c59-4be8-bf02-5df078359429)* -------------------------------------------------------------------------------- via: https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://www.linuxtechi.com/author/pradeep/ [b]: https://github.com/lkxed/ [1]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Intel-VT-Check-CPU-Flags-Grep-Command.png [2]: https://www.linuxtechi.com/wp-content/uploads/2023/04/dnf-install-lvm-qemu-rocky-almalinux9.png [3]: https://www.linuxtechi.com/wp-content/uploads/2023/04/List-KVM-Module-lsmod-command.png [4]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Libvirtd-Service-Status-RockyLinux-AlmaLinux.png [5]: https://www.linuxtechi.com/wp-content/uploads/2023/04/nmcli-connection-show-output-rockylinux9.png [6]: https://www.linuxtechi.com/wp-content/uploads/2023/04/nmcli-connection-delete-output.png [7]: https://www.linuxtechi.com/wp-content/uploads/2023/04/create-Bridge-nmcli-rockylinux-almalinux.png [8]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Add-IP-Gateway-DNS-Network-Bridge-RockyLinux-AlmaLinux.png [9]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Network-Bridge-AutoConnect-Nmcli-RockyLinux-AlmaLinux.png [10]: https://www.linuxtechi.com/wp-content/uploads/2023/04/nmcli-connection-show-after-bridge-creation.png [11]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Network-Bridge-Up-Command-RockyLinux-AlmaLinux.png [12]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Check-Bridge-Ip-address-RockyLinux-AlmaLinux.png [13]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Virt-Install-command-RockyLinux-AlmaLinux.png [14]: https://www.linuxtechi.com/wp-content/uploads/2023/04/VNC-connection-KVM-VM-RockyLinux-AlmaLinux.png [15]: https://www.linuxtechi.com/wp-content/uploads/2023/04/VNC-Console-KVM-GUI-RockyLinux-AlmaLinux.png [0]: https://img.linux.net.cn/data/attachment/album/202305/25/155857v1e939ckoj3eaxe3.jpg