2月26日,数据恢复工作已经开展了三天三夜。当天中午,第一批次的数据拿到,导入数据验证正常。但他们很快发现,他们扫描出来的最新一份数据是截止到2月17日的数据拷贝,完整性尚不确定。
“也就是说,即便这份数据完整,那17号到23号当天的数据也是缺失的。”徐勇州解释,“这个事情,好的一面是明确地告诉我们数据还在,恢复有希望。但是只找回一部分数据意义不大,我们需要完整的数据。”
扫描仍在继续尝试,工程师们逐步发现了更多数据的踪迹。到了周三深夜,新的问题再次出现:工程师们发现,现有的数据备份中,缺少大文件数据,而这些大文件极有可能是微盟最核心的业务数据。它们没有被扫描出来。
“用绝望来形容当时的心情都不夸张,核心数据如果没有,等于前期的工作都白做了,其他数据恢复了都没意义。”徐勇州说。
事实上,此时扫描出的数据大约是微盟数据整体的30%左右,已经符合甚至超过了此前行业对此类事故恢复程度的预期。“这难道真的是一个完不成的任务?”
徐勇州和技术团队不想放弃:核心数据找不回,影响的不止是微盟,还有那些商家的利益。“有一点希望都得试试看。”
徐勇州彻夜未眠。思量再三,决定两条腿走路:一是尝试对磁盘的每一块(block)进行二次扫描;二是让腾讯云的 *** 作系统团队从OS底层入手,制定数据恢复方案PlanB,这需要极其庞大数量的尝试和数据验证,“方案一能成功是最理想的,方案二就意味着数据恢复的时间不确定,业务停摆,继续失血。”
周四上午,第一台服务器的第一块扫描成功,导回数据库查看是完整的。“方案一可行!大家信心一下子又起来了。”
从可行到成功,中间仍有艰难险阻。数据公司提取出来的单一的块,从体积来看还是达不到微盟核心文件的大小。这意味着,要获得完整数据,需要进行数据“拼接”。
就好像整块拼图被打散扔进了大海里,一块一块打捞上来是第一步,拼接是第二步。不同的是,拼图时还能够根据形状来判断哪些可以放在下一块,而拼接数据块,根本无法通过肉眼识别,只能靠一块块去扫描,寻找相似度高的拼接到一起,再重新扫描看断点是否能重合。
庆幸的是微盟的备份机制较为完备,数据的覆盖度和完整性检查等工作非常细致。徐勇州发现,文件类型只有一种,那么就能很容易判断出哪块是开头,拿着开头去找剩下的块,把工作量从“NN”降低到“1N”。
但“1N”的工作量也不小。最大的一个文件,由7块碎片组成。找到开头以后,工程师开始扫描其他有相似性的块。运气好的时候,相似度可能只有一块,运气不好的时候 ,有二三十块。每进行一次拼接,都需要把数据块从头到尾扫描一遍,验证是否匹配。这需要大量的计算力。为了加快扫描和验证,腾讯云服务器团队还临时从上海机房调拨了100多台服务器进行算力支持。
徐勇州已经不记得这样的“打捞、拼接、扫描、验证,重新打捞、拼接、扫描、验证”进行了多少次,只记得每一次都是四五个小时的煎熬。“大家每隔一会儿就在腾讯会议上吼,好了没,好了没,快看看!”
终于,一块又一块的数据被拼接出来,核心数据逐渐被修复。“太不容易了,心情真的跟过山车一样。”
2月28日,深夜,数据修复胜利在望。
“做到100分,在云上迎接重生的微盟”
虽然最初大家并不敢断言数据能否修复,随着两边团队的共同攻坚,大家关注的焦点逐渐变成数据能不能做到100%的修复。
然而,即便是方法论经过了验证,但就像写程序一样,在一些细微的地方总会有一些意想不到的bug出现。
2月29日凌晨,恢复到最后一台服务器时,徐勇州和技术团队盘查发现,前面找回来的那些数据只有整体数据量的70%-80%。按照前面核心数据恢复的方法推演,如果逻辑成立的话,此时恢复的数据应该是100%。
剩下的数据去哪了?到底是哪个环节出了问题?“我们的目标是要做100分,哪怕失掉5分,对一个商家来说可能就是全部。”徐勇州和团队连夜把所有的数据又重新盘点了一遍,把验证的逻辑再推导了一遍:扫描了多少?提取了多少?哪些校验过?哪些没有?
又是一夜未眠。3月1日凌晨,终于在另一个的区段中,被遗漏的数据被“打捞”了出来。原来有一部分数据在提取时因为环境等各种原因被疏忽了,在把所有的数据都汇总整理和对齐后,很快找到了对应的那段未提取区段,然后又是进行紧张的“打捞、拼接、扫描、验证”,但这时的团队已经是技术娴熟,胸有成竹。
3月1日晚,微盟发布公告称,数据已经全面找回。同时宣布基础设施全力上云。

根据微盟公告,微盟将采取以下措施提升对数据安全的保障:首先在权限管理方面,使用腾讯云CAM权限系统进行云资源管理,严格执行分级授权和最小集权制度,对高危险动作执行二次授权制度;使用腾讯云堡垒机替换自建堡垒机,进行细粒度许可权分级和授权管理。
其次,在北京、上海、南京等地区建立全备份的冷备系统架构,借助腾讯云IaaS的底层服务能力,建立高可用的同城双活架构;所有非结构化数据使用腾讯COS对象存储系统进行归档保存并启用多异地复制功能。
最后,借助腾讯云数据库MySQL的数据高可用和安全体系,逐步放弃自建数据库服务,迁移到腾讯云数据库(CDB),提升数据库跨可用区和易地灾备的能力,同时,将原来合作的黑石10物理机全面升级黑石20,全面使用云主机。
在徐勇州看来,微盟事故的发生对其他企业的数据安全保护也敲响了警钟,数据安全事件背后折射出的是,仅仅依靠单点防护难以达到真正的安全防护效果,而构建基于全生命周期的安全防护成为必然选择。
微盟公告发出以后,腾讯云技术团队在微信群里收到了微盟团队的集体致谢。那个全程见证事件进展的超长腾讯会议的会议号,被团队提议作为一个永久的番号保留。腾讯云服务器感觉还行,是腾讯公司推出的云服务器,这么大个公司,感觉也是非常可靠的。你说你要放网站,不知你的网站流量是多大,如果网站流量小,选择低配置的服务器就行,三年几百块就可以了。如果网站流量大,就需要选择高配置的服务器了。一般刚开始做网站,如果网站流量不大,选择1核1g(三年只需要八百元左右)或者选择2核2g都可以。腾讯云服务器价格这是腾讯云官方的价格表,你根据你自已的需要选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)