发布支持 dRAID 的 OpenZFS 2.1

OpenZFS 2.1 项目的版本已经发布,为 Linux 和 FreeBSD 开发 ZFS 文件系统的实现。 该项目被称为“ZFS on Linux”,之前仅限于为 Linux 内核开发模块,但在转移支持后,FreeBSD 被认为是 OpenZFS 的主要实现,并且名称中不再提及 Linux。

OpenZFS 已在 Linux 内核 3.10 到 5.13 以及从 12.2-RELEASE 开始的所有 FreeBSD 分支上进行了测试。 该代码是根据免费的 CDDL 许可证分发的。 OpenZFS 已在 FreeBSD 中使用,并包含在 Debian、Ubuntu、Gentoo、Sabayon Linux 和 ALT Linux 发行版中。 新版本的软件包很快就会为主要的 Linux 发行版准备,包括 Debian、Ubuntu、Fedora、RHEL/CentOS。

OpenZFS 提供与文件系统和卷管理器相关的 ZFS 组件的实现。 特别是,实现了以下组件:SPA(存储池分配器)、DMU(数据管理单元)、ZVOL(ZFS 模拟卷)和 ZPL(ZFS POSIX 层)。 此外,该项目还提供了使用 ZFS 作为 Lustre 集群文件系统后端的能力。 该项目的工作基于原始 ZFS 代码,从 OpenSolaris 项目导入,并通过 Illumos 社区的改进和修复进行了扩展。 该项目是在利弗莫尔国家实验室员工的参与下根据与美国能源部签订的合同开发的。

该代码是在免费的 CDDL 许可证下分发的,该许可证与 GPLv2 不兼容,不允许将 OpenZFS 集成到 Linux 内核的主分支中,因为在 GPLv2 和 CDDL 许可证下混合代码是不可接受的。 为了避免这种许可不兼容性,决定在 CDDL 许可下将整个产品作为可单独下载的模块进行分发,该模块与内核分开提供。 OpenZFS 代码库的稳定性经评估与其他 Linux FS 相当。

主要变化:

  • 添加了对 dRAID(分布式备用 RAID)技术的支持,该技术是 RAIDZ 的一种变体,具有针对热备用的集成分布式块处理。 dRAID 继承了 RAIDZ 的所有优点,但可以显着提高存储重新同步和阵列中冗余恢复的速度。 虚拟存储dRAID由多个内部RAIDZ组组成,每个RAIDZ组包含用于存储数据的设备和用于存储奇偶校验块的设备。 这些组分布在所有驱动器上,以最佳利用可用磁盘带宽。 dRAID 没有使用单独的热恢复驱动器,而是使用热恢复块在阵列中的所有驱动器上进行逻辑分布的概念。
    发布支持 dRAID 的 OpenZFS 2.1
  • 实现了“兼容性”属性(“zpool create -o Compatibility=off|legacy|file[,file...] pool vdev”),允许管理员选择应在池中启用的功能集,以便按顺序创建可移植池并维护不同版本的 OpenZFS 和不同平台之间的兼容性。
  • 可以以 InfluxDB DBMS 格式保存有关池操作的统计信息,该格式针对以时间序列(指定间隔的参数值切片)形式存储、分析和操作数据进行了优化。 要导出为 InfluxDB 格式,建议使用“zpool influxdb”命令。
  • 添加了对热添加内存和CPU的支持。
  • 新命令和选项:
    • “zpool create -u”-禁用自动安装。
    • “zpool History -i”—在操作历史记录中反映每个命令的执行持续时间。
    • “zpool status” - 添加了有关具有非最佳块大小的磁盘的警告消息。
    • “zfs send —skip-missing|-s” — 发送流进行复制时忽略丢失的快照。
    • “zfs rename -u” - 重命名文件系统而不重新安装。
    • Arcstat 添加了对 L2ARC 统计信息的支持,并添加了“-a”(全部)和“-p”(可解析)选项。
  • 说明:
    • 改进了交互式 I/O 性能。
    • 与并行数据访问相关的工作负载的预取得到了加速。
    • 通过减少锁争用提高可扩展性。
    • 池导入时间已减少。
    • 减少 ZIL 块的碎片。
    • 改进了递归操作的性能。
    • 改进了内存管理。
    • 内核模块的加载已加速。

来源: opennet.ru

添加评论