从微盟删库事件谈数据修复的技术原理与时效挑战

百家 作者:CSDN 2020-03-03 05:42:54

作者 | 赵榛
封图 | CSDN付费下载于视觉中国

微盟删库事件至今发生已快1周时间,根据微盟公告介绍,官方正在紧锣密鼓的进行着数据恢复工作。本篇文章,联想数据恢复中心专家赵榛为这次的数据恢复工作做简单技术分析,帮助更多关心数据恢复这件事的人能够更好的理解技术原理和时效挑战等热点问题。


针对人为恶意删除数据库


人为恶意删库在国内IT圈已经不是第一次发生了,此类事件由于其高破坏性、高突发性、高随机性,给众多中招企业带来了不可承受的打击。

从数据恢复技术的角度来讲,行业内针对这种问题的解决方案都是根据具体场景来制定的。

在技术难度上,Windows系统低于Linux系统和Unix系统,Sql数据库低于Oracle数据库和MySql数据库。


数据能否恢复的主要难点:

数据被删除后新写入的数据量,是否使用SSD


数据能否成功被拯救,需要评估数据丢失后数据环境的破坏程度。不同的丢失原因,评估的方向不同,下面主要介绍针对此次丢失原因的评估方向,这就要涉及到操作系统的部分知识了。

我们常见的数据储存介质分为HDD硬盘(机械硬盘)、SSD硬盘(固态硬盘)等,而两种硬盘处理删除文件的机制却大不相同:

HDD硬盘:我们之所以可以将删除的数据重新恢复出来,是因为在操作系统的删除逻辑里,只是把数据打上了删除标记,数据并没有真正从硬盘中删除。但此时,如果操作系统写入新的数据,就有很大机率将这些被标记为已删除的数据覆盖掉,而一旦发生覆盖,数据就彻底丢失了。

SSD硬盘:由于SSD自身机制原因,为了提高SSD写入效率,操作系统开发了Trim指令来帮助SSD提效。但这种提效的方式会导致每一次数据被标记为被删除后,SSD便会在很快的时间里对这一区域做清除操作,彻底销毁这些数据。此时,除非在系统层面关闭Trim指令,不然SSD针对人为删除这种情况几乎是无法恢复数据的。

鉴于微盟并没有直接对外宣布数据丢失,而是花费了几天时间进行数据抢救和恢复,可以判断,微盟并非这种情况,以下两种情况的概率更大。一,使用的是HDD硬盘,二,使用SSD服务器但没有开启Trim指令。这两种情况都为数据恢复留下了一线生机。

另外,通过总结之前发生过的人为恶意删库事件,可以看出这种破坏多发生在非工作时间,用户、业务管理者、运维人员很难第一时间发现,难以及时停机或由于业务连续性因素即便发现也无法停机,或多或少会导致数据覆盖的现象发生,这给数据恢复造成了很大的困难,难以保证将100%的数据完美恢复。

当然,在删库同时将业务环境也破坏,使整个业务系统瘫痪,这会阻止新数据的写入,反而对数据恢复成功率和完整性有了很大的帮助。

 

数据恢复实施流程:

环境克隆、工具扫描、数据导出、数据整理、数据还原

 

1. 环境克隆:针对LUN做克隆,使整个恢复操作在镜像版本中进行,避免破坏原数据环境,降低恢复失败的风险。如果LUN容量大太,无法有同等空间存储镜像,也可以克隆每一块物理硬盘,但克隆完成后需要在恢复环境虚拟重组成RAID阵列,才能对LUN展开恢复。由于多了虚拟重组的步骤,因此会额外增加恢复时间。

2. 工具扫描:根据用户使用的文件系统对文件的组织方式,使用通用或定制开发的工具对LUN进行扫描,寻找被删除的数据,此过程视LUN容量大小决定扫描所需时间。

3. 数据导出:将工具扫描找到的被删除数据导出到第三方存储空间,此过程视找到的数据量大小决定导出所需时间。

4. 数据整理:对导出的数据库或非结构化数据做校验、归档。

5. 数据还原:将数据库或非结构化数据重新导入原系统环境,使业务系统重新上线,此过程视需还原数据量大小决定所需时间


数据恢复实施难点:
数据量规模过大、潜在硬件故障风险

 

1. 数据量规模过大:由于技术方案相对成熟,人工效率不是瓶颈,通过计算硬盘I/O速度,可以大致评估出整个恢复过程的时效。但是数据量规模过大会导致容错率降低,每一次人为原因或设备原因导致的错误都会增加很多额外的恢复时间。同时数据量规模过大还会导致恢复所需资源的增加,对整个恢复的成本造成很大的影响。

根据微盟的上市公司公告,微盟有300万注册用户,以及7万付费用户,据此估计,微盟被删的数据体量应该非常大,甚至有可能达到百T级别。如果按照整个恢复过程不出任何错误,同时恢复资源完全到位,所以数据并行同步恢复的的状况来评估,至少也需要5到7天的时间来完成。而每一次微小的差错都有可能增加1到2天的额外恢复时间。截至当前,微盟仍未能完全恢复数据,想必也是因为数据量规模过大造成的。

2. 潜在硬件故障风险:了解数据中心运维的人都知道,企业级设备最怕关机重启。多年运转顺利的设备,可能因为一次关机维护反而暴发了硬件故障。因此在环境克隆这个阶段,有一定几率会遇到硬盘I/O错误或其他硬件类问题,这种故障轻则导致恢复时间延长,重则影响镜像完整性,给数据恢复的成功率和完整性造成很大的影响。

联想数据恢复中心专家赵榛认为,此次微盟数据修复工作是一个较大的工程。为了争取数据修复的实效同时保证修复的效果,相信微盟每一步都非常谨慎,争取在不耗费额外时间的前提下,将丢失的数据找回来。我们目前还很难对最后的结果做预测,但作为从业者,还是由衷的祝愿微盟可以早日渡过这个艰难的时刻。

作者简介:赵榛,联想云领(联想商用服务品牌)数据安全实验室负责人,数据恢复行业技术专家,获得全国工业和信息化岗位高级数据恢复工程师认证,从事数据恢复工作超过10年,拥有丰富的企业级数据恢复行业经验和成功案例。

【End】
在全民抗疫的特殊时期下,在人员复杂、流动量大地方的出入口处都设置了无接触式无感红外人体测温系统
在这次疫情防控中,无感人体测温系统发挥了怎样的作用高精准的无感人体测温系统的核心技术武器是什么?对于开发者们来说,大家应该了解哪些技术
今晚7点多场景疫情防控:解读云边端联动下的全栈 AI 技术应用

推荐阅读 
微盟耗时 145 个小时弥补删库,血亏 1.5 亿元!
谷歌 Fuchsia OS 进入开发者测试阶段,它真的会代替安卓吗?
0.052秒打开100GB数据?这个Python开源库这样做数据分析

两成开发者月薪超 1.7 万、算法工程师最紧缺!| 中国开发者年度报告

淘宝千万级并发架构的十四次演进

Libra为何而生?Facebook为何要给 Libra创建Move语言?Calibra技术负责人给出了回答

你点的每一个在看,我认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接