Oracle Solaris ZFS 管理指南

继承 ZFS 属性

除非已对后代数据集显式设置了配额或预留空间,否则除了配额和预留空间外,所有可设置的属性都从父数据集继承各自的值。如果没有祖先为继承的属性设置显式值,则使用该属性的缺省值。可以使用 zfs inherit 命令清除属性值,从而促使从父数据集继承该值。

以下示例使用 zfs set 命令为 tank/home/bonwick 文件系统启用压缩。然后,使用 zfs inherit 清除 compression 属性,从而使该属性继承缺省值 off。由于 hometank 都未本地设置 compression 属性,因此会使用缺省值。如果两者都启用了压缩,则使用最直接的祖先中设置的值(在本示例中为 home)。


# zfs set compression=on tank/home/bonwick
# zfs get -r compression tank
NAME             PROPERTY      VALUE                    SOURCE
tank             compression   off                      default
tank/home        compression   off                      default
tank/home/bonwick compression   on                      local
# zfs inherit compression tank/home/bonwick
# zfs get -r compression tank
NAME             PROPERTY      VALUE                    SOURCE
tank             compression   off                      default
tank/home        compression   off                      default
tank/home/bonwick compression  off                      default

如果指定了 -r 选项,则会以递归方式应用 inherit 子命令。在以下示例中,该命令将使 tank/home 以及它可能具有的所有后代都继承 compression 属性的值:


# zfs inherit -r compression tank/home

注 –

请注意,使用 -r 选项会清除所有后代数据集的当前属性设置。


有关 zfs inherit 命令的更多信息,请参见 zfs(1M)