Windows的全新文件系统:ReFS

大约20年前,微软公布了New Technology File System(NTFS)文件系统,作为Windows NT的一部分出现。从那时起,NTFS就沉淀下很多特性,这些特性可能当时看起来不错,但实际上是不怎么样的想法。同时,尖端技术不断发展,与NTFS架构也就不再兼容了。经过几次失败的尝试之后,微软现在承诺提供一个全新的文件系统。

该文件系统被称为ReFS或“弹性文件系统”,其设计目的是要提升可靠性,特别是发生电源断电或是媒介故障的时候(比如磁盘的老化)。可靠性部分来自底层的变化,比如文件元数据的存储和更新。现在元数据的更新使用写时分配(allocate-on-write)方式,而不是以前的结合日志即时更新方式。

ReFS兼容Storage Spaces跨区卷技术。Storage Spaces自身有多种提升性能和可靠性的方式,特别是出现灾难性的磁盘失败情况时。然而,可能发生某种很微妙形式的数据毁坏情况。ReFS使用校验和系统,可以检测到这些错误的发生。出现错误时,ReFS会查询所有的Storage Spaces驱动器,判断谁有文件的正确拷贝。

为了主动确保驱动器和文件的完整性,ReFS会运行后台进程,不时抽测文件。该进程会对比与元数据和文件每份拷贝的内容,正如上例,该进程会使用正确拷贝修复其他错误拷贝。这对于很少访问的文件很重要,因为除非其他拷贝也出错,否则一份拷贝中的错误可能很难发现。

另一种可靠保障机制被称为“完整性流(integrity streams)”。与元数据类似,完整性流会使用写时分配方式来降低错误发生几率,这种错误发生在向磁盘写入时,有可能导致文件内容唯一一份正确拷贝出错。完整性流不适用所有文件类型,需要控制物理文件结构的应用(比如数据库)应该禁止该功能。

为了提升兼容性,在实现ReFS时,保证它可以在NTFS API下运行,只是替换了一些最底层的API。不过还是有一些NTFS的功能ReFS无法支持:

命名流
对象ID
短名称
压缩
文件级加密(EFS)
用户数据事务
分散文件
硬链接
扩展属性
磁盘份额

“BitLocker加密、安全访问控制列表、USN日志、变更通知、符号链接、接点、挂载点、重解析点、卷快照、文件ID、oplocks”等其他特性仍得到支持。

ReFS的早期版本将定位于文件服务器。也就是说只能在Windows 8 Server版中才能使用,而且不支持可启动驱动器。将来,ReFS将可以提供给客户机版本的Windows,最终将可用作启动驱动器。考虑到文件系统缺陷的危险程度,微软认为这种缓慢的方式更加审慎。

不过NTFS格式文件系统还是不能直接转换为ReFS,必须创建新的驱动器,然后把数据拷贝过去。

查看英文原文:Introducing Windows New File System: ReFS

译者 郑柯 InfoQ中文站总编。做过开发,当过PM,干过销售,搞过市场,最终还是回到媒体。实用的理想主义者,相信:每天改变一点点,这个世界会更好。

This entry was posted in 未分类. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s