如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM
创始人
2024-03-02 15:46:00
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"

从以下输出中,你可以看到我们的系统启用了英特尔硬件虚拟化:

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

安装完成后,运行以下命令检查是否已加载所需的 KVM 模块。

$ lsmod | grep kvm

你应该得到以下输出以确认已加载必要的模块:

3、启动并启用 libvirtd 守护进程

在下一步中,一定要启动 libvirtd 守护进程。这是一个服务器端守护程序组件,可在虚拟化的客户机上运行和管理任务。它用于管理虚拟化技术,例如 Xen、KVM 和 ESXi 等等。

要启动 libvirtd 守护进程,请运行以下命令:

$ sudo systemctl start libvirtd

请务必启用该服务以在引导时启动:

$ sudo systemctl enable --now libvirtd

验证 libvirtd 守护进程是否正在运行,如下所示:

$ sudo systemctl status libvirtd

4、设置桥接接口

到目前为止,我们已经安装了 KVM 和所有管理工具,事实上,我们可以继续启动虚拟机。但是,如果我们可以从管理程序网络外部访问虚拟机,那就太好了。为此,我们需要创建一个桥接接口。

首先,确定系统上的网络接口。

$ sudo nmcli connection show

从输出来看,ens160 是活动的网络接口,请务必注意你的情况下的接口,因为你将一路使用它。

要开始创建网桥,首先,使用以下语法用其 UUID 删除连接:

$ sudo nmcli connection delete UUID

在我们的例子中,命令将是:

$ sudo nmcli connection delete 19e98123-9a84-30a6-bc59-a7134446bb26

你将收到连接已成功删除的确认信息。

在继续进行之前,最好准备好以下详细信息:

  • 网桥名称 – 新网桥的首选名称(例如 br1
  • 设备名称 – 这是你的网络接口的名称。它将作为网桥的从属设备(例如,ens160
  • IP 地址/子网 – 桥接网络的 IP 地址和子网(例如 192.168.2.50/24)。请注意,这应该与你的网络子网和 IP 地址相对应。
  • 网关 – 你网络的默认网关地址(例如 192.168.2.1
  • DNS1 和 DNS2 – 首选 DNS 地址(例如 8.8.8.88.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

在接下来的步骤中,你将通过指定 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

此后,使用以下命令添加网桥从属设备:

$ 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

你将收到以下确认信息,表明已成功添加网桥从属设备。请记住,桥接从属设备是你的网络接口或适配器。

要确认网桥已创建,请运行以下命令:

$ sudo nmcli connection show

从输出中,你可以看到列出了网桥接口。

激要活它,请运行以下命令:

$ sudo nmcli connection up br1

此外,你可以使用 ip addr 命令验证:

$ ip addr | grep br1

最后,编辑网桥配置文件。

$ 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

执行该命令后,将启动图形屏幕会话,并开始安装客户操作系统。

总结

我们关于如何在 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 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

KVM

相关内容

bbrkvmdebian
“bbrkvmdebian” 是一个基于 Debian 操作系统的...
2024-11-26 20:31:05
Android模拟器:/d...
在Android模拟器中出现"/dev/kvm未找到,支持Vt-x...
2024-10-09 08:02:36
Android错误:I/d...
这个错误是由于Android应用程序的堆空间不足导致的。为了解决这...
2024-10-06 22:02:15
AWS存储网关-串行控制台...
如果您在使用AWS存储网关时遇到串行控制台 - KVM Linux...
2024-09-24 16:02:14
AWS存储网关 - 串行控...
遇到AWS存储网关串行控制台(KVM Linux)的问题时,可能需...
2024-09-24 16:01:06
Autohotkey如何检...
Autohotkey可以使用GetRawInputDeviceIn...
2024-09-23 05:02:21

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...