存储桶和对象版本控制
RustFS 对象存储提供 AWS S3 版本控制兼容性
对象级版本控制可增强数据保护。版本控制是对象锁定、不可变性、分层和生命周期管理的基础。
RustFS 实现 S3 兼容版本控制。RustFS 为对象的每个版本分配唯一的 ID。应用程序可以指定版本 ID 来访问某个时间点的快照。
版本控制允许用户在同一存储桶中保留对象的多个变体,从而能够检索和恢复每个版本。
版本控制在存储桶级别启用。启用后,RustFS 会自动为对象创建唯一的版本 ID。
版本控制可防止意外覆盖和删除。当版本化的对象被删除时,会创建一个删除标记。通过删除删除标记可以恢复该对象。
如果版本化的对象被覆盖,RustFS 会创建一个新版本。可以根据需要恢复旧版本。
RustFS 支持具有三种不同存储桶状态的对象版本控制

启用版本控制后,可以暂停但不能禁用。版本控制是存储桶中的全局设置。
具有适当权限的用户可以暂停版本控制,以停止累积对象版本。
通过控制台、CLI (mc) 或 SDK 管理版本控制。
版本控制会增加存储桶大小并可能创建对象依赖关系。通过生命周期管理来缓解这些因素。
特性
- 存储桶复制 (主动-主动、主动-被动)
mc undo:回滚 PUT/DELETE 对象。- 对象锁定
- 连续数据保护 (CDP)
mc rewind:随时查看存储桶或对象。
架构

系统要求
版本控制要求:纠删码和至少四个磁盘。
版本控制状态
RustFS 支持三种不同的存储桶版本控制状态
- 🔴 未版本化 - 默认状态,不执行版本控制
- 🟢 已启用 - 全功能版本控制,为每个对象版本分配唯一 ID
- 🟡 已暂停 - 停止累积新版本,但保留现有版本
主要特性
- 🆔 唯一版本 ID - 每个对象版本都有一个唯一的标识符
- 🔄 时间点恢复 - 可以访问对象的任何历史版本
- 🛡️ 删除保护 - 使用删除标记防止意外删除
- 📊 生命周期管理 - 自动管理版本数量和存储成本
- 🔐 权限控制 - 精细访问权限管理