KVM 是 内核虚拟机Kernel Virtualization Machine
与大多数虚拟化平台一样,它将硬件资源(如 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-utilsbridge-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.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
在接下来的步骤中,你将通过指定 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 的文章到此结束,非常欢迎你提供反馈。
以上是如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM的详细内容。更多信息请关注PHP中文网其他相关文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。