除了前面介绍的FAT、EXT、NTFS和CDFS等常用文件系统外,exFAT、YAFFS等适用于闪存的文件系统将在后续章节介绍,此外还有一些其他不太常用的文件系统,在这里进行简单介绍。
BtrFS(通常念成Butter FS、Better FS或B-tree FS)是一种支持写入时复制(copy-on-write,COW)的文件系统,运行在Linux操作系统上,采用GPL授权。Oracle于2007年对外宣布这项计划并发布源代码,2014年8月发布稳定版,目标是取代Linux当时主流的EXT3文件系统,摆脱EXT3的一些限制,特别是单文件大小、文件系统总大小和文件校验,并加入EXT3不支持的一些功能,比如可写快照(writable snapshots)、快照的快照(snapshots of snapshots)、内建磁盘阵列(RAID),以及子卷(subvolumes)。其具体特性如下。
·扩展性(scalability)相关的特性
BtrFS最重要的设计目标是应对大型机器对文件系统的扩展性要求。盘区、多路搜索树(B树)和动态节点创建等特性保证了BtrFS在大型机器上仍有卓越的表现,其整体性能不会随着系统容量的增加而降低。
·数据一致性(data integrity)相关的特性
当系统面临不可预料的硬件故障时,BtrFS采用COW事务技术来保证文件系统的一致性。BtrFS还支持checksum,避免了silent corrupt的出现。而传统文件系统则无法做到这一点。
·多设备管理相关的特性
BtrFS支持创建快照(snapshot)和克隆(clone),并且能够方便地管理多个物理设备,使得传统的卷管理软件变得多余。
·其他难以归类的特性
这些特性都是比较先进的技术,能够显著提高文件系统的时间/空间性能,包括延迟分配、小文件的存储优化、目录索引等。
ZFS的命名来源于“Zettabyte File System”的首字母缩写,本身并不具备任何的缩写含义,只是作者想阐述一个具备高扩充容量文件系统且支持许多延伸功能的一个产品,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun公司称为终极文件系统,经历了10年的活跃开发;而最新的开发将全面开放,并重新命名为OpenZFS。ZFS具有如下特点。
·基于存储池
ZFS是基于存储池的,与典型的映射物理存储设备的传统文件系统不同,所有在存储池中的文件系统都可以使用存储池的资源。不同于传统文件系统需要驻留于单独设备或者需要一个卷管理系统来管理使用一个以上的设备,ZFS创建在虚拟的被称为“zpool”的存储池之上(存储池最早在AdvFS中实现,并且加入后来的BtrFS)。每个存储池由若干虚拟设备组成。这些虚拟设备可以是原始磁盘,也可能是一个RAID1镜像设备,或是非标准RAID等级的多磁盘组。于是zpool上的文件系统可以使用这些虚拟设备的总存储容量,可以使用磁盘限额以及设置磁盘预留空间来限制存储池中单个文件系统所占用的空间。
·写入时复制事务模型
ZFS使用一种写入时复制(COW)事务模型技术。所有文件系统中的块指针都包括256位的能在读时被重新校验的关于目标块的校验和。含有活动数据的块从来不被覆盖;而是分配一个新块,并把修改过的数据写在新块上。所有与该块相关的元数据块都被重新读、分配和重写。为了减少该过程的开销,多次读写更新被归纳为一个事件组,并且在必要的时候使用日志来同步写操作。
利用写时拷贝使ZFS的快照和事务功能的实现变得更简单和自然,快照功能更灵活。缺点是COW使碎片化问题更加严重,对于由顺序写生成的大文件,如果以后随机地对其中的一部分进行了更改,那么这个文件在硬盘上的物理地址就变得不再连续,未来的顺序读会变得性能比较差。
·快照与克隆
ZFS使用写入时复制技术的一个优势在于,写新数据时,包含旧数据的块被保留着,提供了一个可以被保留的文件系统的快照版本。由于ZFS在读写操作中已经存储了所有构建快照的数据,所以快照的创建非常快。而且由于任何文件的修改都是在文件系统和它的快照之间共享的,所以ZFS的快照也是空间优化的。
可写快照(“克隆”)也可以被创建,结果就是两个独立的文件系统共享一些块。当任何一个克隆版本的文件系统被改变时,新的数据块为了反映这些改变而创建,但是不管有多少“克隆”版本的存在,未改变的块仍然在其他“克隆”版本中共享。
·动态条带化
ZFS能动态条带化所有设备以最大化吞吐量。当额外的设备被加入到zpool中的时候,条带宽度会自动扩展以包含这些设备。这使得存储池中的所有磁盘都能被用到,同时负载被平摊到所有的磁盘上。
·可变块尺寸
ZFS使用可变大小的块,最大可至128KB。现有的代码允许管理员调整最大块大小,这在大块效果不好的时候有用。未来也许能做到自动调整适合工作量的块大小。ZFS的可变大小的块与BtrFS和EXT4的Extent不同。在ZFS中,在一个文件中所有数据块的逻辑长度必须是相同的,不同文件之间的块大小可以不同,因此ZFS可以用直接映射(direct map)的方式(同UFS/FFS/EXT2/EXT3)来搜索间接块的数据指针数组(blkptr)。BtrFS和EXT4的Extent方式在同一个文件中每个数据块的大小都可以不相同,因此需要用B+树或者类B树的方式来组织间接块的数据。
虽然直接映射方式比B+树的查找速度快,但是这种方式的缺点也非常明显,如元数据开销过大、顺序IO的大文件性能不好、删除比较慢等,因此在现代文件系统中映射方式逐渐被Extent变长块取代。如果数据压缩(LZJB)被启用,可变块大小需要被用到。如果一个数据块可被压缩至一个更小的数据块,则小的数据块将使用更少的存储和提高吞吐量(代价是增加CPU压缩和解压缩的负担)。
分层文件系统(Hierarchical File System,HFS)是由苹果公司开发,并使用在Mac OS上的一种文件系统。最初被设计用于软盘和硬盘,同时也可以在只读媒介如CD-ROM上见到。HFS首次出现在1985年9月17日,作为Macintosh电脑上新的文件系统。它取代只用于早期Mac型号所使用的平面文件系统Macintosh File System(MFS)。因为Macintosh电脑所产生的数据比其他通常的文件系统,如DOS使用的FAT或原始UNIX文件系统所允许存储的数据更多,苹果公司开发了一种新式更适用的文件系统,而不是采用现有的规格。例如,HFS允许文件名最多有31个字符的长度,支持metadata和双分支(每个文件的数据和资源分开存储)文件。尽管HFS像其他大多数文件系统一样被视为专有的格式,但是只有它为大多数最新的操作系统提供了很好的通用解决方法以访问HFS格式磁盘。
在1998年,苹果公司发布了HFS Plus(HFS+),其改善了HFS对磁盘空间地址的定位效率,并加入其他改进。当前版本的Mac OS仍旧支持HFS,但从Mac OS X开始HFS卷不能作为启动使用。
分层文件系统把一个卷分为许多个512字节的“逻辑块”。这些逻辑块被编组为“分配块”,这些分配块可以根据卷的尺寸包含一个或多个逻辑块。HFS对地址分配块使用16位数值,分配块的最高限制数量是65536。
组成一个HFS卷需要以下5个结构:
1)卷的逻辑块0和1是启动块,它包含了系统启动信息。例如,启动时载入的系统名称和壳(通常是Finder)文件。
2)逻辑块2包含主目录块(Master Directory Block,简称MDB)。
3)逻辑块3是卷位图(Volume Bitmap)的启动块,它追踪分配块使用状态。
4)总目录文件(Catalog File)是一个包含所有文件的记录和存储在卷中目录的B*树。
5)扩展溢出文件(Extent Overflow File)是当最初总目录文件中三个扩展被占用后,另外一个包含额外扩展记录的分配块对应信息的B*树。
HFS+文件系统是目前苹果电脑中默认的最常见文件系统,其改善了HFS对磁盘空间的地址定位效率低下问题,并加入了其他改进。HFS+来源于UNIX,但是又不用于UNIX,它增加了许多新的特性,同时也有许多不同于Windows、UNIX等系统的概念。HFS+是苹果公司为替代他们的分层文件系统(HFS)而开发的一种文件系统。它被用在Macintosh电脑(或者其他运行Mac OS的电脑)上。它也是iPod上使用的一种格式。HFS+也被称为Mac OS Extended(或误称为“HFS Extended”)。在开发过程中,苹果公司也把这个文件系统的代号命名为“Sequoia”。
HFS+是HFS的一个改进版本,支持更大的文件,并用Unicode来命名文件或文件夹,代替了Mac OS Roman或其他一些字符集。与HFS一样,HFS+也使用B树来存储大部分分卷元数据。
HFS+文件系统主要由卷头、位图文件、扩展文件、目录文件、属性文件、启动文件、日志文件等组成。这些文件的作用如下:
1)卷头。记录构建HFS+文件系统的基本信息,包括块大小、日志位置信息以及一些重要的元文件的位置信息。
2)位图文件。用于标记卷中哪些块已经被使用,哪些块为空闲。
3)扩展文件。主要用于描述碎片太多的文件数据范围,文件碎片的前8个碎片存储在目录文件中。
4)目录文件。存储文件的元信息,这些信息包括文件名、文件和目录之间的层次结构、文件创建时间、文件数据碎片的前8个碎片区域等。文件与目录之间的层次结构由文件系统分配给每个文件和目录的CNID来维护。
5)属性文件。存储附加信息。
6)启动文件。用于从HFS+卷上启动非Mac OS系统。
7)日志文件。用于解决写操作异常等问题,存储最近改动的数据信息。
位图文件、扩展文件、目录文件、属性文件均采用B树进行数据管理,文件的元信息存储在B树的叶子节点中。
Linux内核从2.4.1版本开始支持ReiserFS格式。ReiserFS的第一次公开亮相是在1997年7月23日。它的开发者认为,最好的文件系统应该是有助于创建独立的共享环境或命名空间的文件系统,应用程序可以在其中更直接、有效和有力地相互作用。为了实现这一目标,文件系统就应该满足使用者对性能和功能方面的需要。使用者能够直接地使用文件系统,而不必建造运行在文件系统之上(如数据库之类)的特殊目的层。
为此,ReiserFS使用了特殊的、优化的平衡树(每个文件系统一个)来组织所有的文件系统数据,这为其带来了非常不错的性能改进,也能够减轻文件系统设计上的人为约束。另一个使用平衡树的好处就是,ReiserFS能够像其他大多数的下一代文件系统一样,根据需要动态地分配索引节点,而不必在文件创建时建立固定的索引节点。这有助于文件系统更灵活地适应面临的各种存储需要,同时提高附加的空间效率。
ReiserFS被看作一个更加激进和现代的文件系统。传统的UNIX文件系统是按磁盘块来进行空间分配的,对于目录和文件等使用了简单的线性查找。这些设计在当时是合适的,但随着磁盘容量的增大和应用需求的增加,传统文件系统在存储效率、速度和功能上已显得落后。ReiserFS的更新版本Reiser4提供了对事务的支持。
ReiserFS的缺点是每升级一个版本都要将磁盘重新格式化一次,而且它的安全性能和稳定性与EXT3相比有一定的差距。因为ReiserFS还不能正确处理超长的文件目录,如果创建一个超过768字符的文件目录,并使用ls或其他echo命令,将有可能导致系统挂起。
JFS(Journal File System)是一种字节级日志文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计开发的。在IBM的AIX系统上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。
与非日志文件系统相比,JFS的突出优点是快速重启能力,JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。虽然JFS主要是为满足服务器的高吞吐量和可靠性需求而设计的,但也可以用于想得到高性能和可靠性的客户机配置,因为在系统崩溃时,JFS能提供快速文件系统重启的时间,所以它是因特网文件服务器的关键技术。
JFS的缺点是使用JFS在性能上会有一定损失,系统资源占用的比率也偏高,因为当它保存一个日志时,系统需要写许多数据。
一个日志文件系统是文件和目录的层结构,即文件树。这种结构类型与倒置的树,即根在顶端、枝叶在低端相类似,枝代表目录,叶代表文件。这种文件树使用目录组织数据而且设计成组,允许一次管理多个目录和文件,在一个JFS中能保存各种数据。
目录在内核里是基本数据,而在文件系统里与基本文件所处的地位完全一样。目录可以像普通文件一样被读出,但是不能像普通文件那样生成和写入。目录文件的格式是由二进制数和正文数据组合而成的,一个目录项由16字节组成,最后的14字节保存文件名。当文件名不足14个字符时用ASCII码NULL(全零值)填满,而开始两字节表示文件管理信息的地址。每个目录文件均以“.”或“..”开始,“.”是进入本目录的目录入口,“..”代表当前目录的双亲目录,也就是靠近此目录的上一层目录。
文件是一个字节序列。对JFS来说,文件没有记录、类型的概念,文件系统对文件的管理并不涉及文件内部的数据结构,文件内部的数据结构视具体程序而定。正文文件以行为单位记录信息,每行以换行符为结束标志。JFS中没有记录、记录总数、字节总数等信息,而是根据文件是否还有符号来表示文件是否结束。系统内核的文件系统记录每个文件长度,根据文件长度,系统可以判断文件的结束与否。确定文件类型不能只根据文件名作出判断(虽然文件名可以有类型区别),命名的方法仅仅是一个惯例,并不能完全代表文件类型。有时文件的标签是很明确的,可执行程序可以通过在文件开始的“二进制幻数”来识别。在od命令不加选择项时,它以16位即两字节为单位打印文件八进制表示,便可看到文件的幻数。
JFS空间分为chuck(大块),称作分配组,每个分配组包含inode和数据块。允许inode和数据块被分散到文件系统中,而且允许文件数据分配在离它的inode很近的位置。当文件系统增大时,分配组数也增多,当分配组增加时,文件系统包含更多的inode和数据块。第一个分配组开始于文件系统的开端,而且包含一个保留区,被一个4096×2字节的组所占用,这个区的第0个4096字节(0x0000)用来保存LVCB(Logical Volume Control Block),第1个4096字节(0xl000)占据文件系统的主superblock;第31个4096字节(0xlf000)保存次superblock。第二个分配组始于第32块,而且占用连续足够的块保存分配组的inode。
XFS是硅谷图形公司(SGI)于20世纪90年代初开发的一种非常优秀的日志文件系统。XFS推出后被业界称为先进的、最具可升级性的文件系统技术。它是一个全64位、快速、稳固的日志文件系统,多用于SGI的IRIX操作系统。作为一个64位文件系统,XFS可以支持超大数量的文件(9000×1GB),可在大型2D和3D数据方面提供显著的性能。XFS有能力预测其他文件系统的薄弱环节,能够在不妨碍性能的情况下增强可靠性和快速的事故恢复。
XFS可为Linux和开放资源社区带来如下新特性。
·可升级性
XFS被设计成可升级的,以面对大多数的存储容量和I/O存储需求;可处理大型文件和包含巨大数量文件的大型目录,以满足21世纪快速增长的磁盘需求。XFS有能力动态地为文件分配索引空间,使系统可以支持大量文件。
·优秀的I/O性能
典型的现代服务器使用大型的条带式磁盘阵列。XFS可以很好地满足I/O请求的大小和并发I/O请求的数量。XFS可作为ROOT文件系统,并被LILO支持,也可以在NFS服务器上使用,并支持软件磁盘阵列(RAID)和逻辑卷管理器(Logical Volume Management,LVM)。在单个文件系统的测试中,其吞吐量最高可达每秒7GB,对单个文件的读写操作其吞吐量可达每秒4GB。
因为XFS比较复杂,实施起来有一些难度(包括人员培训等),所以目前XFS主要应用于Linux高端用户。
UFS是UNIX文件系统的简称,它来源于4.3Tahoe发行版中提供的BSD Fat Fast File System(FFS,高速文件系统),属于FFS的演化版本,是Solaris的默认文件系统。UFS几乎是大部分UNIX类操作系统默认的基于磁盘的文件系统,包括Solaris、Free BSD、Open BSD、Net BSD、HP-UX等,甚至苹果公司的OS X也能支持UFS。
在最初的FFS设计中,为了使文件系统在遭到毁灭性打击,如硬盘发生整个磁道、整个盘面或者整个柱面损坏时能够得以恢复,在文件系统初始化时,会将文件系统的重要数据结构复制到整个磁盘的多个位置,以便在发生硬件损坏时能够读取,而UFS也继承了这些优良的特性。另外,为了提高运行效率,UFS与磁盘的结构也有着完美的结合,UFS将整个磁盘的所有逻辑柱面平均分配为若干个组,每组称为一个“柱面”。在UFS内部就用柱面组对文件系统进行分段组织和管理,每个柱面组中都有文件系统关键数据结构的备份,所有文件在各个柱面组中相对独立地存储而又有机地结合在一起。这就使磁盘中的磁头在访问文件系统中的数据时有效地减小了摆动,提高了访问效率。
在创建UFS时,磁盘的盘片被分成若干个柱面组,每个柱面组由一个或多个联系的磁盘柱面组成,在文件系统的前部会有一个叫作“柱面组概要”的结构对整个文件系统中的每个柱面组信息进行统计,并且在每个柱面组中还有一个“柱面组描述符”用来管理当前柱面组。每个柱面组又进一步被分成若干个可寻址的块,以控制和组织柱面组中文件的结构,所以“块”是UFS中文件分配和存储的基本单位,类似于FAT文件系统和NTFS中“簇”的概念。
在UFS中,“块”有多种类型,每种类型的块都具有特定的功能。UFS主要具有四种类型的块:引导块、超级块、i节点、数据块。其中,引导块为在引导系统时使用的信息;超级块记录文件系统的详细信息;i节点记录文件的各种信息;数据块存储每个文件的实际内容。
UFS中的“块”又被分成更小的单位,叫作“段”。在创建UFS时,可定义段的大小,默认的段大小一般为1KB。每个块都可以分成若干个段,段大小的上限就是块的大小,下限实际上为磁盘扇区大小,通常为512字节。
当文件写入文件系统时,首先为文件分配完整的块,然后为不满一个块的剩余部分分配某个块的一个或者多个段。对于比较小的文件,首先分配段进行存储;能够为文件分配块中的段而不是仅分配完整的块,减少了块中未使用的空间,从而提高了磁盘的利用率。在创建文件系统时,选择段的大小需要考虑时间和空间的平衡,小的段大小可节省空间,但是需要更多的时间进行分配,通常,当大多数文件都很大时,为了提高存储效率,应为文件系统使用较大的段;当大多数文件都比较小时,应为文件系统使用较小的段。
综上所述,UFS由若干个“柱面组”构成,每个柱面组包含一定数量的“块”,每个块又由若干个“段”组成。“段”是UFS的最小存储单元。每个柱面组、块、段在文件系统中都有自身的编号,它们的起始编号都是0。
另外,超级块是UFS中非常重要的一个结构,其重要性类似于FAT文件系统和NTFS中的DBR,所以UFS在每个柱面组中都对超级块做了备份,但备份的位置却各不相同,在每个柱面组中都会发生一定的偏转,这是因为在原来的硬盘中每个磁道具有相同的扇区数,这个就导致每个柱面组的第一个扇区都位于同一个盘面上。为了减小因故障而产生的数据损坏,将超级块的备份在每个柱面组中错位存放就可以使它们不再存储于同一个盘面,从而降低了风险。而现在的新式硬盘中每个柱面的扇区数并不相等,所以也就不存在这样的隐患,实际上UFS2已经不再考虑数据错位存放的问题。
VMware Virtual Machine File System(VMFS)是一种高性能的群集文件系统,它使虚拟化技术的应用超出了单个系统的限制。VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。
VMFS有一个本质的区别就是在VMFS中没有某台服务器或某个软件可以完全控制对文件系统的访问权限。VMFS通过运行于每一台主机上,直接管理文件系统的命名空间来达到协调管理客户端对文件的访问权限。每个VMFS卷都在文件系统中保留了一定的空闲区域用于内部协调时使用。确保VMFS适用于虚拟环境的技术特性包括:具有分层目录结构的自动文件系统、针对群集环境中的虚拟机进行优化、锁定管理和分布式逻辑卷管理、跨越多个存储盘区与动态扩展数据存储区、具有日志记录的群集式文件系统可迅速恢复、将整个虚拟机状态封装在单个目录中。
作为虚拟机(VM)环境的智能化和自动化存储接口,VMFS提供了自动的群集文件系统功能和智能的群集卷管理功能。VMFS所具有的大量优点使其特别适合作为虚拟环境中的群集文件系统,如支持可确保应用程序服务级别的独特功能、无缝管理虚拟机存储、简化灾难恢复等。
VMFS是跨越多个服务器实现虚拟化的基础,传统文件系统在给定时间内只允许一台服务器读写同一文件,而VMFS是一种集群文件系统,它利用共享存储允许多个VMware ESX(Elastic Sky X)实例同时读写相同存储位置。它可启用VMware VmotionTM、Distributed Resource Scheduler和VMware High Availability等各种服务。VMFS还能显著减少管理开销,它提供了一种高效的虚拟化管理层,特别适合大型企业数据中心。
采用VMFS可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。作为一个群集文件系统,VMFS允许多个ESX/ESXi服务器同时访问同一个VMFS数据存储(VMware ESX和VMware ESXi是“裸机”管理程序,它们直接安装在物理服务器之上,并将其划分成可同时运行的多个虚拟机,这些虚拟机共享底层服务器的物理资源。每个虚拟机都代表着一个完整的系统,具有处理器、内存、网络连接、存储并且可运行未经修改的操作系统和应用程序)。
为了确保多台服务器不会同时访问同一个虚拟机,VMFS提供了磁盘锁定。为了协调对VMFS内部文件系统信息的访问,ESX/ESXi会在整个逻辑单元设备上使用小型计算机系统接口(Small Computer System Interface,SCSI)。图2-16显示了共享同一个VMFS卷的若干ESX/ESXi系统。
图2-16 跨ESX服务器共享VMFS数据存储
Veritas File System(VxFS)是Veritas公司推出的一种高性能、高可用性的文件系统,一般用于数据中心。它是一种基于扩展的文件系统,能够让应用程序读取和写入大的连续块,适用于OLTP系统和DSS系统。
VxFS是首个商业日志记录文件系统。通过日志记录功能,元数据更改首先写入日志,然后再写入磁盘。由于无须在多处写入更改,且元数据是异步写入的,因此吞吐量较快。VxFS也是基于扩展区的意向日志记录文件系统。VxFS设计用于要求高性能和高可用性,并且可以处理大量数据的操作环境。
VxFS通常被应用于分布式集群、双机、异地容灾等高可靠解决方案中,它主要是与VCS/VVR/GCO/VxVM这些软件配套使用。该文件系统的一大优势是由于HA的主、备节点上可以同时在线看到相同的磁盘组(Diskgroup),VxFS可以实现自动对磁盘组加锁、解锁,从而保证存储设备只在主节点上输入输出。VxFS的主要组件包括日志记录、扩展区、文件系统磁盘布局。
ReFS(Resilient File System,弹性文件系统)是在Windows Server2012中新引入的一个文件系统。目前只能应用于存储数据,还不能引导系统,并且在移动媒介上也无法使用。
ReFS是与NTFS大部分兼容的,其主要目的是为了保持较高的稳定性,可以自动验证数据是否损坏,并尽力恢复数据。如果与引入的Storage Spaces(存储空间)联合使用的话则可以提供更佳的数据防护。同时对于上亿级别的文件处理也有性能上的提升。
ReFS的关键功能如下(其中某些功能与存储空间联合提供):
1)带有校验和的元数据完整性。
2)提供可选用户数据完整性的完整性流。
3)通过写入时分配事务模型实现可靠的磁盘更新(也称为写入时复制)。
4)支持超大规模的卷、文件和目录。
5)存储池和虚拟化使得文件系统可建立并易于管理。
6)通过数据条带化提高性能(带宽可管理)并通过备份提高容错性。
7)通过磁盘扫描防止潜在的磁盘错误。
8)借助“数据打捞”实现损坏还原,以便在任何情况下尽可能提高卷的可用性。
9)跨计算机共享存储池,以提供额外的容错性和负载平衡。
此外,ReFS还从NTFS集成了某些功能和语义,包括BitLocker加密、用于安全的访问控制列表、USN日志、更改通知、符号链接、交接点、装入点、重解析点、卷快照、文件ID和操作锁。当然,客户端只要使用任何操作系统中可访问现有NTFS卷的文件访问API,就可以访问以ReFS存储的数据。