静默错误来临时,谁能保护数据万无一失?
近日,腾讯云关于“静默错误”的一则事故,在IT领域和创业圈掀起波澜。
事件回放
8月6日,腾讯官方公告:近日,腾讯云用户“前沿数控”平台一块操作系统云盘,因受所在物理硬盘固件版本Bug导致的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。
腾讯云表示,监控到异常后,第一时间向用户告知故障状态,并立即组织文件系统专家并联合厂商技术专家尝试修复数据。虽经多方努力,最终仍有部分数据完整性校验失败。经过分析,该硬盘静默错误是在极小概率下被触发,腾讯云随即对固件版本有Bug的硬盘全部进行下线处理。
之后,腾讯方提出13万余元的补偿方案,但前沿数控由于“精准用户数据全部丢失、数十万条用户帖子全部丢失、行业品牌库数据及所有录入的资讯全都丢失”,索赔1100万余元。双方僵持不下。
事件发布后,有人找到腾讯云的官方宣传数据:
腾讯云号称提供9个9的数据可靠性,那是“前沿数控”运气如此之差,以致撞上这个0.0000001%的概率吗?
且听我们为您剖析。
何谓“静默错误”
静默错误译自英文:Silent Data Corruption。对硬盘来说,核心使命是正确地存入数据、正确的读出数据,在出错时及时进行异常告警。磁盘可以正常捕获和告警的异常情形包括硬件错误、固件 BUG 或者软件 BUG、供电问题、介质损坏等。但还有些错误未被发现,直到使用的时候才发现数据是错误的、损坏的,这就是静默错误。简而言之,就如腾讯声明中所提:写入数据和读取出来的不一致。
“静默错误”的真实概率
NetAPP曾花一年多时间跟踪了150万块硬盘,发现了400,000多次静默错误,而30,000无法通过硬件RAID来检测或恢复;另一项CERN(欧洲原子能研究中心)的报告显示,CERN检查了97PB数据,发现其中128MB数据无法恢复。
如上,每块硬盘一年内发生静默错误的概率高达2%,远超过0.0000001%,最致命的是,这个错误一旦发生在元数据中,将导致“前沿数控”事件一样无法挽回的损失。
静默错误有哪些种类
误码率
我们的计算机硬件并不完美,在数据传输过程中,每十亿或万亿比特中就会出现错误比特。就磁盘来说,正如每块硬盘出厂时所标记的,企业级磁盘的误码率为1:1015 ,相当于平均每120TB数据出现一次非可纠错误,桌面级磁盘的误码率则更高,为1:1014。从这一点上来说,0.466%大容量企业级磁盘平均每年遭遇一次静默错误。
磁记录磨损
机械硬盘的读写原理是:磁盘驱动器向磁盘的非常小的区域提供非常精确的电流,改变其存储的电荷以表示存储的数据。当磁盘上的某个区域自发地丢失或改变电荷时,其中包含的数据将被删除,损坏或呈现为不可读,这称之为Bit Rot。这也是大部分存储厂商努力应对的静默错误之一。
另外还有以下情况可以导致静默错误:
磁盘幻象写(Phantom writes)
控制器进行了写操作,而实际硬盘中没有数据写入。
磁盘指向错误 (Misdirected reads/writes)
读取数据时,磁盘指向错误的位置
磁盘DMA 非一致性错误
阵列和服务器内存之间或驱动程序之间的DMA奇偶校验错误
其他硬件导致的静默错误
如第一项所说,由于计算机硬件的不完美或松动或故障,比如:主板老化、内存条失效、电源电压波动、突然掉电、HBA卡/SAS背板/数据连接线故障等等,也会导致静默错误的产生。
微信图片_20180813112412
静默错误影响深远
静默错误作为数据安全的致命隐患,一直以来是存储厂商秘而不宣的话题,因为频次较低也一直隐而不发。但随着大数据时代的到来,低概率将会因为硬盘基数的指数级增长而成为常态,静默错误将会越来越多地被遭遇,“前沿数控”不是第一个,更不会是最后一个。
另一方面,存储行业发生重大变化,井喷式的数据增长使得几十年发展历史的磁盘阵列架构受到挑战,分布式存储架构从互联网领域开始向企业数据中心渗透。而后者对于硬件架构的了解和故障的解决能力非常薄弱,大多数的分布式存储技术仅仅能够应对硬盘完全损坏这个单一的故障来源,而对于以上种种静默错误束手无策。
首当其冲的是,云计算领域频频出错。从2014年至今,腾讯云、阿里云、亚马逊AWS、青云等公有云不断涌现数据丢失、服务宕机的消息。
其次,电信运营商们作为第一批吃螃蟹的人,也尝到了苦涩。联通沃云某客户反映,仅 2017 年使用沃云平台的大小故障有80多次。电信用户直接在2018年3月的CEPH大会上表示,关键业务的数据还需要保存在磁盘阵列,而非软件定义的分布式存储或者超融合架构上。
静默错误影响越来越大,“前沿数控”事件后,不少IT大咖参与讨论,大多数声音都在呼吁备份。但用户更关心的是:
有没有更好的存储解决方案,
能够在错误发生伊始就识别并修复,
从而在第一时间预防风险呢?
有
在磁盘阵列几十年的发展过程中,虽然默默无声,但是不少厂家一直在钻研应对静默错误的技术与方法。而在线数据完整性校验技术被证明是目前能够有效应对,保证数据万无一失的唯一有效措施。
道熵是目前为数不多掌握这项技术的公司之一, IBM、NETAPP、SUN(已被Oracle收购)也拥有相关技术。而在分布式存储和超融合领域,道熵是第一家将在线数据完整性校验技术在商业存储中成功应用的厂商。
道熵的在线数据完整性校验技术确保每个数据块在写入时,系统自动产生一个256位校验码,该校验码并非与数据保存在一起,而是与该数据块的指针(或作地址)一同保存(NETAPP的技术将校验码与数据块相邻保存,那么当出现磁记录损毁或者幻象写的时候,校验码与原始数据有较大可能性同时出错而失去校验功能);每次读数据时,在线计算数据校验码并与系统保存的校验码对比,不一致则通过数据冗余技术,如数据镜像或RAID保护,触发数据自修复机制,原理如下图所示。
作为道熵的专利技术之一,在线数据完整性校验在早期应用于道熵的磁盘阵列中,保护了诸如3300点VDI的办公数据安全,多年来未出现一例静默错误导致的数据丢失。
随着道熵进入超融合领域,如何将磁盘阵列技术与分布式存储技术有机结合,成了道熵人追求的目标。在2018年6月份的新品发布会上,道熵推出的超融合2.0,完美融合了磁盘阵列的高稳定、高性能与分布式存储的高扩展,在线数据完整性校验机制也成为其中最亮眼的特性。“万无一失,方为存储”,从2012年成立以来,无论是磁盘阵列还是超融合,道熵始终将数据安全作为产品质量的第一要素,也将引领中国存储行业向着更高的安全指标进发。
警钟长鸣
腾讯云事故给IT行业敲响警钟:数据远远没有我们想象的那样安全。数据中心建设时,无论选择传统磁盘阵列,还是分布式存储,请确保其具备在线数据完整性保护功能,如此,在猝不及防的“静默错误”来临时方能万无一失。