OpenZFS 2.0附带对FreeBSD,zstd等的支持

经过一年半的发展, OpenZFS 2.0项目启动 它为Linux和FreeBSD开发了ZFS文件系统的实现。

该项目被称为“ Linux上的ZFS” 以前仅限于为Linux内核开发模块, 但是在转移了对FreeBSD的支持后,它被认为是OpenZFS的主要实现 并从名称中删除了Linux。 现在,所有针对Linux和BSD系统的ZFS开发活动都集中在一个项目中,并在一个公共存储库中进行开发。

OpenZFS 已经在FreeBSD上游使用 (头) 并包含在Debian,Ubuntu,Gentoo,Sabayon Linux和ALT Linux发行版中。 新版本的软件包很快就可以用于所有主要的Linux发行版,包括Debian,Ubuntu,Fedora,RHEL / CentOS。

在FreeBSD中,代码与OpenZFS代码库同步 当前的。 OpenZFS已通过Linux内核3.10至5.9(与最新版本2.6.32兼容的内核)以及FreeBSD 12.2,稳定版/ 12和13.0(HEAD)分支进行了测试。

关于OpenZFS

OpenZFS 提供组件的实现 与文件系统和卷管理器有关的ZFS。 特别是, 实现了以下组件: SPA(存储池分配器),DMU(数据管理单元),ZVOL(ZFS仿真卷)和ZPL(ZFS POSIX层)。

另外,该项目它提供了将ZFS用作Lustre群集文件系统的后端的功能。 项目工作基于从OpenSolaris项目导入的原始ZFS代码,并通过Illumos社区的增强和修复得到了增强。 根据美国能源部的合同,利弗莫尔国家实验室的人员参与了该项目的开发。

该代码是根据免费的CDDL许可证分发的, 它与GPLv2不兼容,后者不允许将OpenZFS集成到上游Linux内核中,因为不允许在GPLv2和CDDL许可下混合代码。 为了解决这种许可不兼容的问题,决定根据CDDL许可将整个产品作为独立于内核的单独可下载模块进行分发。 OpenZFS代码库的稳定性被认为可与其他Linux FS媲美。

OpenZFS 2.0的主要新功能

在主要变化中,最突出的变化是 对FreeBSD平台的支持 并且代码库是统一的,以支持不同的操作系统。 所有相关更改 使用FreeBSD 现在在主要的OpenZFS存储库中进行开发 并且该项目被认为是FreeBSD未来版本的ZFS的主要实现。

除此之外 将FreeBSD移至OpenZFS消除了许多竞争条件 和锁定问题,并为FreeBSD带来了新功能,例如扩展的配额系统,数据集加密,单独的分配类,使用矢量处理器指令来加快RAIDZ实现和校验和计算,对ZSTD压缩算法的支持,多主机模式( MMP,多重修饰符保护)和改进的命令行工具。

另一个重要的变化是 实现了顺序执行模式 命令“ resilver”(顺序重新同步),它考虑了单元配置的变化来重建数据分布。

新方法 允许更快地重建故障的vdev镜像 与传统的恢复器相比:首先,将尽快恢复阵列中丢失的冗余,然后才自动启动“清理”操作以验证所有数据校验和。 当使用命令«zpool replace |来添加或替换驱动器时,新模式将启动。 附加“ -s”选项。

已实施 持久性二级缓存 (L2ARC),其中连接用于缓存的设备的数据保存在系统重新引导之间,也就是说,启动后的缓存保持“热”状态,性能立即达到标称值,从而绕过了初始缓存填充阶段。

添加 支持zstd压缩算法 (Zstandard),其压缩速度是zlib / Deflate的3-5倍,解压缩速度是zlib / Deflate的两倍,同时将压缩级别提高了10-15%。

除此之外 提供不同程度的压缩, 它们在压缩效率和性能之间提供了不同的平衡。

数据来源: https://github.com


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。