作者 | 赵榛

封图 | 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技术负责人给出了回答

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

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

  1. 从微盟删库事件看数据备份和项目管理

    3 月初,闹得沸沸扬扬的「微盟删库」事件终于有了一个解决方案,也让不少技术人唏嘘不已,一个上市公司的数据备份和项目管理流程居然如此不堪. 事故经过 先来看下此次事故的时间线. 2 月 23 日,因公司 ...

  2. 微盟删库事件对等保工作开展的启示

    2020年02月23微盟研发中心运维部核心运维人员通过VPN登入服务器,并对线上生产环境进行了恶意破坏.微盟内部系统监控报警,出现大面积服务集群无法响应,目前犯罪嫌疑人已被宝山区公安局刑事拘留,承认了 ...

  3. 今年2月的微盟“删库”主角被判 6 年有期徒刑

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 云头条 2020年2月份发生的微盟" ...

  4. 微盟“删库”144小时:痛的不是股价,是信任

     关注ITValue,看企业级最新鲜.最具价值报道! 在很多人认为SaaS市场会因为疫情而火爆的时候,微盟删库事件也让大家更加认识到云上的数据一旦出问题,就相当于银行倒闭,是要倾家荡产的. 7万商户苦 ...

  5. 微盟“删库跑路”事件给我们的启示!

    往期热门文章: 1.<往期精选优秀博文都在这里了!> 2.开发属于自己的第一款 IDEA 插件! 3.Nginx为什么快到根本停不下来? 4.又一个程序员跑路删库跑路被抓了,导致服务器瘫痪 ...

  6. 运维进化论:微盟“删库跑路”给我们的启示

    作者:茹炳晟,软件质量和研发工程效能专家 事件背景 微盟是国内移动互联网营销引领者,中国最大的微信公众智能服务平台,基于微信为企业提供开发.运营.培训.推广一体化解决方案,帮助企业实现线上线下互通,社 ...

  7. 微盟删库血案背后人的错还是代码的锅?

    近年来,在国内外程序员删库跑路的事件已经屡见不鲜.删库跑路事件频发,那么,为什么删库操作如此容易发生?此时,就需要知道删库命令了. 删库命令 谈到删库就不得不提到对应的删库命令rm.rm命令是 lin ...

  8. 微盟“删库”程序员被判6年,供述无力偿还网贷,酒后感觉生活不如意

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还记得那个"删库跑路",凭"一己之力"让微盟一夜之间市值蒸发超10亿.300万商铺惨遭瘫痪的程序员 ...

  9. “删库跑路”重现江湖,技术和制度如何保障数据安全?

    摘要:近日,一则来自微盟官网的消息在业内引起轩然大波,"删库跑路"重现江湖--由此,关于如何从技术和制度两方面进行数据安全防范的关注和讨论广泛展开. 近日,一则来自微盟官网的消息在 ...

最新文章

  1. 数据蒋堂 | 怎样生成有关联的测试数据
  2. 单应矩阵(Homography)基本概念和代码测试
  3. 陶哲轩实分析习题 12.1.3
  4. Linux环境下如何编译和执行c程序
  5. 新东方财报背后:增收不增利之下,“下沉”“上线”能有坦途?
  6. python数字编码_Python 编码为什么那么蛋疼?
  7. WPF IP地址输入控件的实现
  8. 实验三《实时系统的移植》 20145222黄亚奇 20145213祁玮
  9. mysql 数据库设置mysql注入_MYSQL数据库浅析MySQL的注入安全问题
  10. .net各版本新增加的功能
  11. Md5 Loader Demo
  12. 二维数组各行求和_JS数组reduce()方法详解及高级技巧
  13. 【Ubuntu】Ubuntu20.04安装GPU显卡驱动
  14. 6.2.1邻接矩阵法
  15. JavaScript 事件委托
  16. 启动oracle时报错:PuTTY X11 proxy: unable to connect to forwarded X server: Network error:
  17. 关于js阻止冒泡时的一些坑
  18. 韩信点兵--求分数序列前N项和--特殊a串数列求和--猜数字游戏
  19. Kali2019安装ShuiZe|水泽-自动化信息收集工具安装
  20. 对空间中6个点两两连线,用红黄两种颜色对这些边染色,则同色的三角形至少有几个?

热门文章

  1. TS各个表 与 SECTION 的解析 CAS原理
  2. Maven 缺省内置变量
  3. pstate0 vid数值意义_老照片、新感悟:春兰摩托电喷 CB、看一口螺丝的意义
  4. 自己整理实现的python小工具
  5. 叶子问题(层次遍历加判断叶子)
  6. java 常用算法_Java基础之常用算法
  7. 用python读取txt文件、并计算数据的总合和平均值_Python,读取许多文件并合并结果...
  8. 升级到android studio 4.1后检测不到flutter、Dart插件
  9. Flutter代码锦囊---摇一摇
  10. 中国内裤衬里行业市场供需与战略研究报告