桶和对象版本控制

MinIO 对象存储提供 AWS S3 版本控制兼容性

与 SAN 和 NAS 版本控制方法相比,对象级版本控制是一项重大的发展。版本控制不仅提供数据保护,而且还是对象锁定、不变性、分层和生命周期管理等强大功能的基础。

使用 MinIO,对象会根据 Amazon 的 S3 结构/实现独立地进行版本控制。MinIO 为给定对象的每个版本分配一个唯一的 ID - 应用程序可以随时指定版本 ID 以访问该对象的某个时间点的快照。

版本控制允许用户在同一个桶中保留对象的多个变体,并提供一种机制来保存、检索和恢复存储在桶中的每个对象的每个版本,从而无需快照。版本控制确保对象在各种故障(包括由应用程序和人为错误引起的故障)中保持可用。

版本控制在桶级别启用。启用后,MinIO 会自动为对象创建唯一的版本 ID。同一个对象可以有多个版本。

版本控制的主要优势之一是防止意外覆盖或删除。这是使用删除标记的概念来执行的。当版本控制的对象被删除时,它不会被永久删除。而是会创建一个删除标记,并成为对象的当前版本。当请求该对象时,MinIO 会返回 404 未找到消息。可以通过删除删除标记来恢复对象。

同样,如果版本控制的对象被覆盖,MinIO 会创建一个新版本,该版本成为当前版本。同样,可以根据需要恢复旧版本。

MinIO 支持三种不同的桶状态的对象版本控制

Bucket versioning - Unversioned object buckets
未启用版本控制
Bucket versioning - Versioning-enabled object bucketing
已启用版本控制
Bucket versioning - Versioning-suspended object bucketing
已暂停版本控制

请注意,一旦为桶启用了版本控制,则无法撤消此操作,只能暂停。版本控制是桶中的全局设置,这意味着所有对象现在都已启用版本控制。

具有相应权限的用户可以暂停版本控制以停止累积对象版本。与启用版本控制类似,此操作在桶级别执行。

与所有 MinIO 一样,可以使用 MinIO 控制台、客户端 (mc)、SDK 或通过命令行应用版本控制。

版本控制是保护数据免受意外操作的最简单方法。但是,由于对象已启用版本控制,因此会导致桶大小更大,并且可能导致对象之间存在更多相互依赖关系,以及隐藏的对象依赖关系的风险。这些因素可以通过 生命周期管理 来缓解。

除了其数据保护优势外,MinIO 的对象存储版本控制还是其他关键功能的基础,包括

架构

Restart Animation Architecture

版本控制需要 擦除编码 并且至少需要四个磁盘。

详细了解 MinIO 上的对象不变性

请求演示 请求演示

您正在使用 Internet Explorer 11 或更低版本。由于安全问题和缺乏对 Web 标准的支持,强烈建议您升级到现代浏览器。