摘要: 阿门,愿云端没有BUG!html
此次,我从纯技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,不站队。git
这里说的硬盘门不是10年前陈老师的那一次,而聊的是最近“腾讯云”用户“前沿数控”的磁盘数据丢失。shell
关于此次事件,腾讯云是这样说的:数据库
近日,腾讯云用户北京清博数控科技有限公司所属“前沿数控”平台一块操做系统云盘,因受所在物理硬盘固件版本bug致使的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。小程序
腾讯云多少有点打官腔,而前沿数控的说法更加直白:微信小程序
在使用腾讯云服务器8个月后,咱们放在云服务器上的数据所有丢失,腾讯云所谓的三备份数据也所有离奇丢失!服务器
套用一下《天下无贼》的经典台词:微信
21世纪什么最重要?数据!ide
一个产品的数据若是丢失或者破坏的话,所受的打击是毁灭性的,由于老用户的服务没法恢复...腾讯云提出了136469的赔偿方案,而前沿数控索赔1000万,双方没有达成一致,这个事件才得以曝光。也就是说,在前沿数控看来,腾讯云的这个所谓的“物理硬盘固件版本bug”,价值1000万!BUG原来这么值钱啊,看来你们仍是少写点BUG吧...gitlab
咱们Fundebug同为创业公司,也是腾讯云和阿里云等云计算公司的用户,而且从事BUG监控服务(此事也涉及到BUG),所以会持续关注这个事件。
腾讯云关于硬盘固件BUG的说明是这样的:
近日,腾讯云用户北京清博数控科技有限公司所属“前沿数控”平台一块操做系统云盘,因受所在物理硬盘固件版本bug致使的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。
腾讯云监控到异常后,第一时间向用户告知故障状态,并当即组织文件系统专家并联合厂商技术专家尝试修复数据。遗憾的是,虽经多方努力,最终仍有部分数据完整性校验失败。通过分析,该硬盘静默错误是在极小几率下被触发。咱们随即对固件版本有bug的硬盘所有进行下线处理,确保相关隐患所有排除。
因为腾讯云没有公布“物理硬盘固件版本bug”的任何技术细节,对于这件事的真相我有所疑问:
2017年,国外的代码托管站点Gitlab的数据库被误删,他们在Youtube和Twitter上直播了整个修复过程,而且写了两篇博客详细公开了全部技术细节。这样作很是透明和公开,能够赢得用户的信任。
每一个公司都会出现各类各样BUG或者故障,腾讯云也不能例外。用户对于云计算平台的要求很是高,由于涉及到可否正常提供服务,所以,做为腾讯云的用户,咱们呼吁腾讯云公布此次事件的全部技术细节,这是厘清事件的最佳方式,也是对用户负责的一种表现。
不难推测,前沿数控彻底没有备份数据,它们彻底依赖于腾讯云的承若的"99.9999999%的数据可靠性,搭载了云硬盘提供三副本存储策略"。我不清楚腾讯云的这个99.9999999%的数据可靠性是怎么计算出来的,也不知道腾讯云的三副本存储策略是怎么回事,这一点须要腾讯云提供详细的说明。可是,对于每个产品来讲,备份数据,至少备份一下核心数据,这是最基本的常识。因此在这一点上,前沿数控显然存在失误。
全部的创业者和开发者都应该从这个事件吸收教训,不要偷懒,严格备份数据,不然数据一旦出问题,后果很是严重。这里简单介绍一下Fundebug是如何备份数据的,给你们提供参考,之后我会详细介绍咱们的数据备份方案:
备份方案 | 时间粒度 | 细节 |
---|---|---|
MongoDB复制集 | 实时 | 搭建3个节点(1个Primary和2个Secondary)的MongoDB复制集,实时同步数据 |
阿里云服务器磁盘快照 | 天天 | 设置天天凌晨自动快照全部磁盘,包括系统盘和数据盘 |
mongodump导出核心数据 | 天天 | 天天凌晨将MongoDB核心数据导出到复制集以外的服务器磁盘(该磁盘会天天进行快照) |
阿里云对象存储 | 天天 | 天天凌晨将mongodup导出的数据使用gpg非对称加密以后,上传到阿里云深圳数据中心的对象存储,设置阿里云自动同步到杭州数据中心,每份数据保留1个月 |
对数据对多个粒度的备份,是很是必要的,不管你使用哪一家云计算平台,不管该平台给了你怎样的承若。若是依赖云计算平台,大概是靠不住的,并且他们的应急处理速度显然没有本身来的快,由于只有开发者本身最了解应用数据,知道如何备份如何恢复才能尽可能下降损失。
Fundebug专一于JavaScript、微信小程序、微信小游戏,Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了5亿+错误事件,获得了众多知名用户的承认。欢迎免费试用!