`
izuoyan
  • 浏览: 9375060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ZFS十大最佳功能

阅读更多

Source :http://tech.sina.com.cn/b/2009-11-30/09223635032.shtml

Sun在2005年推出了开源文件系统ZFS,最初Sun是为OpenSolaris设计的,随着时间的发展,用户逐渐发现其一些良好的功能,下面列举的ZFS十大功能,是ZFS支持者通过这些年应用体会出来的。

  以下是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)阵列非常简单,只需要发布一条命令。

  6、固态盘混合存储池

  存储池中可以通过添加高性能固态盘变成一个混合存储池。当这些固态盘被作为高性能缓存磁盘的时候,ZFS就会用其保留频繁访问数据以提高性能。 另外ZFS还采用了L2 ARC技术来写入那些不需要立即保存的数据,在时间和资源允许的情况下,这些数据会被慢慢迁移到传统的更永久性的硬盘驱动器中。

  7、容量

  ZFS是128位的文件系统,也就是说理论上它可以保存256千万亿ZB(1ZB=10亿TB)。实际中,它的容量远远超过所需范围,至少就可预见未来来说。

  8、数据清理

  ZFS可以清理一个存储池中的所有数据,根据相应的校验和检查每个数据来验证其完整性,检测任何潜在的数据损毁,修复可能存在的任何错误。

  当数据被冗余保存起来的时候——保存在镜像或者RAID型阵列中——它可以修复检测出任何潜在的损坏数据,而且无需管理员的干预。因为数据损坏是被记录下来的,所以ZFS可以通过导致数据不恰当保存在硬盘中的内存模块(或者其他硬件)检测出来。

  数据清理的I/O优先级是很低的,因为这个流程对系统性能的影响非常小。

  9、简单且有效的管理

  使用ZFS命令,就相当于你使用了一种简短而有效的命令来管理系统。例如,一个5磁盘RAIDZ阵列可以设置采用单命令:

  zpool create poolname raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0

  10、更多期待

  ZFS仍在不断更新完善,不时增加新的功能。ZFS的2009年路线图中包括用于提高安全 性的加密功能以及提高存储效率的重复数据删除功能。

  如果你对尝试使用ZFS感兴趣的话,最简单的方法就是下载OpenSolaris或者相关发行版本。

分享到:
评论

相关推荐

    zfs-0.8.4 zfs zfs-0.8.4安装包

    ZFS(Zettabyte File System)是一款先进的、开源的文件系统,由Sun Microsystems开发,旨在提供高可用性、数据完整性以及高效的数据...在安装和使用过程中,确保遵循最佳实践,以充分利用ZFS的优势并保障数据安全。

    ZFS Best Practices with NetApp(基于NETAPP的ZFS最佳实践)

    ### 基于NETAPP的ZFS最佳实践 #### 概述 本技术报告提供了将新的ZFS文件系统与Network Appliance存储系统配置的最佳实践和指南。ZFS(Zettabyte File System)作为Solaris™操作系统的一个核心组件,带来了文件...

    ZFS最佳实践指南2007-11-12

    - **使用ZFS快照**:利用ZFS快照功能进行备份和恢复操作。 - **使用ZFS于AVS**:将ZFS与自动备份解决方案集成。 - **使用ZFS于企业备份解决方案**:探讨ZFS如何与大型企业的备份方案相结合。 - **3.6 ZFS与数据库...

    Solaris ZFS管理指南

    - **ZFS发送流增强功能**:改进了数据传输机制,使得在不同ZFS存储池之间复制数据变得更加高效,特别是在远程复制场景下,提高了数据迁移的速度和可靠性。 - **ZFS快照差异(zfsdiff)**:通过比较快照之间的差异,...

    zfs管理指南

    - **新增的Oracle Solaris ZFS安装功能**:这包括了简化安装流程、提高安装效率的新功能,使得用户能够更方便地部署和管理ZFS文件系统。 - **ZFS发送流增强功能**:这一功能提高了ZFS文件系统之间传输数据的速度和...

    Python-ZFSp是Python实现的ZFS文件管理功能

    然后,开发者可以参考库的文档或者示例代码来学习如何调用各种ZFS功能。 在实际应用中,ZFSp可能适用于以下场景: - 数据备份和恢复服务:利用ZFS快照和克隆特性,可以构建高效的数据保护方案。 - 测试环境管理:...

    zfs文件系统源码包

    2. `src`:源代码,包含实现ZFS功能的C/C++代码。 3. `docs`:文档,可能包括设计文档、API参考和开发者指南。 4. `scripts`:编译和安装脚本,帮助用户构建和安装ZFS。 5. `tests`:测试用例,用于验证源码的功能和...

    SUN的ZFS管理指南

    #### 一、ZFS简介及新增功能 - **ZFS**(Zettabyte File System,泽字节文件系统)是由Sun Microsystems开发的一种先进的文件系统,它不仅具备传统文件系统的特性,还具有数据完整性检查、自动修复错误、高效的存储...

    Unix系统zfs文件系统的使用

    ZFS结合了文件系统、逻辑卷管理和数据保护功能于一身,具有诸多独特的特性和优势。 **1. 创建ZFS存储池** 创建ZFS存储池是使用ZFS的第一步。在实验中,我们首先需要添加硬盘,然后在根目录`/`下创建`reconfigure`...

    zfs-master.rar

    另外,ZFS还具备数据压缩功能,可以在存储数据时自动进行压缩,从而节省存储空间。 最后,ZFS的用户界面简洁易用,提供了一系列命令行工具,方便用户进行创建、挂载、管理存储池以及进行数据备份和恢复等操作。 总...

    SUN的ZFS文件系统介绍和使用

    在实际使用中,可以根据业务需求调整ZFS的各项设置,如启用压缩、设置I/O优先级等,以达到最佳的性能和效率。 参考提供的“819-7065.pdf”文档,你将能深入学习ZFS的详细使用方法和高级特性,更好地理解和运用这一...

    oracle solaris ZFS文件系统

    本文档将详细介绍 Oracle Solaris ZFS 的核心功能、新增特性以及相关的管理指南。 #### 二、ZFS 中的新增功能 - **ZFS 手册页更改 (zfs.1m)**:为了更好地帮助用户理解和使用 ZFS,官方对手册页进行了更新,添加了...

    ZFS源码安装包

    它集成了数据完整性检查、快照、克隆、存储池、冗余和自动修复等高级功能,被广泛应用于数据中心和高性能计算环境。在CentOS系统中,虽然默认不支持ZFS,但可以通过源码编译的方式进行安装。 首先,我们来详细了解...

    zfs.rar_ZFS

    ZFS的设计目标是解决传统文件系统面临的许多挑战,如数据完整性、易扩展性和高级管理功能。 **一、数据完整性** ZFS的核心特性之一是其内置的检查和修复机制,确保了数据的完整性和一致性。通过使用一种名为“copy...

    运行在linux下的ZFS

    ZFS在Linux上的实现,通常被称为"ZFS on Linux"(ZOL),它允许用户在Linux环境中享受ZFS提供的强大功能。ZOL项目是一个开源项目,由一群开发者维护,旨在为Linux内核提供完整的ZFS支持。 ZFS的核心特性包括但不...

    ZFS相关资料

    ZFS在设计上具有许多创新点,包括数据完整性检查、快照、克隆、透明压缩、自动修复功能等,使其在企业级存储解决方案中广受欢迎。 首先,让我们来看看提供的文件名: 1. **zfslast.pdf** - 这可能是关于ZFS最新发展...

    zfs 深入部分

    2. 数据压缩:ZFS内置数据压缩功能,可以在写入时自动压缩数据,节省存储空间。 3. 数据去重:通过块级别的去重,ZFS可以有效减少重复数据的存储,尤其在备份和邮件系统中效果显著。 4. 动态条带化:ZFS允许动态...

    ZFS文件系统的预读策略

    ZFS使用称为vdev_cache的缓存来实现这一功能。该缓存的目的是利用磁盘的物理特性,即磁头移动到新位置的时间远远大于读取数据所需的时间。因此,当磁头移动到位后,读取的数据量越大,效率越高。VDev Read-Ahead ...

    ZFS管理指南

    通过以上概述可以看出,《Solaris ZFS管理指南》不仅涵盖了ZFS的基本概念和技术特点,还深入介绍了ZFS的高级功能和管理实践。这对于希望深入了解和有效利用Solaris ZFS文件系统的用户来说是非常有价值的参考资料。

Global site tag (gtag.js) - Google Analytics