如何避免腾讯云彻底搞丢“天价数据”事件再次发生?

2018-08-14 09:00:02 来源: c114 热度:
上个月,北京一家主要产品为“前沿数控自媒体”的创业公司,存储在腾讯云上的数据,全部消失了。

前沿数控的程序员,登录云服务器时,发现无法登录,于是反馈给腾讯云。得到的回复是,北京三区部分云硬盘出现故障,正在紧急恢复中。

几天后,腾讯云告知前沿数控,这些数据丢了,再也找不回来了。这时,双方开始进入赔偿协商。

但是因为前沿数控索赔1101.6万元,而腾讯云只愿意赔偿13.29万,所以双方陷入了僵持。

而这件事之所以,成为新闻,就是因为前沿数控,在9个9(腾讯云承诺99.9999999%的数据可靠性)的腾讯云上的数据,彻底丢失了。

腾讯云表示,“虽经多方努力,最终仍有部分数据完整性校验失败。经过分析,该硬盘静默错误是在极小概率下被触发”。

对于本次事件和云服务使用攻略,互联网运维技术专家刘晓明给CSDN投稿,详细为大家分析了“腾讯云与前沿数控的磁盘数据丢失事件”。

以下为正文:

8月6日,腾讯云官微发布关于用户“前沿数控”数据完整性受损及腾讯云补偿措施的说明 。近日,腾讯云用户“前沿数控”平台一块操作系统云盘,因受所在物理硬盘固件版本Bug导致的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。

腾讯云表示,监控到异常后,第一时间向用户告知故障状态,并立即组织文件系统专家并联合厂商技术专家尝试修复数据。虽经多方努力,最终仍有部分数据完整性校验失败。经过分析,该硬盘静默错误是在极小概率下被触发,腾讯云随即对固件版本有Bug的硬盘全部进行下线处理,确保相关隐患全部排除。

作为运维专家,纯从技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,避免类似的问题再次发生。

硬盘固件详解和数据保护机制

固件又称Firmware,就是“固化在硬件中的软件”,不太恰当但是好理解的就是:固件就是硬盘的操作系统。固件firmware是安装在硬盘的一个小记忆芯片上的,用于引导硬盘工作。担任着一个系统最基础最底层的工作。是用汇编语言编写的引导命令、控制语句和执行语句,协调和控制硬盘各个内部部件之间相互作用。

对于固件的保存位置来说,不同品牌的硬盘各不相同。硬盘在工作时,用户可以访问的是零磁道以后的位置,因此固件区是无法访问的。只有通过专业工具,将硬盘置于工厂状态下,才能实现对硬盘进行读写固件区信息、获取固件区模块和表格配置图、获取扇区分配表、进行LBA(逻辑地址)与CHS(物理地址)互换、进行低级格式化以及读、写硬盘的闪存芯片等操作。

固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。在硬盘中,固件负责驱动、控制、解码、传送、检测等工作,如管理数据的存放位置、记录己经损坏的缺陷扇区、避免使用过程中再次用到这些坏的缺陷扇区、记录硬盘在工作中的温度或出现的错误 等。少了固件的硬盘就只是一堆机械和电子元件,不能正常运转,更不用说在其中读写数据了。

硬盘固件分为几个不同的工作区,不同品牌、不同型号的硬盘,其工作区各不相同,不同工作区的组成模块也不尽相同,有的硬盘只有A、B两个工作区,而有的硬 盘有A、B、C 三个工作区。硬盘的固件信息以模块的形式表现出来,可能每个模块记录一个信息,也可能一个模块记录多个信息。这些模块的大小并不一致,有些模块只有几个字节,有些则达到几十个字节,它们并不是连续存放的,而是各有其固定的位置。硬盘固件的信息模块包括管理模块、配置和设置表、缺陷列表以及工作记录表等。

为了解决为了组合廉价的小磁盘来代替昂贵的大磁盘,同时在磁盘失效的时候能保护数据。引入了RAID机制,RAID可以充分发挥出多块磁盘的优势,可以提升磁盘速度,增大容量,提供容错等能力,此种RAID方案被服务器、存储厂家延用至今。

RAID 0

又称为Stripe或Striping(分条),即数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,从而提高磁盘的性能和吞吐量,要求至少两个磁盘。

优点 :

读写性能高,可用容量为各个磁盘的容量和;

缺点

无容错,无冗余,不适用于安全性要求高的类型。

RAID 1

又称为Mirror或Mirroring(镜像)。RAID 1把一个磁盘的数据镜像放在另一个磁盘上面,在不影响性能的情况下最大限度的保证系统的可靠性和可修复性。

优点

很高的数据冗余能力,安全性高 ;

缺点

磁盘容量是总容量的一半,成本高。

RAID 5

是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像概念,而是使用了“奇偶校验信息”来作为数据恢复的方式,需要至少三个或更多的磁盘。

优点

容错性,数据冗余能力,读性能高,安全性较高 ;

缺点

与RAID 1相比,由于采用的是奇偶校验方式,数据保障程度要差一些,而磁盘利用率要高一些。

RAID 10

又称为镜像阵列条带。如RAID 0一样,数据跨磁盘抽取,也如RAID 1一样,每个磁盘都有一个镜像磁盘。因此RAID 10又称为RAID 0+1。

优点

100%数据冗余,安全性高 ;

缺点

价格相对较高,磁盘利用率50%。

 

硬盘固件Bug?

在腾讯云的公告称因硬盘固件Bug,导致文件系统元数据受损,数据无法恢复。相信一线的运维同学对公告也有同样的疑惑:

硬盘是哪一品牌的硬盘?

服务器或存储是否进行RAID进行数据保护?

硬盘的固件的哪一版本有Bug?升级到哪个版本能避免此问题?

极小概率触发Bug,触发的场景又是什么?

存在问题硬盘下线策略是什么,会不会对使用的用户有二次影响?

建议把Bug的详情和升级方案进行公布,让更多的公司来避免相似的问题,相信也是一种贡献。

服务可用性?

腾讯云的承诺的“99.9999999%的数据可靠性,搭载了云硬盘提供三副本存储策略,保障了数据在任何一副本出现故障时快速进行迁移和恢复”。按照正常思维逻辑,前沿数控的数据有三个副本,三个副本不可能在一台机器、同一块磁盘上。难道是一个宣传销售的一个噱头?

公有云不需要备份?

前沿数控显然存在失误,云服务的使用者要对数据负责,不是完全依赖于云服务提供商。出现数据丢失跟灾备措施有直接的关系,建议使用云架构方式的企业,所有的数据必须进行多云或者异地方式进行备份。本次腾讯云与前沿数控的磁盘数据丢失事件就是血的教训。

墨菲定律告诉我们,容易犯错误是人类与生俱来的弱点,不论科技多发达,事故都会发生。而且我们解决问题的手段越高明,面临的麻烦就越严重。所以,我们在事前应该是尽可能想得周到、全面一些。

作者简介:刘晓明,某知名互联网公司运维技术负责人,拥有 10 年的互联网开发和运维经验。一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能。

责任编辑:玄文成