站长之家首页 > 传媒 > 微盟最新资讯 > 正文

与时间赛跑:微盟的数据恢复为什么需要这么长时间

2020-03-02 10:36 · 稿源:站长之家用户投稿

作者简介:茹炳晟,业界知名实战派软件质量和研发工程效能专家,中国商业联合会互联网应用技术委员会智库专家,畅销书《测试工程师全栈技术进阶与实践》的作者,InfoQ 极客时间“软件测试 52 讲-从小工到专家的实战心法”的专栏作者。现任Dell EMC中国研发集团资深架构师,历任eBay中国研发中心测试基础架构技术负责人,HP软件中国研发中心资深架构师、性能测试专家,Alcatel-Lucent高级技术主管,Cisco中国研发中心资深工程师等职位,具有超过 16 年的软件研发经验和技术管理经验。

微盟“删库跑路“事件已经过去好几天了,据悉,微盟的服务已经全部恢复,对于新用户,已经能够正常开始所有相关的业务活动了,但是对于老用户,数据依然没能全部恢复,根据其官网的信息,目前恢复了商家账户和权益数据,截止到 2 月 28 日晚上,大约会有七成的数据完成恢复。

作为B端用户以及广大吃瓜群众,都会有这样的好奇,现在的云计算,容器化部署,弹性扩缩容,数据备份技术等技术已经非常先进了,为什么整个恢复周期还会需要这么长时间。那么今天我就从技术的维度来聊聊我的理解。

正式聊技术前,我想先说说今年罗胖的跨年演讲《时间的朋友》,罗胖谈到“躬身入局”让我这个常年和IT技术打交道的”我辈中人“深有感触,很多时候当我们站在局外的时候,感觉很多事情都不复杂,但是当你投入其中之后,就会发现原来我们只是看到了冰山一角,很多事情要远远比你想的要复杂和困难。

举个很形象例子,人们通常喜欢采摘低垂的果实,因为就大脑的反馈来讲,低垂的果实是很容易采摘的,但是一个果实看起来低,它未必是真的低,很有可能是你离它太远了,当你走进一些,你会发现它比你最初看起来要高,当你再走进一些,你会发现根本高不可及。

这就像一座山,当你离它很远的时候,会觉得山不高,只有当你亲自走到山脚下,才会认识到自己更本不可能爬上去。这里我配了张图,是我当年在珠穆朗玛峰北坡登山大本营的照片,当时的海拔是 5300 米左右,我的身后就是传说中海拔 8848 的世界之巅珠穆朗玛峰,你也许看起来觉得似乎不高啊,那是应为我离得还足够远。换句话说,当你觉得一件事情很简单的时候,往往不是真的简单,而很可能是因为你不懂。

回到这次微盟事件,也是一样的道理,现代的大型互联网产品,无论是toC的还是toB的,站在用户的角度来看,使用都很简单,但是其背后的架构复杂性就是属于冰山下面的部分,其复杂程度会远远超过你的想象,我就常说一句话“认知限制了你的想象力”。所以,我相信,此时此刻,微盟一定在冰山下面尽着自己最大的努力来推动数据早日恢复。

好了,接下来聊聊偏技术的话题。很显然,目前微盟的主要问题是在数据库的恢复上,由于官方并没有公布具体的技术细节,我在网上也只找到一张非常顶层的架构示意图,并没有能获得系统基础架构,尤其是数据库架构方面的详细信息,所以只能从个人经验的角度做一些可能的猜想,目的是想让你能够理解其中的技术复杂程度。

首先让我们了解一下数据库的运行环境,简化来讲主要有以下三种:

“不上云”:建立在自己的数据中心,完全自己管理硬件、软件和数据,这是云平台普及以前的主流实践。在这种模式下,所有相关的数据库高可用性,容量扩展,数据备份都要有自己非常专业的团队(DBA团队和运维团队)来管理和维护,对企业的技术要求是比较高的。

