CSI 驱动的变更块跟踪(Changed Block Tracking,CBT)支持于2025年9月以Alpha版本发布。随着 external-snapshot-metadata 项目在2026年3月发布 v1.0.0,这项功能进入了Beta阶段。
如果你还不熟悉 Kubernetes 存储中的变更块跟踪,Alpha发布公告介绍了提出这一功能的动机、三个主要组件——CSI SnapshotMetadata gRPC 服务、SnapshotMetadataService CRD,以及 external-snapshot-metadata 边车容器——并逐步说明如何使用该API。目前,CBT适用于块卷;这项功能不涵盖文件卷或网络文件共享的变更列表跟踪。本文重点介绍Beta版本的变化。
Beta版本有哪些变化
这次发布的主要变化,是将 SnapshotMetadataService CRD 从 v1alpha1 升级到 v1beta1。用于公布驱动元数据服务的CRD,现在提供 cbt.storage.k8s.io/v1beta1 版本。模式本身没有变化,但这次发布移除了 v1alpha1,并没有在提供新版本的同时继续提供旧版本。如果你要从Alpha升级,需要:
- 重新应用
v1.0.0随附的CRD定义。 - 更新 SnapshotMetadataService 清单,使用
apiVersion: cbt.storage.k8s.io/v1beta1。 - 更新所有与该CRD交互的客户端或控制器代码。
兼容性
- Kubernetes最低版本:1.33。
- CSI规范:1.10或更新版本。
- 容器镜像:
registry.k8s.io/sig-storage/csi-snapshot-metadata:v1.0.0。
试用
Alpha博客中的入门章节仍然适用。简要步骤如下:
- 确保你的CSI驱动支持卷快照,并随附
external-snapshot-metadata边车容器。 - 安装 SnapshotMetadataService CRD,使用
v1.0.0版本中的v1beta1定义。 - 为你的驱动创建一个 SnapshotMetadataService 资源。
- 使用客户端——
snapshot-metadata-lister或你自己的实现——调用GetMetadataAllocated和GetMetadataDelta。
如果希望看到完整的端到端流程,hostpath驱动示例是一个很好的起点。
接下来有什么计划
在功能走向正式可用(GA)之前,Beta周期余下阶段的重点是让更多CSI驱动采用该功能,并收集运行方面的反馈。如果你维护CSI驱动,现在正适合评估加入支持。如果你正在基于该API构建备份应用,也非常欢迎你就流式客户端和迭代器包提供反馈。
在哪里可以了解更多
- 快照元数据的CSI开发者文档。
- KEP-3314。
- external-snapshot-metadata仓库。
- gRPC 模式定义。
- snapshot-metadata-lister示例客户端。
如何参与
这项工作凝聚了SIG Storage中许多人的贡献。非常感谢所有在功能从Alpha走向Beta的过程中帮助审查、编写代码和测试的人:
- Ben Swartzlander(bswartz)
- Carl Braganza(carlbraganza)
- Daniil Fedotov(hairyhum)
- Ivan Sim(ihcsim)
- Nikhil Ladha(Nikhil-Ladha)
- Praveen M(iPraveenParihar)
- Rakshith R(Rakshith-R)
- Xing Yang(xing-yang)
如果希望参与Kubernetes中的CSI或存储工作,可以从SIG Storage开始。数据保护工作组也会定期举行会议,随时欢迎新参与者。











暂无评论内容