近日,腾讯云用户“FrontierCNC”平台上的操作系统云盘出现静默错误(writeInconsistencybetweenreaddataand读取的数据)和文件系统的元数据损坏。8月6日,腾讯云官方微博就用户“前沿CNC”数据完整性受损及腾讯云的赔偿措施发表声明。腾讯云表示,监测到异常后,将第一时间将故障情况告知用户,并立即组织文件系统专家和联合厂商技术专家尝试修复数据。尽管付出了很多努力,但一些数据完整性检查最终还是失败了。经过分析,硬盘静默错误是极小概率触发的。腾讯云第一时间将所有存在固件BUG的硬盘下线,确保相关隐患全部消除。作为一名运维专家,我纯粹从技术角度分析腾讯云与FrontierCNC的磁盘数据丢失事件,避免类似问题再次发生。硬盘固件及数据保护机制详解固件又称Firmware,是“固化在硬件中的软件”。不太贴切但很好理解:固件就是硬盘的操作系统。FirmwareFirmware安装在硬盘的一块小内存芯片上,用来指导硬盘的工作,是系统最基本的一层。它是用汇编语言编写的引导命令、控制语句和执行语句,协调和控制硬盘内部各个部件之间的相互作用。对于固件的存放位置,不同品牌的硬盘是不一样的。硬盘工作时,用户可以访问到零磁道之后的位置,所以不能访问固件区。只有通过专业工具将硬盘置于出厂状态,才能对硬盘进行固件区信息的读写,获取固件区模块和表配置图,获取扇区分配表,进行LBA(逻辑地址)和CHS(物理地址))交换,执行低级格式化,读写硬盘闪存芯片等操作。固件是硬件设备的灵魂,因为有些硬件设备除了固件之外没有其他的软件组件,所以固件也决定了硬件设备的功能和性能。在硬盘中,固件负责驱动、控制、解码、传输、测试等,如管理数据的存储位置,记录损坏的缺陷扇区,避免这些坏的缺陷扇区被再次使用,记录硬盘的状态。工作过程中的温度或发生的错误等。没有固件的硬盘驱动器只是一堆无法正常工作的机械和电子组件,更不用说读取或写入数据了。硬盘固件分为几个不同的工作区。不同品牌和型号的硬盘有不同的工作区,不同工作区的模块也不同。有的硬盘只有A、B两个工作区,有的硬盘有A、B、C三个工作区。硬盘的固件信息以模块的形式显示,每个模块可以记录一条信息,或者一个模块可以记录多个信息。这些模块的大小不一致。有的模块只有几个字节,有的则达到几十个字节。它们不是连续存放的,而是各有固定的位置。硬盘固件的信息模块包括管理模块、配置和设置表、缺陷列表和工作记录表。为了解决用便宜的小磁盘组合来代替昂贵的大磁盘的问题,并在磁盘出现故障时保护数据,引入了RAID机制。RAID可以充分发挥多磁盘的优势,提高磁盘速度,增加容量,并提供容错等能力,这种RAID方案一直被服务器和存储厂商沿用至今。RAID0也称为Stripe或Striping(条带化),即数据条带化技术。RAID0可以将多个硬盘连接成一个更大容量的硬盘组,从而提高磁盘性能和吞吐量,至少需要两块磁盘。优点读写性能高,可用容量为每个磁盘的容量和。缺点无容错,无冗余,不适合对安全性要求高的类型。RAID1也称为Mirror或Mirroring(镜像)。RAID1是将一个磁盘的数据镜像到另一个磁盘上,在不影响性能的情况下,最大限度地保证了系统的可靠性和可修复性。优点数据冗余能力强,安全性高缺点磁盘容量是总容量的一半,成本高RAID5是RAID0和RAID1的折衷,但没有充分利用RAID1镜像的概念,而是使用“parityChecksum信息”作为一种数据恢复方法,至少需要三个或更多磁盘。优点容错、数据冗余、读取性能高、安全性高缺点与RAID1相比,由于采用奇偶校验方式,数据保护程度较差,磁盘利用率较高。RAID10也称为镜像阵列条带。与RAID0一样,数据跨磁盘条带化,而与RAID1一样,每个磁盘都有一个镜像磁盘。因此RAID10也称为RAID0+1。优点100%数据冗余,安全性高缺点价格相对较高,磁盘利用率50%硬盘固件Bug?腾讯云公告称,由于硬盘固件bug,导致文件系统元数据损坏,数据无法恢复。相信一线运维同学对公告都有同样的疑惑:这是什么牌子的硬盘?服务器或存储是否实施RAID以保护数据?哪个版本的硬盘固件有问题?我可以升级到哪个版本来避免这个问题?触发bug的概率很小,触发场景是什么?存在问题的硬盘下线策略是什么,是否会对用户产生二次影响?建议公布bug详情和升级方案,让更多公司避免类似问题,相信会有所贡献。服务可用性腾讯云承诺“99.9999999%的数据可靠性,配备云硬盘提供三副本存储策略,保证任一副本出现故障时数据可以快速迁移和恢复。”按照正常的思维逻辑,尖端CNC数据一共有三份,而且这三份不能在同一台机器上,同一盘上。是为了推销的噱头吗?公有云不需要备份?FrontierCNC显然有失误,云服务的用户应该对数据负责,不能完全依赖云服务商。数据丢失与灾难恢复措施直接相关。建议使用云架构的企业必须在多云或异地备份所有数据。腾讯云与FrontierCNC的磁盘数据丢失事件,就是血的教训。墨菲定律告诉我们,容易犯错是人类与生俱来的弱点,无论科技多么发达,事故还是会发生。我们解决问题的能力越好,我们的麻烦就越严重。因此,我们应该事先尽可能周到和全面。本人从事运维工作十余年。精通网站架构,了解各种云,深知数据对创业公司的重要性。必要时愿意提供技术支持。作者:刘晓明简介:某互联网公司运维技术负责人,拥有10年互联网开发运维经验。一直致力于运维工具的研发和运维专家服务的推广,赋能发展,提升效率。***给我自己加点盐。欢迎大家有时间浏览我的品牌(知识号:布道,微信:AiDevOps),阅读“开发与运营”专栏文章和公众号的文章,希望多多关注和点赞对作者最好的鼓励!
