NETapp WAFL 文件系统
Anywhere File Layout”,即”任意位置写入文件布局”的缩写。WAFL文件系统和Filer的整合式RAID管理采用一体化设计,以避免大多数带有RAID管理机制的文件系统所固有的性能问题。
网络化存储实际应用中的三个基本要求决定了需要为NetApp Filer设计全新的文件系统:
文件系统应该更加有效地操控RAID机制
增加新的硬盘时,文件系统应该能够相应的动态增长
文件系统应该不需要做消耗大量时间的一致性检查
在这些基本要求之上,引申出了支持数据快照(Snapshot)的要求。
NetApp于1995年5月提出专利申请,在1998年10月获得专利(专利号码:5,819,292),题目为《Method For Maintaining Consistent States of A File System and For Creating User-Accessible Read-Only Copies of A File System》,前半部分就是有关WAFL的内容,后半部分则关于数据快照(Snapshot)技术。另一项专利于1995年6月申请,在1998年9月获得专利(专利号码:5,948,110),题目为《Method For Providing Parity In a RAID Subsystem Using Non-Volatile Memory》,这就是如何利用NVRAM来加速RAID,并保护RAID数据的一致性。WAFL采用有电池保护的NVRAM(非易失性内存)来担任其日志(journal),并藉由consistency points提供文件系统一致性(consistent) 的保证,在非正常断电或关机时,重新开机后可在2分钟内开始提供服务,不需要执行文件系统检查,也不用担心文件系统会损毁。WAFL结合NVRAM、RAID、Snapshot的设计难度极高,故从1992年至今仍未有其它厂商可以做到。
WAFL的主要特点及其所带来的优势包括:
永远一致性的文件系统:任何时刻文件系统均处于一致性的状态,即使遇到非正常断电或不正常关机后,也不需执行硬盘检查,即可在复电后2分钟内迅速提供服务。
具电池保护的NVRAM日志:利用存取速度较硬盘快一千倍的内存,担任文件系统的日志,同时保护metadata及data的交易纪录,并加速写入的效率和反应时间、保证文件系统的一致性、保证写入的交易不会因断电而流失。
内建智能型最佳化的RAID磁盘阵列管理系统:配合NVRAM日志功能,藉由硬盘区块的配置最佳化,可将大量的随机写入转为少量的循序写入,真正达到平行写入 (Stripe Write) 并减少磁头移动的次数和磁头移动的距离的目的,加速文件存取和搜寻的速度。
能增长的文件系统:不需其它软件的协助,就可直接实时动态线上扩增文件系统容量且立刻能使用新增加的容量。每次可只增加一块硬盘或多块硬盘的方式来扩增,完全不需要停机,也不需要等待时间。另外也可在不扩增容量的前提下,动态线上提高文件数量的上限,完全不需要停机,也不需要等待时间,也不影响系统运作效率。
瞬间快照备份 (Snapshot):使用不需要移动硬盘区块的WAFL专利技术,可瞬间备份整个文件系统,每个volume可有255份快照,每个使用者都有自己专属的一个快照目录,可自行恢复只属于自己在任一快照时间点的资料,完全不需系统管理人员的协助。每个快照备份皆是完整的文件系统备份 (Full File System Backup),不论已有多少份数的备份,系统运作效率皆不受影响。
WAFL作为专门为网络文件访问而优化的UNIX兼容文件系统。在某些方面,其磁盘格式类似于其它UNIX文件系统,如伯克利快速文件系统(Berkeley Fast File System,以下简称FFS)和IBM TransArc Episode文件系统,相似之处包括:
WAFL是基于数据块的,使用没有片段的4KB大小数据块
WAFL使用inodes来描述其文件
WAFL文件系统中,目录是格式特殊的文件
像IBM TransArc Episode文件系统一样,WAFL使用文件来储存元数据(Meta Data)。WAFL三个最重要的元数据文件是:
inode文件,包含文件系统所有的inode
块图文件,用以识别空闲块
inode图文件,用以识别空闲inode。
这里采用”图”而不是”位图”的称谓,因为这些文件采用多于1位(bit)对每一个路径加以描述。
其中,每一个WAFL inode包含16个块指针,用以表明哪一个数据块属于该文件。不同于伯克利快速文件系统,一个WAFL inode的所有块指针指向的是相同层次上的数据块。这样,对于小于64KB的文件,inode使用16个块指针指向文件数据块;大于64MB的文件,inode使用块指针指向间接数据块,间接数据块再指向实际的文件数据块。较大文件的inode指向更多的间接数据块。对于十分小的文件,数据储存在inode本身。
简单的,可以把WAFL理解为数据块树型结构,在树的根部是root inode,root inode是用以描述inode文件的特殊inode。inode文件包含描述系统中其它文件的inode,包括块图和inode图文件。WAFL文件系统数据块树型结构的树叶是所有文件的数据块。如下图所示:
[img]http://storage.chinabyte.com/imagelist/2009/184/36n238u0c1e7.png[/img]
图中显示,文件由不同的数据块组成。较大的文件在inode和实际数据块之间存在额外的间接层次。WAFL要启
闲来客栈 发表于: 2009-12-16
我要回答相关推荐
-
看文件系统结构如何降低NVMe性能
通过改善物理接口以及增加命令数量和队列深度,NVMe可使存储基础架构充分利用基于闪存的存储。但同时NVMe也带 […]
-
什么是文件存储?
文件存储,也叫作文件级或者基于文件的存储,它是以一种分层的结构存储数据。数据保存于文件和文件夹中,同样的格式用于存储和检索。
-
法规遵从和存储管理促使企业实施归档
一般来说归档数据的理由有两个:一是利用归档来处理数据的保存期限,二是让存储管理变得更容易。
-
昆腾StorNext许可证销量超过60,000大关
昆腾公司近日宣布已在全球售出超过60,000个StorNext®文件系统客户端许可证。这一里程碑标志着昆腾在企业机构的大数据管理方面占据领先地位。
-
为存储革命做好准备
发生大变化的迹象正在产生,一些核心的存储技术和正在经历考验。甚至是一些基本的存储规律似乎也在动摇。文件系统是否相关?RAID真的是最好的数据保护方式吗?