通过 Cockpit 进行 Web 管理的 KVM¶
在这篇文章中
信息
KVM with web management via Cockpit 是一个基于 QEMU/KVM 的现成 hypervisor,预装了 Cockpit web panel 以及用于管理虚拟机的 cockpit-machines 模块。该解决方案旨在通过便捷的 Web 界面快速部署虚拟化基础设施,无需使用独立的 GUI 客户端或复杂的 CLI 命令。
部署功能¶
| ID | 软件名称 | 兼容操作系统 | 虚拟机 | 物理机 | vGPU | GPU | 最低CPU(核) | 最低内存(GB) | 最低硬盘(GB) | 自定义域名 | 是否启用 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 450 | KVM with Cockpit UI | Ubuntu 22.04, Ubuntu 24.04 | + | + | + | + | 4 | 8 | 100 | 否 | 订购 |
KVM/Cockpit 的主要路径和文件:
- VM 镜像与磁盘 (默认存储):
/var/lib/libvirt/images/ - VM 配置 (libvirt):
/etc/libvirt/qemu/ - Socket and libvirtd configuration:
/etc/libvirt/libvirtd.conf,/var/run/libvirt/ - Cockpit 配置:
/etc/cockpit/ - Cockpit TLS certificates (ws-certs):
/etc/cockpit/ws-certs.d/ - Let's Encrypt directory for Cockpit FQDN:
/etc/letsencrypt/live/<kvm_fqdn>/ - libvirt logs:
journalctl -u libvirtd,/var/log/libvirt/ - Cockpit logs:
journalctl -u cockpit -u cockpit.socket
备注
除非另有说明,否则默认会从操作系统仓库或开发人员网站安装 KVM、libvirt 和 Cockpit 的最新稳定版本。
部署后的入门指南¶
支付订单后,服务器就绪通知将发送到注册时提供的电子邮件地址。邮件中将包含 VPS/服务器 IP 地址、SSH 登录用户名和密码,以及服务器管理面板的链接 —— Invapi。
用户通过服务器管理面板和 API — Invapi 来管理设备。在所选服务器的 Configuration >> Tags 选项卡中,可以查看技术参数和服务链接。
授权数据可以在服务器管理面板的 Configuration >> Tags 选项卡或电子邮件中找到:
- 访问 Cockpit web interface 的链接:位于 webpanel 标签中(端口 9090, HTTPS)
访问 Cockpit Web Interface¶
连接到面板¶
- 在您的本地机器上打开浏览器(例如 Ubuntu 上的 Firefox)。
- 导航至如下地址:
https://<IP_address>:9090—— 通过 IP 访问时;https://<kvm_fqdn>:9090—— 通过 webpanel 标签中的域名访问时。
默认情况下,Cockpit 监听 TCP 端口 9090,必须在所使用的防火墙(UFW、firewalld、iptables 等)中允许该端口。
登录与管理权限¶
- 在登录页面,输入服务器的用户名和密码(通常是邮件中提供的账户或管理员创建的账户)。

- 登录后,将打开 Cockpit 启动页,显示关键指标 (CPU 负载、RAM、文件系统、网络流量)。
备注
如果需要执行管理虚拟机和系统服务的操作,您应在界面顶部点击 Turn on administrative access 按钮,以临时授予会话管理员 (sudo) 权限,而无需频繁输入密码。
启用管理权限后,即可进行管理虚拟机和系统服务的操作。
Cockpit 界面:各部分概述¶
Cockpit 界面左侧有一个简单、逻辑清晰的导航菜单。每个部分处理服务器和虚拟化管理的一个特定方面。
系统部分 (System Sections)¶
总览 (Dashboard)¶

服务器主页("Dashboard")显示系统健康状况摘要:
- Health: 系统状态(错误、警告)。
- Usage: 实时资源使用情况图表(CPU、RAM、Disk I/O、Network)。
- System information: 硬件信息、主机名、运行时间、操作系统版本。
- Configuration: 快速访问以更改 Host name、时间、加入域以及性能配置。
日志¶

用于查看系统日志的界面(类似于 journalctl):
- 允许按日期、严重程度 (Errors, Warnings, Notice) 和服务过滤日志。
- 便于在不使用控制台的情况下诊断 VM 启动错误或网络问题。
存储¶

磁盘子系统管理:
- Drives: 物理磁盘列表。您可以创建分区表、格式化磁盘。
- Filesystems: 查看挂载点和已用空间。
- NFS mounts: 连接远程 NFS 存储。
- Storage logs: 仅与磁盘子系统相关的日志。
网络¶

