Skip to content

通过 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 界面

连接到面板

  1. 在本地机器上打开浏览器(例如 Ubuntu 上的 Firefox)。
  2. 导航到如下地址:
  3. https://<IP_address>:9090 — 通过 IP 访问时;
  4. https://<kvm_fqdn>:9090 — 通过 webpanel 标签中的域名访问时。

默认情况下,Cockpit 监听 TCP 端口 9090,必须在正在使用的防火墙(UFW、firewalld、iptables 等)中允许该端口。

登录和管理员访问

  1. 在登录页面,输入服务器用户名和密码(通常是电子邮件中提供的账户或由管理员创建的账户)。

  1. 登录后,打开 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)的关键部分。
  • 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: 所有守护进程(服务)列表。您可以启动、停止、重启并启用/禁用服务自动启动(例如,libvirtdsshnginx)。
  • Targets / Sockets / Timers: 管理其他 systemd 单元。

Tools

此部分通常分组附加插件。

  • Applications: Cockpit 应用管理器(安装附加模块)。
  • Software Updates: 系统更新管理(类似于 apt update / dnf update)。显示可用的安全补丁并允许一键安装。可以启用自动更新。
  • Terminal

浏览器中的全功能命令行 (shell):

  • 提供以当前用户身份访问服务器。
  • 如果图形界面不足,允许执行任何 virshhtopvim 等命令。
  • 通过 WebSockets 工作,支持复制/粘贴。

创建和安装客户 VM

准备 ISO 镜像(可选)

如果您计划使用自己的 ISO 镜像,请提前将其上传到服务器,例如到 /var/lib/libvirt/images//tmp/。如果您想通过 Cockpit 使用自动下载流行发行版的功能,可以跳过此步骤。

创建新虚拟机

  1. 在左侧 Cockpit 菜单中,转到 Virtual Machines 部分。
  2. 点击 Create VM 按钮。

  3. 在打开的向导中,设置参数:

  4. Name: 指定唯一名称,例如 TestVM
  5. Installation Type: 选择可用选项之一:
    • Download an OS: 最简单的方法。从列表中选择操作系统,Cockpit 将下载所需镜像。
    • Local install media: 如果您已将 ISO 文件上传到服务器,请选择此项。在出现的字段中,指定文件路径(例如,/tmp/ubuntu-24.04.1-desktop-amd64.iso)。
    • URL: 允许指定 ISO 的直接链接以下载。
  6. Operating System: 选择 Download an OS 时,列表将自动填充。使用本地 ISO 时,系统将尝试自行检测操作系统,或者您可以从列表中手动选择。
  7. Storage:
    • Size: 指定虚拟磁盘的大小(例如,20 GiB)。磁盘将自动创建。
  8. Memory: 指定要分配的 RAM 量(例如,4 GiB)。
  9. Immediately start VM: 如果您想立即开始安装,请保留复选标记;如果需要在启动前更改设置(例如,网络),请取消复选标记。

  10. 如果需要额外设置(例如,选择网络桥接),请取消 Immediately start VM 并点击 Create

安装前的额外配置

如果您选择创建而不立即启动,将打开 VM 页面。转到 Network Interfaces 选项卡:

  1. 确保 Source 字段设置为:
  2. 桥接接口 br0,如果 VM 应从与主机相同的网络获取 IP(推荐用于外部可访问性);
  3. 或标准 NAT 网络 defaultvirbr0,如果 VM 互联网访问无需直接外部可见性就足够了。
  4. 点击 Add 以启动 VM 并开始安装。

VM 控制台中的安装过程

  1. 在虚拟机列表中,选择创建的 TestVM
  2. 点击 Install 按钮。
  3. 您将在 Console 选项卡中看到操作系统安装屏幕。按照安装程序说明操作(语言选择、磁盘分区、用户创建)。

安装完成后,虚拟机将重启并准备使用。

检查和基本 VM 管理

首次启动和网络测试

  1. 确保 TestVM 处于 Running 状态。
  2. 在 Cockpit 中打开 VM 控制台,并使用安装期间创建的用户登录。
  3. 在客户操作系统内部,打开终端并检查网络设置:
ip addr
  • 使用 br0 桥接时,VM 应从您的物理网络获取 IP,例如 192.168.0.x
  • 使用 NAT 网络 default 时,地址通常来自内部网络,例如 192.168.122.x

  • 检查互联网连接:

ping 8.8.8.8

Cockpit 中的日常 VM 操作

基本操作在每个虚拟机的卡片中可用:

  • Run — 启动已停止的 VM。
  • Shut Down — 优雅关闭客户操作系统 (ACPI 信号)。
  • Force shut down — 强制关机(断电)。
  • Reboot — 重启 VM。
  • Delete — 删除 VM(可选择删除关联的虚拟磁盘)。

通过 DisksNetwork Interfaces 选项卡,您可以添加额外设备。

备注

有关 Cockpit 功能和 KVM 管理的更多信息,请参阅 官方 Cockpit 文档

使用 API 订购通过 Cockpit 进行 Web 管理的 KVM

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×