快开启阿里云对象存储 OSS 防误删新功能--版本控制,保护您珍贵的数据

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 阿里云对象存储 OSS 是保存海量数据的平台,支持丰富的应用。在使用过程中难免会遇到误操作、程序 Bug、覆盖写等导致数据被删除的场景,对于数据的丢失会非常着急,后果也非常严重,甚至某些情况下还会影响你的职业生涯。

一、背景

阿里云对象存储 OSS 是保存海量数据的平台,支持丰富的应用。在使用过程中难免会遇到误操作、程序 Bug、覆盖写等导致数据被删除的场景,对于数据的丢失会非常着急,后果也非常严重,甚至某些情况下还会影响你的职业生涯。OSS 每年都会遇到多起客户误删除数据的事件,为此 OSS 开发了 版本控制 功能,开启该特性后,可以在误删除数据时通过历史版本找回数据。

二、版本控制技术介绍

存储空间(Bucket)开启版本控制后,OSS 会为 Bucket 中所有文件(Object)的每个版本指定唯一的 ID 值,且 Bucket 中现有 Object 的内容、权限保持不变。开启版本控制后,还能够防止意外覆盖或者删除 Object ,并允许查询、恢复 Object 的历史版本。详细信息,请参考 官网 介绍。
原理.png
如上图所示,通过 PUT 操作第一次上传同名 Object (key=example.jpg)时,原始 Object 版本(ID=111111)作为历史版本,生成的新版本(ID=222222)将作为当前版本保存在存储空间中。当再次上传同名 Object 时,原始 Object 版本(包括 ID=111111 以及 ID=222222)将作为历史版本,而生成的新版本(ID=333333)则作为当前版本保存在 Bucket 中。

三、数据防误删实际操作

3.1 开启版本控制

开启版本控制有两种方式:

  • 创建时,选择开通 版本控制。
  • 创建后,设置 版本控制。

开通.png


因此,通过创建后设置版本控制,可以对存量的OSS数据设置版本控制,有效的保障历史数据。

3.2 上传对象

开启版本控制后,在控制台有 显示对象的历史版本 框,选择该框则可以显示对象的历史版本,如下图所示。
上传.png
通过在控制台上传同名对象,则会生成多个版本,其中显示 (最新版本) 的那个对象是最新对象,更新时间 也是最近的时间。

3.3 删除对象

开启版本控制后,删除对象并不会真正删除,而是插入 删除标记,如下图所示。
删除.png
删除对象后,如果没有选择 显示对象的历史版本,则在控制台显示该文件不存在,但实际上对象并未删除,因此可以支持后面的恢复操作。

3.4 快捷的恢复数据

由于开通了版本保护,数据历史版本并未删除,可以采用下图所示的顺序,DIY 恢复数据。第一步,选中 显示对象的历史版本,此时可以看到历史版本,其中显示 (删除标记) 表示该对象被删除。第二步,删除该 (删除标记) 就可以让数据在控制台重新可见。第三步,删除标记成功后,最近的版本被恢复为 (最新版本),此时不管是否选中 显示对象的历史版本,都可以在控制台看到该对象。
恢复.png
因此,开通了版本控制后,可以非常便捷的 DIY 恢复数据,不用再担心“误操作、程序 Bug、覆盖写”等带来的严重影响。

四、数据误删的批量修复实战(工具)

OSS 控制台提供了简单的单对象恢复能力,但是对于删除目录下的海量文件,效率就非常低下了,需要频繁的UI点击,修复速度太慢。因此 OSS 提供了 ossutil 工具,能够批量修复数据,提高修复效率。

4.1 指定前缀批量修复

按前缀.png
整个过程如上图,参考命令为:
$) ./ossutilmac64 ls oss://test-jsj-versioning/prefix/ --all-versions
| grep -rn "true        true           oss://"
| awk -F ' '  '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}'
| sh
其中,删除标记会显示 "true true",所以只需要删除匹配 前缀 的删除标记,即可恢复对象。

4.2 指定时间批量修复

