本篇是将发现的一个讲WAFL的英文PPT翻译下,PPT很不错,有兴趣的可以看原文。具体地址见最后。

1、WAFL: Write Anywhere File Layout

伯克利 Fast File System/Veritas File System/NTFS等等,都是基于这种策略,将数据和元数据写到预分配的位置。

p_w_picpath

WAFL – 不会预分配文件写入位置(数据和元数据同等对待),而是写到最近的可用空闲块。这样就减少了磁盘寻道时间,性能就得到提高。

p_w_picpath

2、RAID4的优缺点—

优点:在扩展磁盘的时候可以很快扩展,因为校验盘在单独的磁盘上。

缺点:单独的校验盘存在“热点”问题,因为所有的校验都在它上面做。

而WAFL通过使用灵活的写策略克服了RAID4典型的“热点”问题。

–将文件系统块写到磁盘任意位置(数据和元数据都一样,不分开)

–新数据不会覆盖旧数据

–为多个客户端的写操作一次性分配一个新的RAID-stripe的磁盘空间(没有校验再次计算)

–写到附近的strips

–将块按任意顺序写到磁盘

3、寻道时间讨论

  左边是典型的文件系统,一次一个文件,很长的寻道时间

  右边是WAFL文件系统,一次可以写多个文件,很少的寻道时间

p_w_picpath

SAN环境中的寻道例子

  假设block 为4K,(寻道时间+磁头移动时间)为5ms,那么100MB/sec FC带宽x 0.005sec = 0.5MB ,那么在这个seek中就会有0.5MB的数据块不会被FC协议传输。因为每个块是4KB,则0.5MBx 1 block/4KB = 128 blocks ,有128个块不会被传送。因此对于一个块的5ms的寻道时间就等于消耗128个块。

  因此,每个seek就有128个block浪费掉你至少一半的FC带宽。

p_w_picpath

 

4、WAFL 结合 NVRAM

–WAFL使用NVRAM来保证文件系统的完整性和快速重启

–每10s钟或当NVRAM达到50%满的时候,CP刷到磁盘

–NVRAM位置在文件系统层而不是块级别,这保证了CP刷到磁盘时的前后一致性

–没有fsck

p_w_picpath

 

总结——

· WAFL通过最小的seeks能达到单个磁盘驱动器更多的IOPS

· 更大的IOPS意味着整体更快的性能

· WAFL 的“anywhere”特性使用netapp的RAID4的性能和扩展性成为赢家。

· 在使用RAID的情况下是世界上最快的文件系统

 

英文PPT我已经上传到slideshare——http://www.slideshare.net/taotao1240/wafl-overview