---
url: https://cubesandbox.com/zh/changelog/v0.2.0.md
---

## 2026.05.07 发布 v0.2.0

### 🌟 重大新功能

* **新增 Web 管理控制台（Dashboard）**：全新可视化管理界面，支持集群概览、节点与沙箱状态查看、模板管理、API 密钥管理等核心功能；同步新增 CubeAPI Web 端点为 Dashboard 提供数据支撑。

* **新增 PVM 部署模式**：借助 PVM（Pagetable-based Virtual Machine），**普通云服务器无需裸金属，也无需嵌套虚拟化，即可完整运行 CubeSandbox**。腾讯云已在生产环境大规模部署并验证，相关改进已开源至 [OpenCloudOS 内核](https://gitee.com/OpenCloudOS/OpenCloudOS-Kernel.git)。

### ✨ 功能增强

* **CubeMaster 模板创建支持自定义 DNS**：`cubemastercli template` 命令新增 `--dns` 参数，支持在创建模板镜像时指定 DNS 服务器地址。

### 🛠️ 关键修复

* **修复**磁盘 QoS（blk\_qos）配置完全失效问题：Cubelet 读取 QoS annotation 时使用了错误的 key，导致沙箱磁盘 IOPS/带宽限速静默不生效；修复后配置按预期生效。

* **修复** Host Mount 请求被静默丢弃问题：CubeAPI 写入 `host-mount` annotation 时 key 与 CubeMaster 读取时的 `hostdir-mount` 不一致，导致所有宿主机目录挂载请求被忽略；修复后两侧 key 对齐，功能恢复正常。

* **修复** Cubelet 挂载命名空间无法接收宿主机 mount 事件：Cubelet 以私有模式创建挂载命名空间，导致宿主机后续挂载无法传播至 Cubelet；修复后改为 slave 模式，宿主机挂载事件单向传播，沙箱 host-mount 功能完整可用。

* **修复** DeadGC 误判 pause 中的沙箱导致其永久冻结：`scanDeadContainer` 在沙箱处于 pausing/paused 状态时向 shim 发起 state 查询，因 shim 持有互斥锁而超时，Cubelet 将状态标记为 UNKNOWN，沙箱无法恢复；修复后 DeadGC 主动跳过此类沙箱。

### 🌐 网络改进

* **禁用 virtio-net TAP 网络卸载（TSO/UFO/CSUM）**：此前 hypervisor 向 guest 通告了多项网络硬件卸载能力，guest 发出的 CHECKSUM\_PARTIAL 包在宿主机 NIC 不支持对应卸载时会导致网络异常，甚至影响同宿主机其他流量；修复后 hypervisor 不再通告这些能力，guest 自行处理 checksum 与分段。

### ⚙️ 工程改进

* **Cubelet CLI 日志标准化**：将 `cubecli` 各子命令中遗留的 `myPrint` 自定义输出统一迁移为标准结构化日志。
* **废弃代码清理**：移除 CubeMaster affinityutil 测试中不再使用的 `AppId` 字段。

### 📚 文档更新

* **新增 PVM 部署指南**（中英双语）：包含 PVM host kernel 下载安装、GRUB 配置、模块加载及验证的完整流程。
* **优化快速入门**：说明普通云服务器可通过 PVM 部署，无需裸金属。
* **更新 code-sandbox-quickstart 示例 README**（中英双语）。