按时间.png
整个过程如上图,参考命令为:
./ossutilmac64 ls oss://test-jsj-versioning/pre- --all-versions
| awk '{(dtime=($1" "$2" "$3" "$4));
if ((dtime>="2020-06-16 16:55:05 +0800 CST")
&& (dtime<="2020-06-16 16:55:40 +0800 CST")) print}'
| grep -rn "true        true           oss://"
| awk -F ' '  '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}'
| sh
只需要删除匹配 时间范围 的删除标记,即可恢复对象。

4.3 指定修复列表文件批量修复

按修复列表文件.png
整个过程如上图,参考命令为:
for i in cat file_list;
do
./ossutilmac64 ls oss://test-jsj-versioning/$i --all-versions
| grep -rn "true        true           oss://"
| awk -F ' '  '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}'
| sh;
done
只需要遍历 修复列表文件,并删除对象的删除标记,即可恢复对象。

五、版本控制和生命周期结合实现类回收站(成本优化)

设置版本控制后,即使删除对象也会保留历史版本,这会带来成本的增加。为了支持版本控制的数据恢复,以及成本优化,设计了 版本控制+生命周期 的组合方案,如下图所示。
回收站.png
在生命周期配置中,针对 当前版本(删除标记)历史版本 设置策略,可以将其在指定时间后转换为其他类型从而降低成本,也可以选择在指定天数(比如30天)之后删除,从而在 30 天内仍然可以恢复数据,类似回收站的保留时长。

六、小结

数据误删除是非常严重的事件,也是难以预防的问题。通过开通对象存储 OSS 的 版本控制 提供了有效的数据保护方案,封装 版本控制+生命周期 的回收站也可以帮助更好的优化成本和恢复体验,希望您能尽快开通,保护您的珍贵数据。


相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
6月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
8月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
8月前
|
存储 域名解析 前端开发
震惊!不买服务器,还可以用阿里云国际站 OSS 轻松搭建静态网站
在数字化时代,利用阿里云国际站OSS可低成本搭建静态网站。本文详解OSS优势及步骤:创建Bucket、上传文件、配置首页与404页面、绑定域名等,助你快速上线个人或小型业务网站,操作简单,成本低廉,适合初学者与中小企业。
|
11月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
8月前
|
存储 监控 调度
阿里云对象存储OSS之间进行数据转移教程
讲解如何在阿里云对象存储OSS之间进行跨账号、跨地域、以及同地域内的数据迁移,包括数据迁移之前的准备工作和实施数据迁移以及一些后续操作
|
8月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
11月前
|
存储 人工智能 测试技术
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
OSSFS 2.0通过轻量化协议设计、协程化技术及FUSE3低级API重构,实现大文件顺序读写与小文件高并发加载的显著提升,在实际测试中表现出高达数十倍的吞吐量增长。适用于机器学习训练、推理等对高带宽低延迟要求严苛的场景,同时支持静态和动态挂载方式,方便用户在ACK集群中部署使用。
1279 34
|
12月前
|
存储 Cloud Native 容灾
阿里云对象存储(OSS):企业数字化转型的核心存储引擎
阿里云对象存储(OSS)是全球领先的云原生存储服务,提供无限扩展的存储容量、高达12个9的数据持久性以及企业级安全防护。它支持智能分层存储降低成本,通过CDN加速实现高性能访问,并深度集成阿里云生态,适用于海量静态资源分发、大数据分析、备份容灾等场景。OSS以全生命周期管理与开发者友好工具助力企业高效、安全地释放数据价值,推动数字化转型。
2746 15
|
存储 弹性计算 数据管理
阿里云OSS对象存储收费标准价格表:流量包+存储包2025最新整理
阿里云OSS对象存储2025收费标准及请求费用等,提供按量付费与包年包月两种模式。标准型本地冗余存储按量价为0.09元/GB/月,包年包月如500GB仅118.99元/年。流量费仅收公网出方向,闲时0.25元/GB、忙时0.5元/GB。更多详情见官网。
4678 2

相关产品

  • 对象存储