RockyLinux9.7安装部署KVM虚拟化
RockyLinux 9.7 安装部署 KVM 虚拟化一、前置检查1. BIOS/UEFI 开启硬件虚拟化Intel CPU开启VT-xAMD CPU开启AMD-V2. 系统内验证虚拟化支持# 方式1lscpu|grepVirtualization# 有输出 Virtualization: VT-x / AMD-V 即正常# 方式2grep-Evmx|svm/proc/cpuinfo# Intel输出vmxAMD输出svm代表已开启无输出则重启进入 BIOS 开启虚拟化二、系统更新 安装 EPEL 源Rocky 9 系统更新、扩展工具依赖 EPELsudodnf update-ysudodnfinstall-yepel-release三、一键安装全套 KVM 虚拟化组件桌面版带图形管理器 virt-managersudodnfinstall-yqemu-kvm libvirt virt-install virt-viewer virt-manager bridge-utils libguestfs-tools edk2-ovmf swtpm virtio-win包说明qemu-kvmKVM 底层虚拟化libvirt虚拟化管理 APIvirt-manager图形 GUI 管理工具virt-install命令行创建虚拟机bridge-utils网卡桥接必备edk2-ovmf虚拟机 UEFI 启动 (windows11必备)swtpm虚拟机 TPM2.0 (win11)virtio-winWindows 虚拟机高性能驱动无服务器/纯命令行(不安装图形管理器)sudodnfinstall-yqemu-kvm libvirt virt-install bridge-utils libguestfs-tools edk2-ovmf swtpm四、启用并开机自启 libvirtd 服务# 立即启动开机自启sudosystemctlenable--nowlibvirtd# 查看运行状态systemctl status libvirtd出现active (running)代表服务正常启动。五、验证 KVM 内核模块加载lsmod|grepkvm正常输出示例IntelAMD 会显示kvm_amd六、权限配置普通用户管理虚拟机默认只有 root 能操作将当前用户加入 libvirt 组sudousermod-aGlibvirt$USER# 刷新组权限无需重启newgrp libvirt七、防火墙放行虚拟化端口远程 VNC/图形# 放行VNC虚拟机控制台端口sudofirewall-cmd --add-port5900-5999/tcp--permanent# 放行libvirt远程管理sudofirewall-cmd --add-servicelibvirt--permanentsudofirewall-cmd--reload八、网络配置方案1默认 NAT 网络安装完 libvirt 后自动生成virbr0NAT 网卡虚拟机可上网并与宿主机互通外部无法直接连接虚拟机。查看默认网络状态virshnet-list--all# 启动默认网络virshnet-start default# 设置开机自启virshnet-autostart default方案2桥接网络虚拟机同局域网独立IP查看物理网卡名ipa从ip a看出在用的物理网卡eno1IP10.10.30.9/24网关网段10.10.30.x。其余 eno2/eno3/eno4 都是离线不用管。virbro0 是默认 NAT不用管或关闭共存即可。nmcli 创建桥接 br0# 新建网桥设备br0nmcli connectionaddtypebridge con-name br0 ifname br0 autoconnectyes# 将eno1绑定为网桥从口nmcli connectionaddtypebridge-slave con-name br0-slave-eno1 ifname eno1 master br0 autoconnectyes给网桥配置现有静态 IP10.10.30.9nmcli connection modify br0 ipv4.method manual\ipv4.addresses10.10.30.9/24\ipv4.gateway10.10.30.1\ipv4.dns223.5.5.5,8.8.8.8注意10.10.30.1是局域网网关如果你的网关不是这个替换成真实网关 IP。启用网桥、删除原 eno1 网卡配置# 拉起网桥nmcli connection up br0# 删除原来eno1独立网卡配置IP转移到br0了nmcli connection delete eno1QEMU 桥接权限必须执行否则虚拟机无法启用 br0echoallow all|tee/etc/qemu-kvm/bridge.conf systemctl restart libvirtd验证桥接是否成功执行ip a正常输出会看到br0网卡带有inet 10.10.30.9/24eno1 作为 br0 的从属设备不再单独有 IPvirbr0 依然保留不影响虚拟机创建时使用桥接网络新建虚拟机时网络源选择br0虚拟机开机自动获取10.10.30.x同网段独立IP局域网所有设备可直接访问。下一篇我们将用 KVM虚拟化 创建 RockyLinux9 的虚拟机