除了本机属性外,ZFS 还支持任意用户属性。用户属性对 ZFS 行为没有影响,但可通过用户环境中有意义的信息来注释数据集。
必须包含冒号字符 (':'),以与本机属性相区分。
必须包含小写字母、数字或以下标点符号:':'、'+'、'.'、'_'。
用户属性名称的最大长度为 256 个字符。
预期约定是属性名分为以下两个部分,但 ZFS 不强制使用此名称空间:
module:property |
在程序中使用用户属性时,请对属性名的 module 部分使用反向 DNS 域名,以尽量避免两个独立开发的软件包将同一属性名用于不同用途。以 com.sun. 开头的属性名保留供 Oracle Corporation 使用。
用户属性的值必须符合以下约定:
必须由始终继承且从不验证的任意字符串组成。
用户属性值的最大长度为 1024 个字符。
例如:
# zfs set dept:users=finance userpool/user1 # zfs set dept:users=general userpool/user2 # zfs set dept:users=itops userpool/user3 |
对属性执行操作的所有命令(如 zfs list、zfs get、zfs set 等)都可用来处理本机属性和用户属性。
例如:
zfs get -r dept:users userpool NAME PROPERTY VALUE SOURCE userpool dept:users all local userpool/user1 dept:users finance local userpool/user2 dept:users general local userpool/user3 dept:users itops local |
要清除某一用户属性,请使用 zfs inherit 命令。例如:
# zfs inherit -r dept:users userpool |
如果任意父数据集中均未定义该属性,则会将其完全删除。