mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-21 02:10:11 +08:00
parent
7a76f6c458
commit
8d1459a5a0
@ -3,42 +3,44 @@
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15843-1.html"
|
||||
|
||||
如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM
|
||||
======
|
||||
|
||||
在本指南中,我们演示了如何在 Rocky Linux 9 / Alma Linux 9 上安装 KVM。
|
||||
![][0]
|
||||
|
||||
KVM 是 Kernel Virtualization Machine 的简称,是一个为 Linux 内核设计的开源虚拟化平台。它是 1 类管理程序,或通常称为裸机管理程序。它允许用户创建和管理可以从 Linux 或 Windows 操作系统创建的多台客户机。
|
||||
> 在本指南中,我们演示了如何在 Rocky Linux 9 / Alma Linux 9 上安装 KVM。
|
||||
|
||||
与大多数虚拟化平台一样,它将硬件资源(如 CPU、内存、存储、网络、图形等)抽象化,并将它们分配给独立于主机运行的客户机。
|
||||
KVM 是 <ruby>内核虚拟机<rt>Kernel Virtualization Machine</rt></ruby> 的简称,是一个为 Linux 内核设计的开源虚拟化平台。它是一种 1 类管理程序,或通常称为裸机管理程序。它允许用户创建和管理多台客户机,这些可以在 Linux 或 Windows 操作系统中创建。
|
||||
|
||||
##### 先决条件
|
||||
与大多数虚拟化平台一样,它将硬件资源(如 CPU、内存、存储、网络、图形等)抽象化,并将它们分配给独立于宿主机运行的客户机。
|
||||
|
||||
### 先决条件
|
||||
|
||||
- 预装 Rocky Linux 9 / AlmaLinux 9
|
||||
- 具有管理员权限的 Sudo 用户
|
||||
- 具有管理员权限的 sudo 用户
|
||||
- 互联网连接
|
||||
|
||||
### 1) 验证是否启用了硬件虚拟化
|
||||
### 1、验证是否启用了硬件虚拟化
|
||||
|
||||
首先,你需要验证你的系统是否启用了虚拟化功能。在大多数现代系统上,此功能已在 BIOS 中启用。但可以肯定的是,你可以验证是否如图所示启用了虚拟化。
|
||||
|
||||
该命令探测是否存在 vmx(虚拟机扩展),它是 Intel 硬件虚拟化的 CPU 标志,或 svm,它是 AMD 硬件虚拟化的标志。
|
||||
该命令探测是否存在 VMX(<ruby>虚拟机扩展<rt>Virtual Machine Extension</rt></ruby>),它是英特尔硬件虚拟化的 CPU 标志,或 SVM,它是 AMD 硬件虚拟化的标志。
|
||||
|
||||
```
|
||||
$ cat /proc/cpuinfo | egrep "vmx|svm"
|
||||
```
|
||||
|
||||
从以下输出中,你可以看到我们的系统启用了 Intel 硬件虚拟化。
|
||||
从以下输出中,你可以看到我们的系统启用了英特尔硬件虚拟化:
|
||||
|
||||
![][1]
|
||||
|
||||
### 2) 在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM
|
||||
### 2、在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM
|
||||
|
||||
确保启用虚拟化后,下一步就是安装 KVM 和管理工具。为此,请运行以下 dnf 命令。
|
||||
确保启用虚拟化后,下一步就是安装 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
|
||||
@ -52,13 +54,13 @@ $ sudo dnf install qemu-kvm virt-manager libvirt virt-install virt-viewer virt-t
|
||||
$ lsmod | grep kvm
|
||||
```
|
||||
|
||||
你应该得到以下输出以确认已加载必要的模块。
|
||||
你应该得到以下输出以确认已加载必要的模块:
|
||||
|
||||
![][3]
|
||||
|
||||
### 3) 启动并启用 libvirtd 守护进程
|
||||
### 3、启动并启用 libvirtd 守护进程
|
||||
|
||||
在下一步中,一定要启动 libvirtd 守护进程。这是一个服务器端守护程序组件,可在虚拟客户上运行和管理任务。它用于管理虚拟化技术,例如 Xen、KVM 和 ESXi 等等。
|
||||
在下一步中,一定要启动 libvirtd 守护进程。这是一个服务器端守护程序组件,可在虚拟化的客户机上运行和管理任务。它用于管理虚拟化技术,例如 Xen、KVM 和 ESXi 等等。
|
||||
|
||||
要启动 libvirtd 守护进程,请运行以下命令:
|
||||
|
||||
@ -66,13 +68,13 @@ $ lsmod | grep kvm
|
||||
$ sudo systemctl start libvirtd
|
||||
```
|
||||
|
||||
请务必启用该服务以在引导时启动。
|
||||
请务必启用该服务以在引导时启动:
|
||||
|
||||
```
|
||||
$ sudo systemctl enable --now libvirtd
|
||||
```
|
||||
|
||||
验证 libvirtd 守护进程是否正在运行,如下所示。
|
||||
验证 libvirtd 守护进程是否正在运行,如下所示:
|
||||
|
||||
```
|
||||
$ sudo systemctl status libvirtd
|
||||
@ -80,9 +82,9 @@ $ sudo systemctl status libvirtd
|
||||
|
||||
![][4]
|
||||
|
||||
### 4) 设置桥接口
|
||||
### 4、设置桥接接口
|
||||
|
||||
到目前为止,我们已经安装了 KVM 和所有管理工具,事实上,我们可以继续启动虚拟机。但是,如果我们可以从管理程序网络外部访问 VM,那就太好了。为此,我们需要创建一个桥接口。
|
||||
到目前为止,我们已经安装了 KVM 和所有管理工具,事实上,我们可以继续启动虚拟机。但是,如果我们可以从管理程序网络外部访问虚拟机,那就太好了。为此,我们需要创建一个桥接接口。
|
||||
|
||||
首先,确定系统上的网络接口。
|
||||
|
||||
@ -90,13 +92,15 @@ $ sudo systemctl status libvirtd
|
||||
$ sudo nmcli connection show
|
||||
```
|
||||
|
||||
从输出来看,ens160 是活动的网络接口,请务必注意你的情况下的接口,因为你将一路使用它。
|
||||
从输出来看,`ens160` 是活动的网络接口,请务必注意你的情况下的接口,因为你将一路使用它。
|
||||
|
||||
![][5]
|
||||
|
||||
要开始创建网桥,首先,使用以下语法中的 UUID 删除连接。
|
||||
要开始创建网桥,首先,使用以下语法用其 UUID 删除连接:
|
||||
|
||||
```
|
||||
$ sudo nmcli connection delete UUID
|
||||
```
|
||||
|
||||
在我们的例子中,命令将是:
|
||||
|
||||
@ -110,17 +114,19 @@ $ 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”)
|
||||
- 网桥名称 – 新网桥的首选名称(例如 `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 是首选的网桥接口名称。因此,命令将如图所示。
|
||||
在我们的例子中,`br1` 是首选的网桥接口名称。因此,命令将如图所示:
|
||||
|
||||
```
|
||||
$ sudo nmcli connection add type bridge autoconnect yes con-name br1 ifname br1
|
||||
@ -130,9 +136,11 @@ $ sudo nmcli connection add type bridge autoconnect yes con-name br1 ifname br1
|
||||
|
||||
在接下来的步骤中,你将通过指定 IP 子网、网关和 DNS 值来修改网桥。
|
||||
|
||||
首先使用以下语法指定 IP 子网。
|
||||
首先使用以下语法指定 IP 子网:
|
||||
|
||||
```
|
||||
$ sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4.method manual
|
||||
```
|
||||
|
||||
根据我们的设置,命令将是:
|
||||
|
||||
@ -140,9 +148,11 @@ $ sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4
|
||||
$ sudo nmcli connection modify br1 ipv4.addresses 192.168.2.150/24 ipv4.method manual
|
||||
```
|
||||
|
||||
接下来,使用以下语法指定网关地址
|
||||
接下来,使用以下语法指定网关地址:
|
||||
|
||||
```
|
||||
$ sudo nmcli connection modify BRIDGE NAME ipv4.gateway GATEWAY
|
||||
```
|
||||
|
||||
根据我们的网络,该命令采用以下格式:
|
||||
|
||||
@ -152,7 +162,9 @@ $ sudo nmcli connection modify br1 ipv4.gateway 192.168.2.1
|
||||
|
||||
DNS 地址的语法如下:
|
||||
|
||||
```
|
||||
$ sudo nmcli connection modify BRIDGE NAME ipv4.dns DNS1 +ipv4.dns DNS2
|
||||
```
|
||||
|
||||
该命令采用以下格式:
|
||||
|
||||
@ -164,7 +176,9 @@ $ 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
|
||||
```
|
||||
|
||||
使用我们的值,命令如图所示:
|
||||
|
||||
@ -194,7 +208,7 @@ $ sudo nmcli connection up br1
|
||||
|
||||
![][11]
|
||||
|
||||
此外,你可以使用 ip addr 命令验证:
|
||||
此外,你可以使用 `ip addr` 命令验证:
|
||||
|
||||
```
|
||||
$ ip addr | grep br1
|
||||
@ -208,7 +222,7 @@ $ ip addr | grep br1
|
||||
$ sudo vi /etc/qemu-kvm/bridge.conf
|
||||
```
|
||||
|
||||
添加以下行。
|
||||
添加以下行:
|
||||
|
||||
```
|
||||
allow all
|
||||
@ -220,7 +234,7 @@ allow all
|
||||
$ sudo systemctl restart libvirtd
|
||||
```
|
||||
|
||||
### 5) 创建虚拟机
|
||||
### 5、创建虚拟机
|
||||
|
||||
安装 KVM 并配置桥接连接后,现在让我们创建一个虚拟机。在执行之前,为登录用户分配必要的所有权,以便在不切换到 root 的情况下运行命令。
|
||||
|
||||
@ -232,15 +246,15 @@ $ sudo chown -R $USER:libvirt /var/lib/libvirt/
|
||||
|
||||
```
|
||||
$ 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
|
||||
--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]
|
||||
@ -251,10 +265,12 @@ $ virt-install \
|
||||
|
||||
![][15]
|
||||
|
||||
##### 总结
|
||||
### 总结
|
||||
|
||||
我们关于如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM 的文章到此结束,非常欢迎你提供反馈。
|
||||
|
||||
*(题图:MJ/a364d6e3-0c59-4be8-bf02-5df078359429)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/
|
||||
@ -262,7 +278,7 @@ via: https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
@ -279,7 +295,8 @@ via: https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/
|
||||
[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?ezimgfmt=ng:webp/ngcb22
|
||||
[13]: https://www.linuxtechi.com/wp-content/uploads/2023/04/Virt-Install-command-RockyLinux-AlmaLinux.png?ezimgfmt=ng:webp/ngcb22
|
||||
[14]: https://www.linuxtechi.com/wp-content/uploads/2023/04/VNC-connection-KVM-VM-RockyLinux-AlmaLinux.png?ezimgfmt=ng:webp/ngcb22
|
||||
[15]: https://www.linuxtechi.com/wp-content/uploads/2023/04/VNC-Console-KVM-GUI-RockyLinux-AlmaLinux.png?ezimgfmt=ng:webp/ngcb22
|
||||
[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
|
Loading…
Reference in New Issue
Block a user