Lead Ahead

WAFL 2----WAFL 的设计

上一篇 / 下一篇  2006-12-29 18:27:52 / 个人分类:原创/翻译

1.2   WAFL的设计

*A${/y.XK/|0

WAFL是一种为网络文件访问优化的一种兼容的文件系统。他具有独一无二的特性:他存储了足够多的信息,来让它和很多不同的客户环境系统兼容;同时在提供给多种类型的网络客户端时,也为最大化硬盘容量的读写操作做出优化。DOIT博客$E6x+n$?S-x^

 DOIT博客ElS{4M

WAFL是一个为网络文件访问优化的一种独一无二的文件系统。在很多情况下WAFL相似于UNIX的文件系统,例如Berkeley Fast File SystemTransArcEpisode File System。它是一个使用inode来描述文件的基于块的文件系统。它使用了4KB的块而没有分段。但他的独特之处在于它能够存储足够多的元数据,这使得它能跟任何其他的主流操作系统(UNIXLinuxWindows)一起运行,正如跟像FCPiSCSI这样的块级别的协议。它还包含了独特的优化功能,能有效地增加它在磁盘块和网络接口之间的传输数据的能力,这目前比市场上任何通用的操作系统都要好。

'{%C LHrI3s?L3L0

v3r%A7wZ0

硬盘的可用空间的一小部分被用来存储文件系统有关的数据,这个可以被看作是一种消耗。一个文件系统会把剩余的空间分成小的而大小一致的段。在UNIX的世界里,这些段也是被称之为inode

1{ R\m"qf6n"h)mY0

DOIT博客ts [.hu2F#sFk

每一个WAFLinode都包含了指向它属于文件的那一个块的指针。不同于FFS的是,所有的在WAFLinode的块的指针,都涉及到同一级别的块。因而,对于小文件的inode,使用在inode里的块的指针来指向数据的块。大的文件的指针的inode,指向了那些指向真实文件数据的指针的间接的块。对于大文件的inode指向了双倍的间接的块并不断进行下去。对于非常小的文件,数据存在inode本身存放块指针的地方。通过这样存储数据和块,可以减少文件系统的I/O,因为inode的访问实际上能带来第一层的块指针和甚至是真正的文件目录。

*T!` x/jY ~ d0

 DOIT博客#c*ynT$do$tq$d#a

1.1.1       在文件中的元数据DOIT博客U'``G2J

Episode文件系统,WAFL把元数据储存在文件中。WAFL的三种元数据是:inode文件,它包含了文件系统的inodeblock-map文件,它能识别闲置的块;inode-map文件,它确定了空闲的inode。术语map是用来取代bit map的,因为这些文件对每一个条目(entry)使用了多于1 bit的空间。Block-map文件的格式如以下细节所描述。DOIT博客3[p.j@8Q.v/m

 DOIT博客XP+Qg j xu3k

           因为元数据存放在真实的文件里(虽然完全被

9^B;[hdh7r7s0

           隐藏起来),所以这些文件是被当作数据文件

'I|N hj3s8ut \0

           一样看待。他们接受一样的保护和性能调优,DOIT博客 D2q&e _9z|/I/x1]I#Feq

           因为他们被描述为用户数据文件。DOIT博客"`7KV*xM,o v5C

DOIT博客/z7LXT1l H U

把元数据保留在文件里,这样可以允许WAFL把元数据的块写在磁盘的任何地方。这是WAFL的名字的来源,代表了“写在任何地方的文件设计”。这种“写在任何地方”的设计允许WAFL,能有效的和RAID运行;通过时序安排多个的写到同样的RAIDstripe,因为WAFL只需要更新stripe里的一个block,所以尽可能避免了通常遇到RAID导致的4-to-1的写惩罚。

)|3B&BIkE/s'vC$nP:O0

 DOIT博客#L-T fF#R Aj&Q

把元数据保留在文件里,也使得在运行中增加文件系统的大小变得更加容易。当一个新的硬盘被增加的时候,N系列的村村系统会自动地增加元数据文件的大小。假如默认的文件系统里的inode的大小太小,系统管理员可以手动地增加它,但这一般来说并没有必要。最后地,“写在任何地方”设计能使用Snapshot使用的copy-on-write技术为了让snapshot能工作,WAFL必须能够写任何新的数据(包括了元数据)到硬盘的新的特定区域,而不是把以前的数据覆盖掉。如果WAFL把元数据储存在硬盘的固定的特定区域,这就会让snapshot无法工作了。

m*a WM)]7m0

 

U K6lo7P+F[r+^0

TAG:

风中岁月 引用 删除 arthas   /   2006-12-30 11:42:31
WAFL的特性之一是check point,也就是snapshot方面的提升,但后果是----有效容量降低了
传说中的冬瓜头 引用 删除 冬瓜头   /   2006-12-30 08:58:56
看完了,越看越象ntfs的实现,老兄能否做一个比较呢?发表出来,谢谢了!
传说中的冬瓜头 引用 删除 冬瓜头   /   2006-12-30 08:56:32
wafl也有"驻留"的思想吧?
传说中的冬瓜头 引用 删除 冬瓜头   /   2006-12-30 08:12:25
5
期待继续
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar