本篇是将发现的一个讲WAFL的英文PPT翻译下,PPT很不错,有兴趣的可以看原文。具体地址见最后。
1、WAFL: Write Anywhere File Layout
伯克利 Fast File System/Veritas File System/NTFS等等,都是基于这种策略,将数据和元数据写到预分配的位置。
WAFL – 不会预分配文件写入位置(数据和元数据同等对待),而是写到最近的可用空闲块。这样就减少了磁盘寻道时间,性能就得到提高。
2、RAID4的优缺点—
优点:在扩展磁盘的时候可以很快扩展,因为校验盘在单独的磁盘上。
缺点:单独的校验盘存在“热点”问题,因为所有的校验都在它上面做。
而WAFL通过使用灵活的写策略克服了RAID4典型的“热点”问题。
–将文件系统块写到磁盘任意位置(数据和元数据都一样,不分开)
–新数据不会覆盖旧数据
–为多个客户端的写操作一次性分配一个新的RAID-stripe的磁盘空间(没有校验再次计算)
–写到附近的strips
–将块按任意顺序写到磁盘
3、寻道时间讨论
左边是典型的文件系统,一次一个文件,很长的寻道时间
右边是WAFL文件系统,一次可以写多个文件,很少的寻道时间
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带宽。
4、WAFL 结合 NVRAM
–WAFL使用NVRAM来保证文件系统的完整性和快速重启
–每10s钟或当NVRAM达到50%满的时候,CP刷到磁盘
–NVRAM位置在文件系统层而不是块级别,这保证了CP刷到磁盘时的前后一致性
–没有fsck
总结——
· WAFL通过最小的seeks能达到单个磁盘驱动器更多的IOPS
· 更大的IOPS意味着整体更快的性能
· WAFL 的“anywhere”特性使用netapp的RAID4的性能和扩展性成为赢家。
· 在使用RAID的情况下是世界上最快的文件系统