更新时间:2024-03-04 GMT+08:00
多版本控制
使用场景
利用多版本控制,您可以在一个桶中保留多个版本的对象,使您更方便地检索和还原各个版本,在意外操作或应用程序故障时快速恢复数据。
默认情况下,OBS中新创建的桶不会开启多版本功能,向同一个桶上传同名的对象时,新上传的对象将覆盖原有的对象。
约束与限制
开启了桶级WORM开关,系统将自动开启多版本,并且不允许暂停多版本。
开启多版本控制
- 桶中已有对象版本ID(空)和内容都不会变化。再次上传该同名对象,对象版本示意图如图1所示。
- 新上传对象,OBS自动为每个对象创建唯一的版本号。上传同名的对象将以不同的版本号同时保存在OBS中,如图2所示。
表1 版本说明 版本
描述
最新版本
多版本控制开启后,同名对象多次操作,每次操作都会对应一个版本号进行保存。最后一次操作保存的版本号,为最新版本。
历史版本
多版本控制开启后,同名对象多次操作,每次操作都会对应一个版本号进行保存。除最后一次外的,其他保存的版本号为历史版本。
- 列出桶内对象列表时默认列出最新对象列表。
- 可以指定版本号下载对象,不指定版本号默认下载最新的对象。
- 可以选中目标对象,并单击右侧的“删除”删除对象。对象被删除后,OBS将插入一个删除标记,对象在“已删除对象”列表中呈现。此时如果访问该对象,会返回404错误。
图3 删除标记示意图
- 删除带删除标记的版本可恢复该对象。
- 在“已删除对象”列表,选中对象,可指定版本号彻底删除指定版本对象。
- 一个对象只会显示在对象列表或已删除对象列表中,不会同时出现。
例如,上传一个对象A后,将其删除,对象A将显示在已删除对象列表中。如果再次上传同名对象A,同名对象A会显示在对象列表中,显示在已删除对象列表中的原对象A将不会存在。对象A版本示意图如图4所示。
- 除带删除标记的版本外,其他每个版本的对象存储在OBS中均需要进行计费。
暂停多版本控制
多版本控制一旦启动,不可以关闭,只能暂停使用。暂停后,新上传的对象版本号为空。如果之前有空版本号的同名对象,则会覆盖该带空版本号的对象。
图5 暂停多版本控制后的对象版本示意图
当不需要对桶内对象进行版本控制时,可以暂停多版本控制:
- 历史版本将继续保留在OBS中,如果这些历史版本你不再需要,请手动删除。
- 仍可以指定版本号下载对象,不指定版本号默认下载最新的对象。
- 除带删除标记的版本外,其他历史版本的对象存储在OBS中仍需要进行计费。
暂停与未启用的区别
暂停多版本控制后,删除对象时,无论此对象是否存在历史版本,将会产生一个版本号为空的删除标记。而未启用多版本控制时,则不会产生删除标记。
多版本开启后,由于对象的每个历史版本都被保存下来,每个版本都会占用存储空间,OBS会对所有版本收取存储费用。请谨慎启用多版本开关,以免产生额外的存储费用。
父主题: 数据安全