DoSTOR存储分析 用户应重视无记载数据损坏

DoSTOR存储分析 10月16日国际报道:对于计算机用户来说最可怕的事情莫过于Silent Data Corruption(无记载数据损坏):文件系统遇到这个问题,往往只是简单的把错误数据直接交给上层应用。结果就是数据看起来是好的,直到你开始使用的时候才发现文件损坏。这种情况最可能出现的原因是硬件设备的问题,比如硬盘,RAID卡硬件问题,或者驱动bug。不过解决无记载数据损坏起来似乎很容易:找出比特误差故障(也称作无记载数据损坏)是否存在严重问题,然后,查出因此遇到麻烦的人。

不幸的是,任何遇到此类问题的人都不像是如此进展的。变成这种状况可能是一些环境原因:金融,卫生保健或其它一些类型的高可靠性,具有很高流量的系统,这些系统移动和存储大量的数据时偶尔会遇到故障。

Oracle公司的技术顾问Jim Williams说:"导致困难的部分原因是像公司白领等这些用户在不必要的情况下,不希望公司公开这类信息。""即使在知道内部发生故障时,Oracle的隐私策略也阻止我们公开地谈论这些问题。"

由Emulex公司公布的一个PowerPoint上揭示了以下几个事件:

  一家著名的电子商务公司曾经因文件系统管理器出错将坏数据写进了数据库而被迫关闭了几天。

  一家大型电讯公司因错误的磁盘适配器将不正确的数据写在数据库上而导致公司的数据库被毁。

  因为虚拟存储系统导致错误的数据被写到数据库里致使一家有名的金融服务企业的数据库不只一次地被毁。

  因为错误的中断处理程序,一家大型制造企业在几个月内发生多次数据损毁事件。

因为"系统故障",在许多公告中都会使用含糊不清的词语来报告这些故障,但是往往不够直接,明确。但是它们的的确确发生了。为什么在存储行业中,Oracle, Emulex和其它投资技术的存储企业会限制用户暴露数据损毁呢?

制止无痕迹的数据杀手

很多人弄不清楚"比特毁坏"的问题–即,在一个机架或计算机上的硬盘驱动器一两年不使用,一些电子从正能级跳跃到负能极上,导致设备毁坏或故障。另一方面,无痕迹的毁坏(Silent corruption)是发送到驱动器的数据出错。说它"无痕迹"是因为这些错误几个月内可能都不会被发现–在访问那个块区或备份前,一切似乎都很正常。

当然了,FC与SATA都利用数据校验技术和校正算法处理这些错误。但是几十年前,当通道速度还不如今天的十分之一时,这些方案中的很大部分就开始被进化了–从以前的25 Mbps到目前的超过400 Mbps。而且,今天拥有的通道比以前人们预想的多得多。结果就是,编码还不足以处理当代的情况。

这意味着什么?答案是意味涉及的范围着从丢失一个文件到失去整个文件系统或是被毁掉的数据库。因此几个科学家已经组织起来,就此问题向全世界发出警告。计算机科学家Vijayan Prabhakar已经在一家报纸上就这个问题开辟了一个工作区叫作"坚强的文件系统(Iron File Systems)",进行"核研究"的"欧洲机构"CERN的IT专家Peter Klemenen也在努力解决SATA磁盘上的这个问题。

Klemenen说:"无痕迹的毁坏是使用寿命问题。""解决的第一步就是检测,不过彻底消除这个问题似乎是不可能的事。"

因此,为了完成企业存储系统的端到端数据完整性校验,很多公司已经着手制定T10 DIF (数据完整性领域,Data Integrity Field)标准。不过,这些只对FC和SAS起作用–可是存在最高出错率的是SATA。

为此,这个标准的范围已经被"数据完整性行动(DII)"的诸多厂商,Oracle, Emulex, LSI Corp. 和 Seagate Technology公司进行了扩展。

Williams说:"DII的焦点是一种不依赖于通信网络的校验机保护的数据毁损。这类数据毁损大都来自于软件或固件错误。但是,硬件故障以及人为导致的错误也是数据毁损的一个原因。DII主张的方法是一种端到端的方法,并且是对T10 DIF标准的扩展。"

