存储 频道

你的存储阵列能防止数据损失吗?

  【IT168 资讯】存储不需要很难,而且它一点儿都不难。如果你有这样的疑问“我的存储设备会不会让我的数据受损啊?“那这时候你就开始你的担心之旅了。作为一个存储菜鸟,我愿意尽自己的微薄之力,去揭开目前用于存储行业,解决用户问题的主要存储技术的面纱。

  某些存储技术(如rsync,DFSR),在出现错误的时候就会有数据损失的风险。在这种情况下,存储技术的改变不可避免。新的技术往往被认为是高可用性技术,与被滥用的容错存储技术可不同。

  对于高可用设备来说,数据的损失是不可接受的。现在我们要说的就是真正的容错。在存储产品上,则包括RAID(或者ZFS)还有各种形式的集群。一个来自主要厂商的合适的存储领域的网络(SAN)可能会包括一种或多种技术,有时还可以和用户自己的技术强强联合。

  RAID(独立磁盘冗余阵列)

  RAID原来是相当得微不足道,但是那段惨淡的岁月已经过去了。RAID把多个硬盘集中到一个卷中,根据RAID的水平,实现相应的应对硬盘故障的能力。考虑到硬盘的大小(当然也有其它因素),RAID5现在经常出现在某些应用中,而它的后继者,RAID6,也马上就要到来了。

  当然,我在这里要提一下致命的不可恢复读取错误(URE)。这个东西几乎可以出现在你的任何硬盘中,而且硬盘自己侦测不到,控制器元件也检查不出来。很多情况可以引发URE,有些你根本无能为力(比如宇宙射线的影响)。RAID技术可以让你承受硬盘出现故障,但是如果你在重建过程中,在一个看起来“很好”的硬盘中,不巧碰到了URE,那你就惨了。

  但这并不是世界末日,这个问题早已被人们熟知,人们针对它也研究了各种方法。你是不是会碰到URE,取决于你使用的硬盘的质量。如果你使用低端的SATA硬盘,那你需要考虑采用RAID5,RAID0就算了(那样绝对不安全),RAID6也可以考虑,但应该作为临时补丁直到你把数据转移到更可靠的东西上。

你的存储阵列能防止数据损失吗?

  生活中三大必然要发生的事:税收,死亡,硬盘故障

  硬盘的质量越好——比如说SAS硬盘,或者光纤通道的硬盘——它们的URE率就越低。在你重建存储系统时,这些硬盘能显著减少灾难性阵列故障的机会,而且还会让你的阵列使用寿命延长。一个好的硬件RAID控制器可以在RAID6中应对URE,并在周围做出标注。在RAID6中,在同一时刻,在两个硬盘中,在两个标注区域发生URE的几率非常小。

  这些高质量的硬盘只会为我们服务一定的时间,更长的重建时间和更多的硬盘故障相关的问题都需要解决。阵列中的硬盘使用时间相同,都进行同样的工作,有相同的缺点,出现故障也会成组出现。闪存也有自己的问题,无法拯救RAID。看来我们对RAID的希望要放到接下来的10年里,那个时候或许会有设计完美的,用于企业级的RAID产品,也许还会有消费级的产品出现呢。

  来自Sun的ZFS

  ZFS感觉像是由疯子设计出来的文件系统。它还被认为能取代RAID。它的真实的保证数据完整性的技术已经远远超出了本文所要讨论的范围,但是据说它能承受三倍的硬盘故障,更能与URE血战到底。它那几乎如同魔法般的数据完整性保障能力使人们在使用ZFS时只需要注意一点:在任何情况下,永远永远都不要对ZFS撒谎。

  不要在虚拟磁盘(超级监管程序创建的,ISCSI或FCoE)上使用ZFS,也不要在硬件RAID上使用。ZFS必须完全透明地控制硬件。可以使用像VMware“原始设备映射”那样的功能,但要保证你映射的是本地硬盘。

  一些管理员在无论什么样的硬件RAID上运行ZFS都禁止ZFS Intent Log,同时还配置硬件控制器忽略ZFS的刷新磁盘上数据的命令。这就可以让RAID控制器决定硬盘的刷新,并且可以依靠电池来应对电力中断。

  这是一种提升性能的调试策略,最终以IOPS来衡量。这种做法很常见,主要用在混合使用ZFS,NFS的系统中,NFS会要求系统在每次写入后都刷新数据,这和ZFS更高级的用于IOPS的算法和数据完整性平衡有冲突。其它的管理员——也包括我自己——并不赞同这种做法,因为它放弃了ZFS保持数据完整性的一些功能。如果对IPOS有要求,我更倾向于依赖使用了固态硬盘或NVRAM硬盘的混合存储池。它可以更好地配置ZFS,也可以满足NFS对数据写入刷新的要求,同时,还能使ZFS的保护机制完整。

  来自微软的ReFS

  微软的ReFS被认为是对ZFS的回应。我在这里得说清楚:这绝不是指形状或形式。ReFS相对于NTFS来说是个巨大的进步,但是还有许多不足。令人充满期待的是,微软的弹性存储技术可以弥补不止一个硬盘故障的损失,但是目前来看,我个人认为它还仅仅是个技术展示。

  ReFS和Storage Spaces需要整合在一起,积累一些用户基础,这样它们再去正面挑战ZFS。在目前的情况下,就在这个领域中,微软的管理员在其服务器中使用本地存储,最好还是使用硬件RAID。

0
相关文章