主机网络接口管理:
- Interfaces: 网卡列表。在此处您可以配置 IP 地址 (static/DHCP)、DNS 和网关。
- Add Bridge / Add Bond / Add VLAN: 创建网络桥接 (Bridge)、链路聚合 (Bonding) 和 VLAN 的按钮。这是配置虚拟机网络(创建
br0)的关键部分。
- Add Bridge / Add Bond / Add VLAN: 创建网络桥接 (Bridge)、链路聚合 (Bonding) 和 VLAN 的按钮。这是配置虚拟机网络(创建
- Firewall: 基础防火墙规则管理(如果安装了 firewalld)。
- Network logs: 网络日志。
虚拟化¶
虚拟机¶

管理 KVM hypervisor 的核心部分(需要安装 cockpit-machines 插件)。
- 虚拟机列表: 所有虚拟机的表格,显示其状态 (Running, Shut off) 和简要特征。
- 创建虚拟机: 创建新机器的向导(ISO 上传、磁盘创建)。
- 虚拟机详情视图: 点击机器会打开其详情卡片,包含以下选项卡:
- Overview: 常规设置、自动启动。
- Console: 直接在浏览器中访问 VM 屏幕 (VNC/SPICE)。
- Disks: 添加/移除虚拟磁盘。
- Network Interfaces: 将网络适配器绑定到 Bridge 或 NAT。
系统管理¶
账户¶

服务器用户管理:
- 创建新用户。
- Change passwords、锁定账户。
- 为用户配置 SSH keys。
- 管理管理员权限 (sudo)。
服务¶

systemd 的图形化层:
- Services: 所有守护进程(服务)的列表。您可以启动、停止、重启以及启用/禁用服务的自动启动(例如
libvirtd,ssh,nginx)。 - Targets / Sockets / Timers: 管理其他 systemd 单元。
工具¶
此部分通常包含额外的插件。
- Applications: Cockpit 应用管理器(安装额外模块)。
- Software Updates: 系统更新管理(类似于
apt update/dnf update)。显示可用的安全补丁并允许一键安装。可以启用自动更新。 - Terminal (Terminal)

浏览器中的全功能命令行 (shell):
- 提供以当前用户身份访问服务器的权限。
- 如果图形界面不足以完成任务,允许执行任何
virsh,htop,vim等命令。 - 通过 websockets 工作,支持复制/粘贴。
创建并安装客体虚拟机 (Guest VM)¶
准备 ISO Image (可选)¶
如果您打算使用自己的 ISO 镜像,请提前将其上传到服务器,例如上传到 /var/lib/libvirt/images/ 或 /tmp/。如果您想通过 Cockpit 使用流行发行版的自动下载功能,可以跳过此步骤。
创建新的 Virtual Machine¶
- 在左侧 Cockpit 菜单中,进入 Virtual Machines 部分。
-
点击
Create VM按钮。
-
在打开的向导中,设置以下参数:
- Name: 指定一个唯一的名称,例如
TestVM。 - Installation Type: 选择可用选项之一:
- Download an OS: 最简单的方法。从列表中选择一个操作系统,Cockpit 将下载所需的镜像。
- Local install media: 如果您已经将 ISO 文件上传到服务器,请选择此项。在出现的字段中,指定文件的路径(例如
/tmp/ubuntu-24.04.1-desktop-amd64.iso)。 - URL: 允许指定 ISO 的直接下载链接。
- Operating System: 当选择 Download an OS 时,列表将自动填充。使用本地 ISO 时,系统会尝试自行检测操作系统,或者您可以从列表中手动选择。
- Storage:
- Size: 指定虚拟磁盘的大小(例如
20 GiB)。磁盘将自动创建。
- Size: 指定虚拟磁盘的大小(例如
- Memory: 指定分配的 RAM 大小(例如
4 GiB)。 -
Immediately start VM: 如果您想立即开始安装,请保留勾选;如果您需要在启动前更改设置(例如网络),请取消勾选。
-
如果需要额外设置(例如选择网络桥接),请取消勾选 Immediately start VM 并点击
Create。
安装前的附加配置¶
如果您选择了不立即启动,则会打开一个 VM 页面。进入 Network Interfaces 选项卡:

- 确保 Source 字段设置为:
br0桥接接口,如果虚拟机需要从与主机相同的网络获取 IP(建议用于外部访问性);- 或者标准的 NAT 网络
defaultvirbr0,如果仅需 VM 具备互联网访问能力而无需直接的外部可见性。 - 点击
Add以启动 VM 并开始安装。
在 VM Console 中的安装过程¶

- 在虚拟机列表中,选择已创建的
TestVM。 - 点击
Install按钮。 - 您将在 Console 选项卡中看到操作系统安装界面。按照安装程序指示进行操作(语言选择、磁盘分区、用户创建)。
安装完成后,虚拟机将重启并准备就绪。
检查与基础虚拟机管理¶
首次启动与网络测试¶
- 确保
TestVM处于 Running 状态。 - 在 Cockpit 中打开 VM console 并使用安装期间创建的用户登录。
- 在 Guest OS 内部,打开终端并检查网络设置:
- 使用
br0桥接时,VM 应从您的物理网络获取 IP,例如192.168.0.x。 -
使用 NAT 网络
default时,地址通常来自内部网络,例如192.168.122.x。 -
检查互联网连接:
Cockpit 中的日常 VM 操作¶
在每台虚拟机的卡片中都提供了基础操作:

- Run — 启动已停止的 VM。
- Shut Down — 优雅地关闭 Guest OS (ACPI 信号)。
- Force shut down — 强制关机 (Power off)。
- Reboot — 重启 VM。
- Delete — 删除 VM(并提供删除关联虚拟磁盘的选项)。
通过 Disks 和 Network Interfaces 选项卡,您可以添加额外的设备。
备注
有关 Cockpit 功能和 KVM 管理的更多信息,请参阅 官方 Cockpit 文档。
使用 API 订购通过 Cockpit 进行 Web 管理的 KVM¶
要使用 API 安装此软件,请遵循这些说明。