KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

2026-01-23 10:52:35 0点赞 1收藏 0评论

📘 文档目的与功能

  本文档旨在提供一个 清晰、可靠、可复现 的指南,将在 Rocky Linux 9.6 系统上从零开始安装和配置 KVM 虚拟化平台,并搭配 Cockpit Web 界面进行可视化管理。内容包括:

  本指南适用于 物理服务器虚拟化平台内嵌套运行 KVM 的场景,尤其注重解决桥接网络、存储池创建、Cockpit 界面与 CLI 协同配置等常见难点。

脚本快速部署

https://gitee.com/cncsrf/rocky-kvm-cockpit-auto-deploy

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

🛠️ 一、系统环境准备

1. 系统信息

  • 操作系统:Rocky Linux 9.6(最小化安装)

  • IP 地址:192.168.20.72/23

  • 网关:192.168.20.1

  • 网络接口ens33

  • 目标:安装 KVM + libvirt + Cockpit,通过 Cockpit 管理虚拟机

#IP及接口信息

ip a|grep 192.168

inet 192.168.20.72/23 brd 192.168.21.255 scope global noprefixroute ens33

2. 更换国内源

3. 检查硬件虚拟化支持

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

#若返回值大于 0,则表示支持虚拟化

📦 二、安装 KVM 与 Cockpit

1. 更新系统并安装组件

dnf update -y

dnf install -y cockpit cockpit-machines libvirt qemu-kvm virt-install virt-viewer

dnf install -y wget lrzsz net-tools

2. 启动服务

systemctl enable --now libvirtd cockpit.socket

systemctl status libvirtd

systemctl status cockpit.socket

3. 允许 Cockpit 使用 root 登录

echo "#root" | tee /etc/cockpit/disallowed-users

4. 开放防火墙端口(默认无需操作)

firewall-cmd --add-port=9090/tcp --permanent

firewall-cmd --reload

5. 访问 Cockpit

  • 浏览器访问:http://你的服务器IP:9090

  • 使用 root 及系统密码登录

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

🌉 三、配置桥接网络(bridge)

Cockpit 无法创建桥接网络,必须使用命令行创建。

1. 创建桥接接口 br0

nmcli con add type bridge ifname br0 stp no

nmcli con add type bridge-slave ifname ens33 master br0

2. 配置桥接 IP

nmcli con modify bridge-br0 ipv4.addresses 192.168.20.72/23

nmcli con modify bridge-br0 ipv4.gateway 192.168.20.1

nmcli con modify bridge-br0 ipv4.dns 114.114.114.114

nmcli con modify bridge-br0 ipv4.method manual

nmcli con up bridge-br0

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

3. 验证桥接状态

ip a show br0

#应显示 state UP 和 LOWER_UP,发现异常,继续第4步操作

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

4. 常见问题:NO-CARRIER

如果 br0 显示 NO-CARRIER,说明 ens33 未正确作为 slave 加入桥接,执行:

nmcli con down ens33

nmcli con up bridge-slave-ens33

nmcli con up bridge-br0

systemctl restart NetworkManager

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

🔧 四、配置 libvirt 网络

1. 查看默认网络

virsh net-list --all

#默认会显示 default(virbr0,NAT 网络)

2. 禁用 NAT 网络(如不需要)

virsh net-autostart default --disable

virsh net-destroy default

3. 彻底移除 NAT 网络定义(可选)

virsh net-undefine default

#此后 Cockpit 中将不再显示 default 网络

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

💾 五、创建存储池(可选)

1. 创建存储目录

mkdir -p /home/images

2. 创建 libvirt 存储池(Cockpit 可识别)

virsh pool-define-as

--name default_pool

--type dir

--target /home/images

#然后依次执行:

virsh pool-start default_pool

virsh pool-autostart default_pool

#验证

virsh pool-list --all

3. 上传 ISO 镜像

将所需 ISO 镜像上传至 /home/images

🖥️ 六、通过 Cockpit 创建虚拟机

1. 访问 Cockpit → 虚拟机 → 创建虚拟机

  • 安装源:选择 /home/images/xxx.iso

  • 存储:选择 default_pool 或自定义路径

  • 网络:选择 br0(桥接模式)

  • 内存、CPU:按需分配

2. 编辑和检查虚拟机 

  • 网络接口:检查IP信息是否正确

  • 安装系统:如没问题,选择安装系统

  • 如使用 DHCP,应能自动获取 IP(若在虚拟化平台内,需开启混杂模式

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

🛠️ 七、命令行创建虚拟机(可选)

virt-install

--name vm1

--ram 2048

--vcpus 2

--os-variant centos7.0

--cdrom /home/images/centos.iso

--disk path=/home/images/vm1.qcow2,size=20

--network bridge=br0,model=virtio

--graphics vnc,listen=0.0.0.0

🧪 八、常见问题排查

1. 虚拟机无法获取 IP(DHCP 失败)

  • 检查桥接状态bridge link 中应有 vnetXens33 均为 forwarding

  • 检查混杂模式:若在 ESXi 等虚拟化平台内,需开启 混杂模式MAC 地址变更允许

2. Cockpit 无法访问

  • 确认服务状态:systemctl status cockpit.socket

  • 确认防火墙开放 9090 端口

  • 确认已安装 cockpit-machines

3. 存储池无法识别

  • 使用 virsh pool-list --all 确认池状态为 active

  • 确认目录权限:chown -R root:root /home/images

📋九、其它问题

📎附录:常用命令速查

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

🚀 Cockpit 扩展 + 自定义脚本

如果想管理多台KVM,要相对简单的方式,可以:

  1. 在多个服务器上都安装 Cockpit

  2. 使用 Cockpit Machines远程连接功能

  3. 配置共享存储(如 NFS)

  4. 使用脚本实现基础迁移


🔄 单机方案 vs 集群方案对比

KVM虚拟化平台搭建与Cockpit管理:基于Rocky Linux 9.6

作者提示含AI生成内容。作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1
扫一下,分享更方便,购买更轻松