插件窝 干货文章 如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM

如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM

libvirt 虚拟化 bash sudo 335    来源:    2025-04-20

在 Rocky Linux 9 或 AlmaLinux 9 上安装 KVM(Kernel-based Virtual Machine)的步骤如下:


1. 检查 CPU 虚拟化支持

在安装前,确保你的 CPU 支持虚拟化技术(Intel VT-x 或 AMD-V):

egrep -c '(vmx|svm)' /proc/cpuinfo

如果输出大于 0,则表示支持虚拟化。如果返回 0,需在 BIOS 中启用虚拟化功能。


2. 安装 KVM 及相关软件包

更新系统并安装必要的软件包:

sudo dnf update -y
sudo dnf install -y qemu-kvm libvirt virt-install virt-viewer libvirt-client virt-manager bridge-utils
  • qemu-kvm: KVM 虚拟化核心组件。
  • libvirt: 管理虚拟机的守护进程和工具。
  • virt-install: 用于创建虚拟机的命令行工具。
  • virt-manager: 图形化管理工具(可选,需桌面环境)。
  • bridge-utils: 网络桥接工具(用于虚拟机网络配置)。

3. 启动并启用 libvirtd 服务

sudo systemctl enable --now libvirtd

检查服务状态:

sudo systemctl status libvirtd

4. 验证 KVM 安装

运行以下命令确认 KVM 模块已加载:

lsmod | grep kvm

正常输出应包含 kvm_intelkvm_amd


5. 配置网络(可选)

默认情况下,libvirt 使用 NAT 网络(virbr0)。如需桥接网络,创建桥接接口:

5.1 创建桥接网络

编辑网络配置文件(如 br0):

sudo nmcli connection add type bridge ifname br0
sudo nmcli connection modify bridge-br0 bridge.stp no
sudo nmcli connection add type bridge-slave ifname eth0 master br0

替换 eth0 为你的物理网卡名称。

5.2 激活桥接

sudo nmcli connection up bridge-br0

6. 创建虚拟机

方法 1:使用 virt-install(命令行)

sudo virt-install \
  --name=my-vm \
  --vcpus=2 \
  --memory=2048 \
  --disk path=/var/lib/libvirt/images/my-vm.qcow2,size=20 \
  --os-variant=rhel9.0 \
  --cdrom=/path/to/iso \
  --network bridge=br0
  • --os-variant: 通过 osinfo-query os 查看支持的系统类型。
  • --cdrom: 指定 ISO 镜像路径。

方法 2:使用 virt-manager(图形界面)

  1. 安装后运行: bash sudo virt-manager
  2. 通过 GUI 向导创建虚拟机。

7. 管理虚拟机

常用命令: - 列出虚拟机: bash virsh list --all - 启动/关闭虚拟机: bash virsh start my-vm virsh shutdown my-vm - 删除虚拟机: bash virsh undefine my-vm


8. 防火墙配置(如需远程管理)

允许 KVM 默认端口:

sudo firewall-cmd --add-service=libvirt --permanent
sudo firewall-cmd --reload

常见问题

  1. 权限问题:将用户加入 libvirt 组以避免 sudobash sudo usermod -aG libvirt $(whoami) newgrp libvirt
  2. 虚拟管理器无法连接:确保 libvirtd 服务运行且用户权限正确。

通过以上步骤,你可以在 Rocky Linux 9 / AlmaLinux 9 上成功部署 KVM 虚拟化环境。如需更高级配置(如存储池、GPU 直通等),请参考 libvirt 官方文档