定义

ZFS

ZFS是一个本地文件系统和逻辑卷管理器Sun Microsystems Inc .为了指导和控制放置,存储和数据的检索企业海尔集团计算机系统。

ZFS文件系统和卷管理器的特征是数据完整性、高可伸缩性以及内置存储功能,如:

  • 复制- - - - - -复制某物的过程。
  • 重复数据删除,这一过程消除了冗余数据的副本和减少存储开销
  • 压缩- - - - - -数量的减少需要代表数据
  • 快照-在某一特定时间点的数据的一组参考标记。
  • 克隆,某物的完全相同的复制品。
  • 数据保护,保护重要信息的过程腐败和/或损失。

ZFS的历史

2001年,太阳公司的工程师们开始了ZFS的开发工作UnixSolaris操作系统(操作系统).2005年,Sun发布了ZFS源代码在公共开发和发布许可(CDDL)下作为开源OpenSolaris操作系统。一个开发人员社区,包括Sun和其他供应商的代表,致力于增强开源代码并将ZFS移植到其他操作系统,包括FreeBSD,Linux和MacOS X

包括ZFS在内的OpenSolaris开源项目在此之后结束甲骨文(orcl . o:行情)。2010年收购了Sun,并注册了该术语的商标ZFS.Oracle的工程师继续增强和添加特性到Solaris上的ZFS。Oracle使用它专有的ZFS代码作为Oracle Solaris、Oracle ZFS存储设备和其他Oracle技术的基础。

一个开发社区开始了一个新的开源项目,叫做OpenZFS,基于OpenSolaris最终版本中的ZFS源代码。开放社区致力于新功能、改进和错误修复了OpenZFS代码。支持OpenZFS的操作系统包括Apple OS X, FreeBSD,illumos中(基于OpenSolaris),以及Linux的变体,例如DebianGentoo和Ubuntu.OpenZFS可以在所有Linux上工作分布,但只有一些商业供应商将其作为其发行版的一部分提供。基于OpenZFS的商业产品包括Cloudscaling、Datto、Delphix、Joyent、Nexenta、SoftNAS和Spectra Logic。

ZFS和OpenZFS倾向于吸引那些需要管理大量数据并确保数据完整性的企业。用户包括科学机构、国家实验室、政府机构、金融公司、电信、媒体和娱乐公司。

ZFS最初代表Zettabyte文件系统,但是这个词zettabyte在文件系统的上下文中不再具有任何意义。作为一个128位的文件系统,ZFS有可能扩展到256万亿zettabytes。

ZFS是如何工作的

ZFS被设计为在单个服务器,可能有数百甚至数千个附加的存储驱动器。ZFS将可用存储池化,并将所有磁盘作为单个实体管理。用户可以添加更多的存储驱动器如果文件系统需要增加容量。ZFS是高度可伸缩的,并支持较大的最大文件大小。

每次将数据写入磁盘时,ZFS至少存储两个元数据副本。元数据包括磁盘等信息行业数据存储在哪里数据块和一个校验和二进制数字一份数据。当用户请求访问文件时,校验和算法执行计算以验证检索的数据是否与写入磁盘的原始位相匹配。如果校验和检测到不一致,它将标记坏数据。在系统中镜像的ZFS版本突袭, ZFS可以从另一个驱动器检索正确的副本,并修复损坏的数据副本。

ZFS通常被称为写时复制文件系统,但Oracle将其描述为写时重定向。当ZFS将数据写入磁盘时,它不会就地覆盖数据。ZFS将一个新块写入磁盘上的另一个位置,并更新元数据以指向新写入的块,同时保留旧版本的数据。

真正的写时复制文件系统会在覆盖原始块之前,在单独的位置生成一个数据块的精确副本。在覆盖数据之前,系统需要读取块之前的值。一个写时复制文件系统需要三个I / O操作——读取、修改和写入——对每个数据写入。相比之下,写时重定向系统只需要一个I/O操作,从而提高了效率和性能。

ZFS是一种流行的选择网络附加存储系统运行NFS在文件系统之上,以及虚拟服务器环境。另一个常见的部署场景是分层集群文件系统,例如通用并行文件系统(GPFS)或光泽,以支持扩展到其他服务器节点。OpenStack用户可以将ZFS部署为底层文件系统煤渣块存储和斯威夫特对象存储。

ZFS的关键特性

快照和克隆:ZFS和OpenZFS可以使时间点副本由于系统保留了数据的所有副本,因此文件系统可以以很高的效率和速度保存数据。快照不可变的副本而克隆则可以被修改。快照和克隆通过Solaris上的ZFS集成到引导环境中,使用户能够回滚如果有任何问题,他们补丁或更新系统。ZFS的另一个潜在好处是复苏技术对ransomware

