下述列表概述了 ZFS 文件系统中的新增功能。有关这些新增功能的更多信息,请参见 《Oracle Solaris ZFS 管理指南》。
ZFS 设备替换增强功能 — 在本发行版中,当底层设备被扩展时会提供系统事件,即 sysevent 。已经增强了 ZFS 功能,可以识别这些事件并根据扩展后的 LUN 的新大小调节存储池,这取决于 autoexpand 属性的设置。 您可以使用 autoexpand 属性,设置当接收到动态 LUN 扩展事件时启用或禁用自动池扩展。
该功能支持您扩展 LUN,产生的池可以访问扩展后的磁盘空间,无需导出或导入该池,也无需重新引导系统。autoexpand 属性的缺省值为禁用,因此您可以决定是否需要扩展 LUN。或者,您也可以使用 zpool online-e 命令扩展 LUN 的最大值。
zpool 列表命令的变更 — 在本发行版中,zpool list 输出提供更出色的空间分配信息。例如:
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% ONLINE - |
以前的 USED 与 AVAIL 字段已经用 ALLOC 与 FREE 替换。
ALLOC 字段标识分配给所有数据集与内部元数据的物理空间大小。 FREE 字段标识存储池中未分配的磁盘空间大小。
保留 ZFS 快照 – 如果您实施了不同的自动快照策略,导致以前的快照不小心被 zfs receive 命令所销毁(因为快照在发送端不再存在),您可以考虑使用本发行版中的快照保留新功能。
保留快照可防止其被销毁。除此以外,通过使用 zfs destroy - d 命令,该功能允许删除拥有克隆的快照,直至最后的克隆被删除时为止。
您可以使用 zfs hold 命令应用 keep 保留标签,以保留快照或快照集合。
三重奇偶校验 RAID-Z (raidz3) — 在本发行版中,冗余 RAID-Z 配置现在可以拥有单奇偶校验、双重奇偶校验或三重奇偶校验,分别表示可以承受一个、两个或三个设备故障而无任何数据丢失。在创建存储池时,您可以指定三重奇偶校验 RAID-Z 配置的 raidz3 关键字。
ZFS 日志设备增强功能 — 在本发行版中以下日志设备增强功能可用:
logbias 属性 — 您可以利用该属性控制 ZFS 如何处理对特定数据集的同步请求。如果 logbias 被设置为 latency,则 ZFS 使用存储池的独立日志设备(如果存在) 按低时延处理请求。如果 logbias 被设置为 throughput,则 ZFS 不使用存储池的独立日志设备。相反,ZFS 面向全局池吞吐量优化同步操作,实现资源的高效利用。缺省值为 latency。对于大多数配置,缺省值是最优设置。然而,logbias=throughput 值可以提高数据库文件的写入性能。
日志设备删除 — 您现在可以通过使用 zpool remove 命令来从存储池删除日志设备。可以通过指定设备名称删除单个日志设备。可以通过指定日志设备的顶级镜像删除镜像日志设备。从系统删除独立日志设备时,ZFS 意图日志 (ZFS intent log, ZIL) 事务记录被写入主池。
冗余顶级虚拟设备现在通过数字标识符进行标识。例如,在两个磁盘的镜像存储池中,顶级虚拟设备为 mirror-0。
ZFS 存储池恢复 — 如果底层设备不可用、发生断电或者冗余 ZFS 配置中发生故障的设备多于支持数目,均可能损坏存储池。本发行版提供了为您恢复损坏池的新命令功能。然而,使用该恢复功能意味着在出现故障前发生的最近事务可能会丢失。
zpool clear 与 zpool import 命令均支持 -F 选项用于尽力恢复损坏池。除此以外,zpool status、zpool clear 以及 zpool import 命令可自动报告被损坏池。这些命令还带有如何恢复池的说明。
新 ZFS 系统进程 — 在本发行版中,每个存储池都具有关联进程,zpool- poolname。该进程中的线程为池的 I/O 处理线程,用于处理 I/O 任务,例如压缩与检验和验证。该进程的目的是提供每个存储池 CPU 利用情况的可见性。可以通过使用 ps 与 prstat 命令查看这些进程的有关信息。这些进程仅在全局区域中可用。有关更多信息,请参见 SDC(7) 手册页。
分割镜像 ZFS 存储池 (zpool split) — 在本发行版中,您可以使用 zpool split 命令分割镜像存储池,该命令分离原镜像池中的一个磁盘或多个磁盘以创建另一个相同池。