“全上云”:完全建立在云端环境之上。注意,这里的云可以是公有云,也可以是私有云。云厂商会提供全套的解决方案来支持高可用性,容量扩展和数据备份等特性。可以说,随着云计算的普及以及泛数据库类服务( DBaaS)的快速发展,越来越多的新兴企业会选择这个方案。

“假上云”:这种方案是最奇葩的,有点像用Louis Vuitton的包来装菜,但在行业内也不在少数,应该说这是一个过渡阶段的产物。这种方式就是把云方案当做虚拟机来使用。这种方式和上面的“不上云”很类似,完全没有用好云端的优势,只是把数据中心的机器移到了云端而已。云方案所能提供的容灾、扩容等功能都被阉割了。

对于上面三种方式,“不上云”和“假上云”对于数据的风险相比“全上云”会更大,运维人员在“不上云”和“假上云”的情况下更容易有机会去执行类似“rm -rf /*”和“fdisk”类型的极端操作,而“全上云”,就比较难有机会从操作系统层面执行此类命令,数据库数据也就不会被rm -rf /给删掉。

如果删除操作不是发生在操作系统的数据文件层面(备份通常是以文件形式存在的),那么我们利用数据库自身的特性来恢复误删数据的效率会大大提高。

同样,面对数据的误操作问题(比如,错误地批量update表中数据的某个字段),“全上云”也比“不上云”和“假上云”有明显的优势。这个我是有切身经历的,以前有个项目使用自建数据库,由于某个DBA的误操作,在生产环境的数据库上执行了一条没有加where条件的update语句,直接造成竞拍商品的出价记录字段全部丢失,而后就是艰难的全量回滚和binlog重放,最终耗时 4 个多小时才恢复。后来同样的误操作发生在了云端数据库,回滚恢复的时间只花了几分钟。

从之前腾讯云对外的回应中,我们可以大概看到微盟被删的数据不在腾讯云上,再结合目前数据恢复的速度来看,我们几乎可以判定很大概率微盟没有采用“全上云”的架构,或者是只有部分数据在云端,而且很可能发生了比较极端的“rm -rf /*”和“fdisk”情况。那么在这种情况下,所有的主从库文件,全量备份文件,增量备份文件以及binlog都一起丢失了。这里的技术挑战主要在于传统IT厂商如何进行磁盘恢复,已经不是任何一个云厂商的技能点所在。

要在这种情况下恢复全部数据,可想而知技术难度是很大的。根据我的粗略理解,至少要跨过下面这些技术的槛。

获取全量备份,如果存在异地的冷备或者灾备,那是比较理想的情况,但是由于全量备份通常非常庞大,所以需要较长的时间完成文件的传输和校验。如果没有异地的全量备份可供使用,那么就必须采取更耗时,而且不能保证一定100%全量成功的磁盘恢复手段。为什么说磁盘恢复会更加耗时,我一会儿来解释。这里还有一个问题就是全量备份可能太“旧”了,这也给后面的恢复带来了更多的时间成本。

获取增量备份,很多时候增量备份没有来得及做异地容灾备份,所以很大概率要从磁盘恢复,这又是大量的时间消耗,而且同样不能保证100%完全恢复。

获取binlog,binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE等)以及表数据修改(INSERT、UPDATE、DELETT等)的二进制日志文件,通常以索引文件(后缀为.index)和日志文件(后缀为.00000*)的形式存在磁盘上,通常为了保证binlog记录数据变更的准确性,一般都是采用row格式的binlog,因此文件尺寸也不小,而且文件个数也很多。

有了上面这些作为基本的输入,才能开始数据库层面的数据导入和恢复工作,这个过程也需要花费大量的时间,而且这是基于上述文件都可以100%得到为前提的,如果上述备份文件中出现数据问题,那由此带来的额外时间成本将会变得更大。

最后来说说磁盘文件的恢复。当我们对磁盘等存储介质上的文件进行删除操作,甚至是格式化操作(低级格式化除外)时,磁盘上的数据并没有真正从磁盘上消失,而只是在文件分配表中标注了一下而已,位于数据区的数据本身并没有被立即抹掉。只要文件的数据区没有被后面写入的信息覆盖,那么这些被删除的文件就是可以恢复的,这就是磁盘文件在删除后可以恢复的理论基础。

但是数据库的数据文件和备份文件往往很大,那么只要有个别数据区出现了重写,那么恢复出来的文件就是不完整的,这个时候就需要人为介入来进行修正,这个工作量以及技术难度就会很大,有时还会需要借助专用的仪器设备。在更复杂的情况下,还会采用数据雕刻技术(File Carving),数据雕刻技术是数字取证研究中频繁使用的一种文件恢复技术,它从表面上无差别的二进制数据集即原始磁盘映象中提取文件,而不利用磁盘的文件系统类型。

除此之外,像微盟如此庞大的系统,各个垂直事业部可能都有各自的业务数据库,这些数据库甚至可能采用了不同的方案,这种架构上的异构性也会给恢复过程带来极大的挑战。另外,即使部分数据恢复完成之后,也不能立即上线,而要等其他相关数据恢复,并且做好数据的的交叉校验,确保数据的万无一失,这些都需要大量的时间。

这些只是我能想到的一些情况,我站的也很远,也是从旁观者的维度在看问题,所以,我相信实际情况会比我所描述的更为复杂。我们还没法对最终的恢复结果作出推断,能够做的只有等待。

免责声明:“站长之家”的传媒资讯页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与我们联系删除或处理。稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性,更不对您的投资构成建议。我们不鼓励任何形式的投资行为、购买使用行为。

  • 大家在看
  • 相关推荐
  • :今天下午所有业务恢复服务,数据恢复7成左右

    2月28日,微盟在其官方公众号发布公告表示,截止 2 月 28 日下午 14 点,微盟所有业务恢复服务,数据恢复进展顺利,预计到2月28日晚上可以恢复七成左右的数据。关于赔付计划和数据安全保障计划,将于 3 月 1 日零点正式公布。

  • :旗下商城、智慧零售、站业务已经正式恢复上线

    2月28日消息,微盟表示,旗下微商城、智慧零售、微站业务已经正式恢复上线。受到人为删除数据库事件影响,微盟所服务客户暂时无法使用小程序商城,但已有部分客户在 2月26 日恢复小程序商城。微盟方面表示,目前的主要工作是不遗余力帮助客户恢复小程序商城。

  • 微盟又称Weimob、Weimob微盟,是一家从事智能商业生态的互联网多元化集团企业,成立于 2013 年 4 月  , 香港主板上市企业(股票代码:2013.HK),  总部位于上海宝山。

  • 回应删库事件:主要工作是帮助客户恢复小程序商城

    今日,微盟方面表示,受到人为删除数据库事件影响,微盟所服务客户暂时无法使用小程序商城,但已有部分客户在 26 日恢复小程序商城。目前的主要工作是不遗余力帮助客户恢复小程序商城。

  • 商户已恢复经营 连夜上线3·8小程序电商大促

    今天( 3 月 6 日)记者从微盟获悉,目前微盟商户已经恢复经营,已有多家商户备战3· 8 小程序电商大促。事实上 9 天前( 2 月 26 日),微盟旗下核心业旗下微商城、智慧零售、微站业务已经全面恢复。记者从部分微盟所服务商户了解到,对于微盟赔付方案有商户坦言“两套赔付方案考虑到不同商户需求,我们表示认可,对于微盟此次事故表现出的态度非常感动”。记者也从微盟内部了解到,目前部分商户选择流量赔付方案,看中的是延期两个月

  • 卓师兄怎么恢复信聊天记录?安卓数据恢复专家

    卓师兄怎么恢复微信聊天记录?安卓数据恢复专家~微信不仅被作为即时通讯工具,还将其视为表达情感和维系社交的互动平台。微信可以说取得相当大的成功了,很多人留言说不知道怎么恢复微信聊天记录,小编总结了几个恢复方法,下面一起来看看吧!还有粉丝问一些玩笑使用的实用技巧,在这里小编就一起说道说道吧~我们平时在跟微信好友聊天过程中,涉及到时间、会议等情况,怕自己忘记的话,可以直接长按对方发来的消息,然后给这个消息设

  • 称将上线线上赔付系统 此前数据已全面找回

    今日,微盟集团发布公告称,截至 2020 年 3 月 3 日上午 6 点,公司已完成SaaS业务数据恢复上线,已恢复 2020 年 2 月 23 日及之前的数据。此外,微盟表示,对于部分使用本公司提供的临时过渡方案的商家,其店铺迁移将于 2020 年 3 月 4 日上午 10 点完成。该公司将尽快上线线上赔付系统,积极履行赔付计划。

  • 数据已全部找回 拟准备1.5亿元赔付商家

    微盟官微昨天对外发布公告称,截止到3月1日晚8点,在腾讯云团队协助下,经过7*24小时的努力,我们数据已经全面找回,由于此次数据量规模非常大

  • 数据已全部找回,将提供1.5亿元赔付商家

    3月1日,微盟发布公告,截止到 3 月 1 日晚 8 点,数据已经全面找回,并将于 3 月 3 日上午 9 点数据恢复正式上线。同时,微盟拟定了现金赔付计划和流量赔付计划供商家选择。微盟表示,准备了1. 5 亿元人民币赔付拨备金,其中公司承担 1 亿元,管理层承担 5000 万元。

  • :商户已经恢复经营,已有多家商户备战3.8小程序电商大促

    3月6日消息,微盟表示目前商户已经恢复经营,已有多家商户备战3· 8小程序电商大促。从微盟内部了解到,目前部分商户选择流量赔付方案,看中的是延期两个月的服务和通过广告投放增加店铺曝光度。在经历了程序员删库之后,微盟拟定了现金赔付计划和流量赔付计划供商家选择。微盟表示,准备了1. 5 亿元人民币赔付拨备金,其中公司承担 1 亿元,管理层承担 5000 万元。

  • 赔付方案

    ​今日,微盟集团发布公告称,截至 2020 年 3 月 3 日上午 6 点,公司已完成SaaS业务数据恢复上线,已恢复 2020 年 2 月 23 日及之前的数据。对于部分使用本公司提供的临时过渡方案的商家,其店铺迁移将于 2020 年 3 月 4 日上午 10 点完成。该公司将尽快上线线上赔付系统,积极履行赔付计划。

  • 创始人再回应数据遭员工破坏:涉事员工深陷网贷

    今日,针对“数据遭员工人为破坏”一事,微盟创始人孙涛勇发文回应称,事后通过警方了解,该员工一直深陷网络贷,还曾有过轻生,该员工春节期间一直没回家,由于疫情阶段不能外出,只能一个人在房间独处了 30 多天,加上本身经济上的困扰,就做出了这样的举动。事后该员工也说跟公司无任何仇恨。这也是为什么他事后没跑路,也很快承认了犯罪事实。

  • 回应数据遭员工破坏:已全面找回 将赔付商家1.5亿元

    昨日,微盟发文称,截止到 3 月 1 日晚 8 点,数据已经全面找回,为了保证数据一致性和线上体验,我们将于 3 月 2 日凌晨 2 点进行系统上线演练,将于 3 月 3 日上午 9 点数据恢复正式上线。

  • 信记录没了怎么恢复?学会这招,足不出户就能找回丢失的数据

    微信记录没了怎么恢复?有些微信用户在使用微信时,会把一些重要的聊天记录存留在微信中,可是时间一长,在进行手机数据清理时,误把这些存留的重要微信聊天记录删除了,那如何恢复呢?请让小编教你恢复微信记录的教程,学会后大家可以随时恢复删除的微信记录。 微信记录没了怎么恢复?其实微信记录删除无非有两种情况,系统故障删除,手动清理删除,而手动清理删除中细分有两种情况,有备份的删除和无备份的删除,对于普通用户来说?

  • 信聊天记录怎么恢复恢复技巧免费分享

    微信聊天记录怎么恢复?微信是一个很不错的聊天工具,但有时候我们由于各种原因会不小心误删除了聊天记录,这对于很多伙伴来说也是很痛苦的事儿。小编给大家科普下,误删除的聊天记录是可以找到的,下面小编分享恢复微信聊天记录的小技巧!方法一:电脑备份恢复平常有习惯使用电脑版微信的朋友肯定知道,在电脑上也能恢复出来误删的记录吧?操作步骤很简单哦:在电脑端上,点击左下角,选择【备份与恢复】,接着点击【恢复聊天记录至?

  • 怎样恢复信聊天记录?恢复记录只需几步!

    怎样恢复微信聊天记录?生活中习惯使用微信的我们,微信带给我们便利的同时也存在一些安全隐患,比如你可能会误删除一些很重要的聊天内容,这事必也是一些矛盾的导火索。看到这,是不很多朋友都有类似情况发生?接下来,小编就教大家几个快速恢复微信聊天记录的方法。 方法一:帮助与反馈 可以用微信自带的帮助与反馈功能对聊天记录进行恢复,不过该方法只是适用于一些因为手机系统故障造成的聊天记录删除,比如系统升级、闪退,或?

  • 信记录删除了怎么恢复?干货分享,轻松恢复

    微信记录删除了怎么恢复?微信,基本上可以说是必备软件了。而平时在使用微信的时候,肯定也有很多的聊天记录中都包含一些很重要的数据。当然,不用的消息,为了不占用内存,肯定也有删除的时候,不过删除的时候,肯定也有误删的情况发生。要是删除了一些很重要的记录,肯定是非常着急的,所以,对于重要的记录,是怎么恢复呢?今天小编就教给大家一些办法。恢复有两种方式:备份恢复和手机端数据扫描恢复两种方法一.通过备份文件恢?

  • 信聊天记录的恢复方法分享:信聊天记录怎么恢复

    微信聊天记录的恢复方法分享:微信聊天记录怎么恢复?微信聊天记录删除了很多人不知道怎么恢复回来,我们在清理微信好友或者清理微信缓存时经常误删微信数据,其实误删不用怕,现在小编吸取之前的教训,找到了一个好用的方法,那就是把重要的微信数据导出来保存!实用方法赶紧学起来啊!现在微信支持将手机上的聊天记录备份到电脑,即使手机上的聊天记录删除了,也可将已备份的聊天记录恢复到手机中。这种方法的前提条件是用户在最初?

  • 信聊天记录删除怎么恢复? 最新技巧免费恢复

    我们使用微信与好友聊天时,有没有遇到过这些情况:正在发送信息时,微信突然闪退了,再打开微信发现微信记录不见了;操作时不小心把和好友的聊天记录删除了。这时我们想要把一些重要的信息找回来。那么,微信聊天记录怎么恢复正常呢?其实,不管是手机系统崩溃闪退还是因为一些误操作造成的微信聊天记录删除,怎么恢复正常的方法很多,下面就列举一些iPhone恢复微信聊天记录实用的方法。一、iCloud恢复备份iPhone微信聊天记录删除怎

  • 怎么恢复信聊天记录?选择卓师兄深度恢复

    怎么恢复微信聊天记录?选择卓师兄深度恢复!微信不小心删除了聊天记录怎么有效找回呢?过去恢复微信聊天记录需要都是人工恢复,也曾曝出有人因此导致数据泄露反而造成更大的损失,误删的聊天记录去哪了,卓师兄教你不用recover,轻松恢复微信删除的聊天记录!一、教你清理微信数据缓存,释放空间安卓手机要定期清理微信聊天记录缓存,不然就会提示内存不足,清理过程中误删好友重要的微信聊天记录,该怎么找回?步骤:打开微信点击【我

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议