数据损坏是一种难以感知的数据改变。但是,数据破坏又随处可见。数据存入存储时是一致的,但谁也不知道何时静默损坏就发生了。即使确认过眼神,也不一定遇见对的人。
下面,我们一起来讨论一下什么是硬盘的静默数据错误,系统怎么做才能容错,为什么说多个数据备份,RAID或EC技术,也解决不了这个问题?
了解数据静默破坏
当数据损坏未被检测到时,它将变为静默数据损坏,并且成为应用程序的数据一致性的高风险。当这些数据被备份并且未被发现时,那就真正会造成了数据完整性和恢复问题。
硬件和软件都会在数据路径中引入数据错误。在硬件方面,如磁头故障,噪声数据传输,电子干扰问题,介质老化和磨损都会引入错误。如同20世纪50年代科幻电影所述,宇宙射线都可能导致DRAM数据错误(存储位翻转)。
在软件方面,编码错误可能会破坏操作系统,文件系统,固件以及计算堆栈中处理数据的相关数据完整性。
数据错误问题有多大呢?
早在CERN的研究表明,平均每1016位中就有一次静默错误; 在最近的研究数据也展示了类似错误概率。在NEC报告中,实验即使使用数据完整性检查技术,也在磁盘阵列上报告中也出现了静默读取失败,当将错误数据写入应用程序,从错误记录到应用程序都引入各种错误。
近年来,NetApp研究了超过一百五十万个生产磁盘。他们确定了超过400,000个静默数据损坏,约占所研究总数据的13%。错误检查技术检测到了370,000个静默数据损坏(检测技术精准度已经很高),但仍有30,000个未检测到的错误。当在实验验证时,NetApp的测试软件就捕获了这些错误数据,但是在生产环境中,这30,000个错误数据将留在磁盘上并进入备份系统,直到需要进行恢复失败时才会被发现。
静默数据损坏与较大的磁盘容量无关:随着磁盘容量变化,错误率没有显着变化。这意味着存储在高容量磁盘上的数据相应地静默损坏构的威胁也更大。在现代磁盘中,随着磁盘容量增大,1/1016错误率也会倍增多次,因为这些磁盘存储的数据量更多。
我们来做一个数据库备份。备份站点于保护重要数据,RPO为15秒。当数据库崩溃恢复备份数据时,发现备份中存在数据损坏并且已经存在超过3天。那么这3天的近乎连续的备份数据,现在都已经是损坏的数据备份。
不要认为把数据备份到云上,就能神奇地解决此问题。数据上云意味着备份将保存到提供商的SSD和硬盘驱动器介质中,这些存储介质的错误率与任何其他存储介质完全相同。
但是,一些云服务提供商积极谈论防范云中的静默数据损坏解决之道。如eFolder建议,在与在线云存储供应商交谈时,需要询问这个问题以及解决方法,包括提供商在其存储介质上使用的技术以及在云网站上备份时使用的技术。例如,Amazon S3运行数据校验实现网络传输和数据在静止期间的保护。
数据保护和完整性检查
保护备份完整性的第一步应该是在生产存储完成,防止错误进入备份存储。如如采用ECC和CRC校验; 在这一方面,有些供应商已经走得更远,如保护IO流。例如,EMC Isilon OneFS在数据在网络传输时,对文件系统内的大数据进行验证。在生产系统保护磁盘阵列数据,防止错误进入备份阶段。另外,超融合供应商Nutanix通过运行静默数据完整性检查,防止静默损坏的数据进入虚拟化管理程序(Hypervisor)。
由Sun开发的开源ZFS和Microsoft的弹性文件系统(ReFS)通过本地端到端校验和和完整性检查保证数据备份一致性。在IO路径中,纠错码(ECC)和循环冗余校验(CRC)将捕获大多数错误。另外,通过校验和RAID类型技术也有助于捕获错误。RAID通常保护存储阵列,而数据保护供应商Unitrends、专业存储提供商都具有RAID 6和类似两个校验保护。
另外,修复IO流中的错误可保护应用程序,存储介质和备份数据。因为如果有太多损坏的数据保存到备份系统中,那么防止数据丢失的最后一道防线也会被破坏。如果备份数据发生错误,那么将永远无法恢复正常的数据副本。
如何保存数据备份?
关于数据备份一致性问题,另一个方法是选择一个备份产品,该产品可以检查备份环境中引入的损坏。
大多数备份产品都内置了恢复检测功能。但是,恢复测试和一致性保证并不意味着数据完整性一定得到保证。提供数据错误检查以及恢复保证的存储供应商包括Intronis,Asigra,Veeam和Unitrends等。
Intronis Cloud Backup and Recovery使用本地安全目录在启动备份或恢复之前验证文件完整性。使用经过验证的副本,Intronis会扫描驻留在每个远程数据中心的备份副本,以验证Intronis存储中的数据完整性。Intronis会自动使用经过验证的副本替换损坏的备份。
Asigra内置数据完整性检查到企业备份产品中。检测过程在后台自动运行,并监视备份的完整性。在数据发生损坏的情况下,Asigra找到一个好的原件并恢复损坏的文件。
Unitrends提供一体化企业备份和连续性解决方案。在VM备份前端,当Unitrends从生产设备传输数据到异地备份时,它会创建原始文件的校验和。当后续的增量被写入备份设备时,UEB运行校验和以验证新数据是否与旧数据完全匹配。
Veeam SureBackup验证备份数据的完整性和可恢复性。其完整扫描操作会检查诸如数据静默翻转等之类的常见错误,并使用验证过的备份数据替换损坏的数据。
英文链接:
http://www.enterprisestorageforum.com/storage-management/silent-data-corruption-the-backup-killer.html
温馨提示:
求知若渴, 虚心若愚
领取专属 10元无门槛券
私享最新 技术干货