通过 Cockpit 进行 Web 管理的 KVM¶
在这篇文章中
信息
通过 Cockpit 进行 Web 管理的 KVM 是一个基于 QEMU/KVM 的现成 hypervisor,预装了 Cockpit Web 面板和用于管理虚拟机的 cockpit-machines 模块。该解决方案旨在通过便捷的 Web 界面快速部署虚拟化基础设施,无需使用单独的 GUI 客户端或复杂的 CLI 命令。
部署功能¶
| ID | 软件名称 | 兼容操作系统 | 虚拟机 | 物理机 | vGPU | GPU | 最低CPU(核) | 最低内存(GB) | 最低硬盘(GB) | 自定义域名 | 是否启用 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 450 | KVM with Cockpit UI | Ubuntu 22.04 | + | + | + | + | 4 | 8 | 100 | 否 | 订购 |
KVM/Cockpit 的主要路径和文件:
- VM 镜像和磁盘 (默认存储):
/var/lib/libvirt/images/ - VM 配置 (libvirt):
/etc/libvirt/qemu/ - Socket 和 libvirtd 配置:
/etc/libvirt/libvirtd.conf,/var/run/libvirt/ - Cockpit 配置:
/etc/cockpit/ - Cockpit TLS 证书 (ws-certs):
/etc/cockpit/ws-certs.d/ - Cockpit FQDN 的 Let's Encrypt 目录:
/etc/letsencrypt/live/<kvm_fqdn>/ - libvirt 日志:
journalctl -u libvirtd,/var/log/libvirt/ - Cockpit 日志:
journalctl -u cockpit -u cockpit.socket
备注
除非另有说明,默认情况下会从操作系统存储库或开发者网站安装 KVM、libvirt 和 Cockpit 软件包的最新稳定版本。
部署后的入门指南¶
支付订单后,服务器就绪的通知将发送到注册时提供的电子邮件地址。电子邮件中将包含 VPS/服务器 IP 地址、SSH 登录名和密码,以及服务器管理面板的链接 — Invapi。
客户通过服务器管理面板和 API — Invapi 管理设备。在所选服务器的 Configuration >> Tags 选项卡中,可以查看技术参数和服务链接。
授权数据可以在服务器管理面板的 Configuration >> Tags 选项卡或电子邮件消息中找到:
- 访问 Cockpit Web 界面的链接:在 webpanel 标签中(端口 9090,HTTPS)
访问 Cockpit Web 界面¶
连接到面板¶
- 在本地机器上打开浏览器(例如 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 界面左侧有一个简单、逻辑清晰的导航菜单。每个部分处理服务器和虚拟化管理的特定方面。
系统部分¶
Overview¶

服务器的主页面 ("Dashboard") 显示系统健康状况的摘要:
- Health: 系统状态(错误、警告)。
- Usage: 实时资源使用图表(CPU、RAM、磁盘 I/O、网络)。
- System information: 硬件信息、主机名、正常运行时间、操作系统版本。
- Configuration: 快速访问以更改主机名、时间、加入域和性能配置文件。
Logs¶

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

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

主机网络接口管理:
- Interfaces: 网卡列表。在此您可以配置 IP 地址(静态/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: 网络日志。
Virtualization¶
Virtual Machines¶

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

服务器用户管理:
- 创建新用户。
- 更改密码、锁定账户。
- 为用户配置 SSH 密钥。
- 管理管理员权限 (sudo)。
Services¶

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

浏览器中的全功能命令行 (shell):
- 提供以当前用户身份访问服务器。
- 如果图形界面不足,允许执行任何
virsh、htop、vim等命令。 - 通过 WebSockets 工作,支持复制/粘贴。
创建和安装客户 VM¶
准备 ISO 镜像(可选)¶
如果您计划使用自己的 ISO 镜像,请提前将其上传到服务器,例如到 /var/lib/libvirt/images/ 或 /tmp/。如果您想通过 Cockpit 使用自动下载流行发行版的功能,可以跳过此步骤。
创建新虚拟机¶
- 在左侧 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,如果 VM 应从与主机相同的网络获取 IP(推荐用于外部可访问性); - 或标准 NAT 网络
defaultvirbr0,如果 VM 互联网访问无需直接外部可见性就足够了。 - 点击
Add以启动 VM 并开始安装。
VM 控制台中的安装过程¶

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

- Run — 启动已停止的 VM。
- Shut Down — 优雅关闭客户操作系统 (ACPI 信号)。
- Force shut down — 强制关机(断电)。
- Reboot — 重启 VM。
- Delete — 删除 VM(可选择删除关联的虚拟磁盘)。
通过 Disks 和 Network Interfaces 选项卡,您可以添加额外设备。
备注
有关 Cockpit 功能和 KVM 管理的更多信息,请参阅 官方 Cockpit 文档。