发新话题
打印

NETAPP技术学习全程记录

本主题由 angle 于 2008-7-17 14:37 设置高亮
每一个WAFL inode包含16个块指针,用以表明哪一个数据块属于该文件。一个WAFL inode的所有块指针指向的是相同层次上的数据块。这样,对于小于64KB的文件,inode使用16个块指针指向文件数据块;大于64KB的文件, inode使用块指针指向间接数据块,间接数据块再指向实际的文件数据块。
    较大文件的inode指向更多的间接数据块。
    对于十分小的文件,数据储存在 inode本身。

TOP

说到inode,看来NETAPP已经把WAFL要用的大小给定死了。不过数量上是可以增加的,要不以后扩容就没办法了。

在以前玩BBS的时候,inode的大小是要考虑的,很多站内邮件和帖子都很小,inode一般就设成1-2K就可以了,多了就是浪费了。

[ 本帖最后由 ender 于 2008-6-25 15:44 编辑 ]

TOP

可以把WAFL 理解为数据块树型结构,在树的根部是root inode,root inode 是用以描述inode 文件的特殊inode。inode 文件包含描述系统中其它文件的inode,包括块图和inode 图文件。WAFL 文件系统数据块树型结构的树叶是所有文件的数据块。


TOP

DATA ONTAP系统启动后,需要挂接WAFL的文件系统。这个时候就需要知道root inode的位置。因此root inode的位置必须要固定。当系统找到root inode后,根据树型结构才可能查找到其他文件的inode,然后再找到包含文件的具体数据块的位置。比较大的文件需要和实际数据块之间存在额外的间接层次。

据说大机上的DB2类似于这种结构。呵呵,说是要8年的时间去学大机可能才算有个结果。分db2,OS390,网络和CICS.太复杂了。

以前听说UNISYS的大机的课程,使用磁盘的方式和我们平时见的有很大的不同,感觉空间都被浪费了。现在可能只有航空售票那个地方还在用这套系统。

TOP

优化了写入性能的WAFL文件系统
         如果有安装,配置存储设备的经验的话。大家就知道在中端的EMC   CX系列产品我们会把尽量多的cache分配给写操作,而高端的DMX系列据说是微码自动优化的。那个SYMMETRIX的内核应该是只有开发系统的几个以色列人最清楚,国内的离开了LIB的支持基本出RED BOX后就抓瞎了
          为了有最好的写入性能最好能达到几个方面:
        1。将多数据块写入到同一条带中的方式,大大提高RAID 的效率与性能。
        2。将相关的块写入到相近的位置而大大缩短了寻道时间,硬盘的悬臂不用来回摆动,积少成多还是可观的时间,特别对压力大的系统。
        3。将顺序的块放置在RAID 阵列中某个单一磁盘上的方式,减少了大文件读出时
的磁头冲突。

       安装提出的要求来实现一套新的文件系统,WAFL就是这个实现的结果。

TOP

WAFL 能把文件系统的任何数据块 (除包含root inode 的数据块外,前面提到过这个是在硬盘的固定位置 )写到磁盘中的任何位置上。
而在一般的文件系统中,诸如inode、位图和元数据被保存在磁盘中的固定位置上,这就妨碍了文件系统写入性能。硬盘的悬臂先回到元数据的位置,再移动到数据存储的位置。这个动作来回重复总比不动要用的时间多,很好理解。
例如,对某一新近更新的文件,不能将它的数据块和inode 在磁盘上的紧邻位置加以存储。而WAFL 则相反,它可以在磁盘上的任何地方加以写入,从而创造性的优化了写入性能。

TOP

NVRAM 是带有电池的独特内存,即使切断外来电源,仍然可以由电池供电保证存储数据的安全。 在不正常停机之后,WAFL重演所有“日志”以防丢失。日志类似于数据库线上交易处理 (OLTP) 数据库系统的Log 记录。WAFL 采用内存,而不是硬盘来保存日志(用硬盘的话不如直接写到数据盘里),因为比硬盘快一千倍,提供极高的响应速度。即使有大量的交易,响应速度也不会变慢。当使用者的写入要求送到NVRAM 并完成时,马上可以接受下一笔的写入要求,又可同时保护metadata 及data 的交易纪录。当NVRAM 收集这些写入要求到达某种条件时,WAFL 会先经过计算并整理过后再批次写入到硬盘。
       现在的阵列很多都带有电池,能保证市电中断的情况下把CACHE中的所有数据全部写入到磁盘中后,阵列再自行关闭。再加上数据库的特性,基本可以保证数据的完整性。极端的情况听说过cache坏掉的,特别是没有mirror的板坏了以后很惨。毕竟存储的设计都是提交到cache就算是成功,这个时候坏了不丢数据很难啊。

[ 本帖最后由 ender 于 2008-6-25 16:30 编辑 ]

TOP

为在磁盘上保存完整的文件系统一致性版本,WAFL 文件系统至少每10 秒会生成一个内部数据快照SnapShot,称为一个一致点(consistency point)。当时Filer 启动时,WAFL 总是使用时间最近的一致点版本,这意味着即使发生掉电或者其它严重系统错误后,系统再次投入正常运转也无需耗时的文件系统检查工作。Filer 在仅仅1 到2 分钟的时间内即可正常启动,而这段时间也主要是花费在磁盘定位和内存检查上。
      恢复时间根据应用的需要来确定了,几年前北京机场的那次故障恢复时间就够很多人受了。

TOP

WAFL 通过创建内部SnapShot 来避免系统在不正常停机后对文件系统进行检查,这种特殊的SnapShot 叫做一致点,每过几秒钟就会自动创建一次。不同于其它SnapShot 快照的是,一个一致点没有名字,而且不能访问它。同于其它SnapShot 快照的是,一致点是整个文件系统的一个完全自一致的映像。当WAFL 重新启动时,它简单地回放为最近的一致点。

TOP

在一致点之间,WAFL 也在把数据写到磁盘中,但是它仅仅写到不使用的块中,如此呈现的数据块树型结构的最近一致点仍然是完全不变的。在两个一致点之间,WAFL 需要处理数百或者成千上万的写入请求,因所以磁盘上面的文件系统映像在数秒内会保持不变,直到WAFL 写入新的一致点。磁盘上面的文件系统映像也会自动更新。

TOP

发新话题