Rocky Linux部署KVM需先启用CPU硬件虚拟化(VT-x/AMD-V或嵌套虚拟化),再安装qemu-kvm等核心组件,启用libvirtd服务,配置桥接网络br0,最后将用户加入libvirt组获管理权限。

在Rocky Linux上部署KVM虚拟机是企业级服务器虚拟化的标准实践,需确保硬件虚拟化启用、内核模块加载、服务稳定运行、网络可外联、权限分配合理,且所有操作必须在root或具备sudo权限的用户下执行。
确认CPU硬件虚拟化已开启
这一步不可跳过,否则后续所有安装将无法正常运行KVM虚拟机。进入BIOS/UEFI设置,Intel CPU需开启VT-x,AMD CPU需开启AMD-V;保存退出后重启系统。
登录系统后执行:grep -E 'vmx|svm' /proc/cpuinfo。若无任何输出,说明虚拟化未启用,必须重新进BIOS配置;有输出(如含vmx或svm)即通过。
【关键前提】若宿主机本身是VMware或Hyper-V中的虚拟机,还需在该平台中显式勾选“启用嵌套虚拟化”,否则/proc/cpuinfo始终为空。
安装KVM核心组件与管理工具
Rocky Linux 9+ 默认仓库已包含全部KVM基础包,无需额外添加EPEL即可完成生产级部署:
执行:dnf install -y qemu-kvm libvirt virt-install virt-viewer bridge-utils libguestfs-tools edk2-ovmf swtpm virtio-win
其中edk2-ovmf和swtpm为Windows 11虚拟机必需组件,virtio-win提供高性能半虚拟化驱动——即使当前只部署Linux虚拟机,也建议一并安装,避免后期扩容时重复操作。
桌面环境非必需:若宿主机为最小化安装(无GUI),请勿安装virt-manager,它会拉入大量X11依赖,增加攻击面与维护成本。
启用libvirtd服务并验证运行状态
第一步:启动并设为开机自启:systemctl enable --now libvirtd
第二步:检查服务是否真正就绪:systemctl status libvirtd,确认输出中包含active (running)且无红色failed字样。
第三步:验证KVM内核模块是否加载:lsmod | grep -E 'kvm_(intel|amd)'。Intel平台应看到kvm_intel,AMD平台应看到kvm_amd;若仅显示kvm而无具体子模块,说明CPU虚拟化未生效或被SELinux拦截。
配置可外联的桥接网络
NAT模式(默认virbr0)仅支持虚拟机访问外网,不支持物理网络中的其他设备直接SSH/VNC连接虚拟机——生产环境必须切换为桥接模式。
方法一:使用nmcli快速创建(推荐)
① 查看物理网卡名:nmcli connection show,记下TYPE为ethernet且STATE为connected的DEVICE,例如ens33
② 创建桥接接口:nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
③ 将物理网卡作为从属设备绑定至桥接:nmcli connection modify ens33 master br0(此处ens33需替换为你的真实网卡名)
④ 启用新桥接:nmcli connection up br0
【不可逆操作】执行第③步前,请确保你不是通过该物理网卡的SSH远程连接——否则连接将立即中断。务必在本地终端或带IPMI/iDRAC的带外环境中操作。
授予普通用户虚拟机管理权限
默认只有root可调用virsh/virt-install等命令。将运维人员加入libvirt组即可免密操作:
usermod -aG libvirt deployuser(将deployuser替换为实际用户名)
该用户需重新登录或执行newgrp libvirt才能生效组权限。此后可直接运行virsh list --all查看全部虚拟机,无需加sudo。



















