‘zfs get all’ 返回带有‘%’(百分号)的文件系统的属性

‘zfs get all’ 返回带有‘%’(百分号)的文件系统的属性

在使用 zfs 时,我看到‘zfs 获取全部’对于某些现有的文件系统,将列出以下属性‘%’(百分号)添加到文件系统的名称中。如下所示:

# zfs list
...
test_zpool2/test_vol_91   564M  19.4G   564M  /vol/test_zpool2/test_vol_91

# zfs get all
...
test_zpool2/test_vol_91   version     6                             -
test_zpool2/test_vol_91   vscan       off                           default
test_zpool2/test_vol_91   xattr       on                            default
test_zpool2/test_vol_91   zoned       off                           default
...
test_zpool2/test_vol_91%  creation    Wed Nov 19 17:01 2014         -
test_zpool2/test_vol_91%  mountpoint  /vol/test_zpool2/test_vol_91  -
test_zpool2/test_vol_91%  share.*     ...                           inherited
test_zpool2/test_vol_91%  zoned       off                           default

我一直无法找出原因,手册页中没有提到任何内容。有人知道吗?

更多输出

# zfs list -H
rpool                           11.7G   7.60G   4.64M   /rpool
rpool/ROOT                      9.10G   7.60G   31K     legacy
rpool/ROOT/solaris              9.10G   7.60G   7.50G   /
rpool/ROOT/solaris/var          1.18G   7.60G   982M    /var
rpool/VARSHARE                  33.0M   7.60G   32.9M   /var/share
rpool/VARSHARE/pkg              63K     7.60G   32K     /var/share/pkg
rpool/VARSHARE/pkg/repositories 31K     7.60G   31K     /var/share/pkg/repositories
rpool/VARSHARE/zones            31K     7.60G   31K     /system/zones
rpool/dump                      1.55G   7.65G   1.50G   -
rpool/export                    63K     7.60G   32K     /export
rpool/export/home               31K     7.60G   31K     /export/home
rpool/swap                      1.03G   7.63G   1.00G   -
test_zpool2                     776M    48.2G   42K     /vol/test_zpool2
test_zpool2/test_vol_91         564M    19.4G   564M    /vol/test_zpool2/test_vol_91
test_zpool2/test_vol_92         78.2M   19.9G   78.2M   /vol/test_zpool2/test_vol_92
test_zpool2/test_vol_990        31K     128M    31K    /vol/test_zpool2/test_vol_990
test_zpool2/test_vol_9999       132M    48.3G   16K     -

# zfs list -t all=>http://pastebin.com/U48njPMX

# zfs get all=>http://pastebin.com/LM1fzX71

答案1

带有字符的文件系统%是某种共享。您可以查看所有共享文件系统的共享属性,其中zfs get share.all

这记录在zfs_share 的手册页: “文件系统的自动共享名称显示为文件系统%。例如,tank/home%。"

这种记录风格是 Sun/Solaris 的典型风格。有些东西只会被提及一次,埋在某个不起眼的地方。优点是文档从不自相矛盾,而且根据我的经验,它总是正确的。这种文档风格的缺点是很难找到你要找的东西。

答案2

根据Oracle Solaris ZFS 管理指南

  • 池名称不能包含百分号 (%)。
  • 数据集名称不能包含百分号 (%)。

但最近的 zfs 版本还有:

可以通过用百分号分隔第一个快照和最后一个快照来指定快照的包含范围。

因此,你可能遇到了其他问题。你无法创建包含 % 的文件系统:

[root@xt ~]# zfs create vol1/test%
cannot create 'vol1/test%': invalid character % in name

您的zfs get all列表非常简短,因此发布更多信息会很有帮助。此外,如果发生奇怪的事情,它可能会在输出中出现zpool history

相关内容