raid - z:RAID-Z允许将相同的数据存储在多个位置以进行增强容错和提高性能。系统使用存储在系统其他驱动器上的信息重新构建丢失驱动器上的数据。类似于RAID 5raid - z条纹奇偶校验即使一个驱动器出现故障,存储系统也能正常工作。然而,对于RAID-Z,条纹数据是一个完整的块,大小可变。虽然RAID- z通常与RAID 5相比,但它执行的一些操作与传统RAID的某些长期问题有所不同。RAID-Z解决的一个问题被称为写孔效应,在这种情况下,由于断电或灾难性系统中断,系统无法确定哪些数据或校验块已经写入磁盘。使用传统RAID的系统供应商通常通过使用不间断电源或专用硬件

RAID-Z2支持丢失两个存储驱动器,类似于RAID 6, RAID-Z3可以容忍3个存储设备的丢失。与传统RAID一样,用户可以选择将驱动器分组。例如,将两组6个驱动器设置为RAID-Z3的系统可以容忍每组中丢失3个驱动器。

压缩:内联数据压缩是ZFS和OpenZFS中的内置特性,用于减少存储数据所需的位数。ZFS和OpenZFS都支持多种压缩算法。用户可以选择启用或禁用内联压缩。

重复数据删除:内联数据重复数据删除是ZFS和OpenZFS中的内置特性,通过消除冗余数据。ZFS和OpenZFS通过查看块的校验和来查找重复的数据,块的大小可能不同。用户可以启用或禁用内嵌重复数据删除。

ZFS发送/接收:ZFS和OpenZFS允许将文件系统的快照发送到不同的服务器节点,允许用户将数据复制到单独的系统,以实现备份或数据迁移到云存储等目的。

安全:ZFS和OpenZFS支持授权权限和更细粒度的权限访问控制列表管理谁可以执行管理任务。用户可以选择将ZFS设置为只读,因此不能更改任何数据。Oracle支持加密在Solaris的ZFS中。

ZFS的优点和局限性

ZFS集成了文件系统和卷管理器,因此用户不必获取和学习单独的工具和命令集。ZFS免费提供了丰富的特性集和数据服务,因为它内置在Oracle操作系统中。开源OpenZFS是免费的。通过在存储池中添加驱动器,可以实现文件系统扩容。传统的文件系统需要磁盘分区要调整大小以增加容量,用户通常需要卷管理产品来帮助他们。

ZFS仅限于在单个服务器上运行,而分布式或并行文件系统(如GPFS和Lustre)可以扩展到多个服务器。

ZFS提供的丰富特性集使软件的使用和管理变得复杂。集成的ZFS校验和算法等特性可能需要额外的处理能力,并影响性能。

在Linux社区中,有各种各样的观点许可关于ZFS代码和二进制文件的重新分配内核模块。例如,红色的帽子认为将受CDDL保护的代码与受通用公共许可证保护的代码一起分发是有问题的(GPL).相比之下,发行Ubuntu的Canonical则确定它符合CDDL和GPL许可证的条款。

ZFS和OpenZFS

Oracle的ZFS和开放源代码OpenZFS都来自于相同的ZFS源代码。在不同的轨道上,Oracle和开源社区分别添加了扩展,并对ZFS和OpenZFS进行了显著的性能改进。Oracle ZFS更新是专有的,仅在Oracle技术中可用。开放源码OpenZFS代码的更新可以免费获得。

自2010年以来,Oracle对ZFS的改进包括:

  • 加密;
  • 支持跨OS持久化压缩数据重新启动L2自适应替换缓存(ARC);
  • 可引导的可扩展固件接口标签,提供对物理磁盘和虚拟磁盘体积大于2结核病的大小;
  • 默认的用户和组配额;和
  • 池/文件系统监控。

开源社区对OpenZFS的更新包括:

  • 额外的压缩算法;
  • 断点续传发送/接收,允许长时间运行的ZFS发送/接收操作从系统中断点重新启动;
  • 压缩发送/接收,它允许系统将压缩数据从一个ZFS池发送到另一个ZFS池而不必解压/将从发送节点移动到目的地时的数据;
  • 压缩的ARC,它允许ZFS在内存中保存压缩的数据,使更大的工作数据集缓存;和
  • 最大块大小从128增加KB到16MB在处理大文件时提高性能,在从驱动器故障恢复时加速数据重建。
这是最近更新的2017年3月

继续阅读关于ZFS

深入了解NAS设备

搜索灾难复苏
搜索数据备份
搜索聚合基础设施
关闭
Baidu