Kubernetes Blog
Follow
Announcing Changed Block Tracking API support (alpha)
A new alpha feature in Kubernetes enhances the storage ecosystem with changed block tracking. This mechanism allows CSI storage drivers to efficiently identify modified blocks within PersistentVolume snapshots. By tracking changes at the block level, backup operations become significantly faster and more resource-efficient. Instead of scanning entire volumes, backups can now focus solely on the altered data. This improvement is integrated into the Container Storage Interface (CSI) and Kubernetes storage support. The feature is currently limited to block volumes and does not support file volumes. Traditional backup methods struggle with long backup windows, high resource utilization, and increased storage costs due to redundant data. The Changed Block Tracking API offers native Kubernetes support for incremental backups via the CSI interface. Key components include the CSI SnapshotMetadata Service API, a Kubernetes CustomResourceDefinition, and an External Snapshot Metadata Sidecar. Storage providers must implement specific CSI RPCs and have backend capabilities to track block changes. Backup solutions need to handle authentication, implement streaming client code, and optimize their workflows to leverage this new metadata. To use the feature, ensure your CSI driver supports snapshots and metadata capabilities, and that the SnapshotMetadataService custom resource is registered. The API provides GetMetadataAllocated and GetMetadataDelta functions for identifying blocks. Future plans include pushing this implementation to Beta based on feedback and adoption.