2013-07-30 14:22:08
来 源
中存储网
文件系统
ReFS和ZFS都在传统的文件系统之上提供一些基本的改进。首先,都实时地检测和修复数据错误,无需卸载或干扰访问相应的卷。对于ZFS,这些在数据级和元数据级进行,通过使用分层校验,坚持全程上传文件结构到根节点。

存储的优点,一般认为是硬件驱动、基于RAID的文件系统的高可靠。真相是,显著的潜在错误依然存在,特别是随着系统为云架构和大数据应用程序扩展。这种潜在的错误,由于操作系统或者hypervisor的低级别数据错误的意识的缺乏,抽象的存储资源通过堆栈,数据完整性被假定可信任。

同样真实的是,简单的RAID奇偶校验不足以容纳数千个磁盘卷。如果你想深入地了解存储方法论如何挫败云革命,看看斯坦福大学的David S. H. Rosenthal教授的数据存储论文“Keeping Bits Safe: How Hard Can It Be?”。

与时俱进,存储交付引擎需要变得更聪明,对堆栈的其余部分更加透明,这意味着需要更好的文件系统,能够检测和实时纠正错误的卷,不能只是简单地离线定期例行错误检测。两个选项是Oracle(甲骨文)的ZFS和微软的ReFS(Resilient File System,弹性文件系统)。

Sun开始实时错误检测的工作可以追溯到2005年,在Solaris 11(代号为“Nevada”)的初步发展之时。其原型产品的开放源码、下一代的文件系统被称为ZFS,直至后来被Oracle收购,仍继续进行开发和改进。

微软正在试图在其新的ReFS文件系统中创造一些类似的能力。ReFS是Windows Server 2012 Storage Spaces的特性。在其核心,ReFS试图像ZFS一样解决基本的问题,同时保持NTFS文件系统的兼容性,以支持传统的Windows应用程序,服务和基础设施。

ReFS和ZFS都在传统的文件系统之上提供一些基本的改进。首先,都实时地检测和修复数据错误,无需卸载或干扰访问相应的卷。对于ZFS,这些在数据级和元数据级进行,通过使用分层校验,坚持全程上传文件结构到根节点。

当一个文件被读取,读取文件的校验与存储的校验相比较,错误被自动检测。在ReFS中,校验被放到文件元数据。一个附加的称为Integrity Streams的可选功能,确保更改写入时,它们被写入到一个不同的成员卷,以确保原始的不受损害。这种错误检测对抗位损坏,磁盘上存储的数据的降解,以及硬件故障,固件故障,宇宙射线和其他完整的破坏性事件,不影响联机文件系统的可用性。

虽然这两个文件系统有着相似的特性,ZFS的striped volume校验的表现脱颖而出。根据微软的文档,ReFS上的校验来自配对微软的Storage Spaces特性,并要求现有的奇偶校验信息“在一个可能的新写入发生之前被读取和处理”。

微软提倡为日志使用专用的固态硬盘以缓解可怜的写入性能,ZFS与这种效应斗争的方式是直接在大小可变的stripe写入奇偶校验信息。这缓解了写速度的害处,还纠正了臭名昭著的“RAID 5 Hole”,这是在传统的RAID系统中的一种局限,允许数据在崩溃或电源故障的情况下丢失,这实际上构成了RAID实现奇偶校验方式的一个全新的范式。

这两种卷的缓存实现差别巨大。ReFS可容纳SSD缓存,但有关ReFS缓存功能并不多,虽然他们不支持DRAM缓存。

相比之下,ZFS缓存被很好地记录,DRAM高速缓存是一项核心功能。ZFS提供三个级别的缓存:ARC,它是智能内存缓存到RAM,并使用尽可能多的可用RAM;L2ARC,这是一次性的(非存储)SSD读缓存;以及ZIL,这是SSD写缓存,缓冲写到底层卷。

http://my.csdn.net/uploads/201205/07/1336388760_1142.png

ARC在整个ZFS文件系统结构中的位置

ZFS支持使用PCIe固态硬盘或超低延迟的电池供电RAM磁盘设备作为ZIL以大幅降低到ZFS卷的写入延迟。而微软唯一的相关声明是“客户可以为此使用第三方解决方案”。

这两个文件系统都支持快照、加密、超大磁盘、巨量文件和16 EB的最大卷容量。但是,ReFS不支持压缩或重复数据删除,这两者都是 ZFS中的核心功能,即使Windows Storage Spaces支持NTFS卷上的重复数据删除。

最终的结果,在不细查之下似乎提供了类似的功能产品,其实大不相同。从表面上看,ReFS和ZFS似乎是竞争对手,但微软的第一代ReFS产品还很难与较为成熟的ZFS同场竞技。与Oracle发展超过12年的ZFS相比,ReFS尚需更多的努力,以保持Windows的竞争力。

ReFS存在一些重要限制,包括:

● 无法将既有的NTFS磁盘区直接转换为ReFS格式,只能在两种文件系统间以手动方式搬移与复制资料。

● ReFS不能作为启动分区,这意味着Server 2012系统,必须混合使用NTFS与ReFS两种文件系统,并以NTFS分区来启动。

● ReFS不适用于移动储存媒体(外接硬盘或USB随身盘)。

● ReFS本身并未含有重复数据删除功能,也无法与Server 2012新增的重复数据删除功能并用(Server 2012的重复数据删除功能,仅适用于NTFS文件系统磁盘区)。

● ReFS本身未内置可写入的快照功能,不过用户应可通过其他工具软件,直接从ReFS底层的Storage Space虚拟磁盘,来建立可写入的快照。

Copy-on-write式文件系统对比:ReFS vs. ZFS vs. Btrfs

  • (1) 等同于Copy-on-Wirte。
  • (2) 通过Windows Server 2012的文件与储存服务管理工具。
  • (3) RAID Z与Z2相当于RAID 5与6。

小编点评:从上面可以看到,相对于NTFS,ReFS提供了大量的改进。尽管相对于成熟的ZFS,ReFS还是有不少的局限性,但作为一款随着Windows Server 2012操作系统而来的创新产品,这已经难能可贵。期待微软在后续的版本中进行更多的改进,为数据存储的文件系统带来更好的体验和更多的选择。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。