设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开源文件系统:ZFS的十大最佳功能

2009-11-26 11:47| 发布者: joejoe0332| 查看: 3198| 评论: 6

  Sun的开源ZFS文件系统拥有几个非常好的功能。它最初是针对Solaris设计的,于2005年问世,但是你也会在OpenSolaris和相关发行版本中发现它的踪影。未来,它也有可能成为运行在Linux和BSD上一个受人们欢迎的文件系统。

  以下是ZFS支持者认为ZFS具备的十大最佳功能特性:

  1、元数据校验和确保数据完整性

  数据完整性在ZFS中具有非常高的重要性,也是很多ZFS功能的前决条件。

  ZFS文件系统采用了256位校验和,当向磁盘写入数据的时候,校验和就会被作为元数据与它相关的数据分开保存。与普通的磁盘块校验和不同的是,这种校验和可以检测出错位写、误读取和误写入、DMA奇偶错误、驱动器bug、意外过量写入以及常见的物理存储的衰减(bit rot)。

  2、写时才拷贝

  ZFS文件系统是使用多项技术来确保数据在磁盘上的连续性,其中就包括写时才拷贝(Copy on Write),也就是当数据发生变更的时候它并不会过量写入——它总是在指针指向变更数据之前被写入到一个新块和校验和中。旧的数据可能被保存下来,在发生变更的过程中创建文件系统的快照。利用ZFS的文件写入是交易型的操作——要么将所有数据写入到磁盘,要么什么都不写入。

  3、利用Time Slider的数据快照

  OpenSolaris的最新版本展示了ZFS利用TimeSlider小型图形应用所实现的强大快照功能。可以通过配置设定对ZFS文件系统进行常规的快照操作——每15分钟,或者每小时等等。这种快照占用容量很小,而且很高效,因为它只保存与之前快照的变量。

  TimeSlider提供了对文件系统(或者一个家庭文件夹)的查看功能,而且有一个可以沿着时间线返回到更早快照时间的滑块。当这些完成之后就会呈现特定快照时间的文件系统或者文件夹内容。如果想要恢复一份被错误过量写入的文件,或者在升级失败之后还原系统的话,你只需要将滑块滚回合适的快照时间就可以了。

  4、数据存储池

  ZFS利用可用的存储驱动器将他们聚合成为一个被称为zpool的资源池。这个资源池可以使用脚本、镜像或者某种RAID针对容量、I/O性能或者冗余性进行优化。如果需要更多存储的话,只需要向zpool中添加更多存储就行了——ZFS检测到新添加的容量并开始自动使用、均衡I/O和最大限度提高吞吐量。

  5、RAIDZ和RAIDZ2

  众所周知,RAID 5有一个重大缺陷——RAID5 Write Hole。RAID 5在写数据的时候,是分为两步的,首先将数据写到磁盘阵列上,然后将该stripe上数据的校验码记录到阵列上,如果在刚写完数据的时候,系统断电,那么该数据对应的校验码就没有机会再恢复了。如果接下来磁盘发生故障,RAID重建流程就会出现错误数据。唯一的解决方案就是,如果整个stripe发生过量写入,那么就会生成一个正确的奇偶块。

  RAIDZ通过使用一个不同宽度的条带来解决这个问题,这样每次写入实际上是一个完全的条带写入。再加上ZFS的写入时才拷贝特性,这些就完全消除了RAID 5的Write Hole缺陷。RAIDZ2也是同理,但是可以使用双奇偶允许阵列中丢失两个磁盘。

  安装一个RAIDZ(或者RAIDZ2)阵列非常简单,只需要发布一条命令。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部