Williams承认,虽然数据毁损事故可能很少发生,但是,一旦发生,产生的影响是灾难性的。因此说,DII是真正的T10 DIF与早期Oracle被称之为HARD(硬件辅助复原数据,Hardware Assisted Resilient Data)行动的组合。DIF从HBA操作到磁盘驱动器,而HARD是从HBA到应用。DII上的工作准备覆盖应用到磁盘。

Williams说:"基于其针对Oracle的战略性质,我们最初的努力是在Linux领域。它的开放本性还允许Oracle在这个领域采用各种比使用其它操作系统更方便的方法推陈出新。

LSI的高级联盟经理Richard Vanderbilt预计Oracle公司将是第一个扩展T10 DIF产品范围的企业–Oracle的 Storage Manager (OSM)文件系统拥有用于Linux系统的嵌入式T10 DIF。他说,Emulex公司也会很快发行FC HBA,同时,LSI会在2008年年末首次将这项技术添加到它的高端阵列。

Vanderbilt说:"DII将最小化可能潜伏数月的数据毁损。""阻止诸如备份好几个月的故障数据并且只有当您做被破坏的恢复时才会发现等问题。"

这个问题经常在设备与存储子系统间发生。可能会得到报告说已经写到一个块的数据又被写入相邻的块,一个终端用户错误可能导致复写变址域,或者一个内核存储超高速缓存问题可能意味着应该被写入的一些比特的数据却没有被写入。

Vanderbilt表示:"T10 DIF不是无懈可击的,但是它会解决大部分无痕迹数据损毁(silent data corruption)问题。""通过确认第一点上的数据,我们能够最小化无痕迹数据损毁。"

SNIA介入

为了达到目的,Oracle公司不得不向开源社区开放一些代码,获得Red Hat 和 Novell等公司的支持。同时,LSI确信能将Sun, Microsoft 和 IBM公司带入这个范畴,从而将Windows, AIX 和 Solaris系统包括进来。

因此,它已经引起了"存储网络行业协会(SNIA)"的关注,目前"存储网络行业协会(SNIA)"已经证实除了发起的四家公司外,还有一个DII特别工作组加入了这个行动。

Williams说:"目前,这四家公司正在着手通过SNIA开展这项工作,使更多的公司加入进来。""还希望通过SNIA,我们可以将这个解决方案扩展到其它平台和应用中。"

但是,进入SNIA并不意味着每个人都会担心数据完整性问题。赢得这张彩票的机会大约是6千万分之1,具体数字取决于涉及的数目(这个数字大约是八位数)。如果没有任何形式的DIF, HARD 或 DII行动,故障的机会会变成10的十五次幂分之一。Reed-Solomon编码和DIF使故障的机会减少到10的17次幂分之1或更少。不过,我们谈论的不是每天发生的机会。

但是,像其它的事件一样,即使可能性很小,但高容量,高可用性的系统还是存在一定的风险的。在维持 100 GB/sec传输率的大型企业操作中,一年内会增加高达300个误差。对于一个运行1 TB/sec的任务繁重的网络来说,一年要增加高达3000个左右的误差。参加T10会议的希捷(Seagate)公司接口与新体系项目经理Marty Czekalski认为,在任何情况下,它都不算是什么大问题。

他说:"现代FC驱动能够很好地找出这些问题,SATA驱动也能够快速地做到这一点。""因此,检测不到的数据损毁几乎就没听说过,或许因为可能性会更小,只有1030之一的原故吧。DIF对磁盘驱动器以外的项目,如在交换机,RAID控制器,HBA或结构中的虚拟化项目起作用。"

Czekalski说:"DIF最大的好处就是在这些少见的错误被写到磁盘驱动器之前它就能够捕捉到它们。更老的方法都是在损毁事件发生后才能够捕捉到它们。"

不过,希捷(Seagate)公司计划在今年年底将DIF合并进下一代FC驱动器中。随后,还会将它合并到SATA驱动器中。