运维专家分析“腾讯云与前沿数控的磁盘数据丢失事件”

存储 开发工具
从技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,避免类似问题再次发生。

[[239280]]

近日,腾讯云用户“前沿数控”平台一块操作系统云盘,因受所在物理硬盘固件版本 Bug 导致的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。

8 月 6 日,腾讯云官微发布关于用户“前沿数控”数据完整性受损及腾讯云补偿措施的说明 。

腾讯云表示,监控到异常后,***时间向用户告知故障状态,并立即组织文件系统专家并联合厂商技术专家尝试修复数据。虽经多方努力,最终仍有部分数据完整性校验失败。

经过分析,该硬盘静默错误是在极小概率下被触发,腾讯云随即对固件版本有 Bug 的硬盘全部进行下线处理,确保相关隐患全部排除。

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

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

[[239282]]

固件又称 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 年的互联网开发和运维经验。一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能。***给自己代个盐,欢迎大家有空时翻下我牌子(知乎号:布道,微信:AiDevOps),看看“开发运维”专栏的文章和公众号的文章,希望多些关注和点赞是给作者***的鼓励 !

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2018-08-16 10:18:21

公有云用户云厂商

2018-08-10 14:29:53

云服务云计算操作系统

2016-06-17 09:35:48

云计算日志

2018-08-30 13:41:25

数据

2021-01-18 15:25:46

比特币资金私钥

2016-04-20 17:59:56

2009-08-26 10:41:21

防止数据丢失

2013-07-05 16:37:50

数据丢失故障排查

2017-01-22 20:00:07

云数据中心网络运维SDN

2015-07-15 15:45:28

数据分析私有云云平台运维

2024-02-04 00:00:03

运维Linux磁盘

2013-09-13 16:15:29

柯旻运维云计算运维

2022-12-16 09:35:00

运维开发

2019-10-29 16:29:28

运维架构开发

2011-11-24 18:34:19

MSN帐号被盗信息丢失

2018-08-08 09:37:00

数据腾讯运维

2009-04-15 10:04:00

运维管理ITSMITIL

2013-02-27 11:13:17

云计算运维阿里云开发者

2013-03-22 14:51:34

云计算运维阿里云

2020-08-04 10:01:20

数据分析大数据数据
点赞
收藏

51CTO技术栈公众号