Outre les propriétés natives, le système ZFS prend en charge des propriétés définies par l'utilisateur. Les propriétés définies par l'utilisateur n'ont aucune incidence sur le comportement du système ZFS. En revanche, elles permettent d'annoter les jeux de données avec des informations adaptées à votre environnement.
Les noms de propriétés définies par l'utilisateur doivent respecter les conventions suivantes :
Elles doivent contenir le caractère ":" (deux points) afin de les distinguer des propriétés natives.
Elles doivent contenir des lettres en minuscule, des chiffres ou les signes de ponctuation suivants : ':', '+','.', '_'.
La longueur maximale du nom d'une propriété définie par l'utilisateur est de 256 caractères.
La syntaxe attendue des noms de propriétés consiste à regrouper les deux composants suivants (cet espace de noms n'est toutefois pas appliqué par les systèmes ZFS) :
module:property |
Si vous utilisez des propriétés définies par l'utilisateur dans un contexte de programmation, spécifiez un nom de domaine DNS inversé pour le composant module des noms de propriétés, afin de réduire la probabilité que deux packages développés séparément n'utilisent un nom de propriété identique à des fins différentes. Les noms de propriété commençant par sun.com. sont réservés à l'usage d'Oracle Corporation.
Les valeurs des propriétés définies par l'utilisateur doivent respecter les conventions suivantes :
Elles doivent être constituées de chaînes arbitraires systématiquement héritées et elle ne doivent jamais être validées.
La longueur maximale de la valeur d'une propriété définie par l'utilisateur est de 1024 caractères.
Exemple :
# zfs set dept:users=finance userpool/user1 # zfs set dept:users=general userpool/user2 # zfs set dept:users=itops userpool/user3 |
Toutes les commandes fonctionnant avec des propriétés (par exemple, les commandes zfs list, zfs get, zfs set, etc.) permettent d'utiliser des propriétés natives et des propriétés définies par l'utilisateur.
Exemple :
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 |
Pour supprimer une propriété définie par l'utilisateur, utilisez la commande zfs inherit. Exemple :
# zfs inherit -r dept:users userpool |
Si cette propriété n'est définie dans aucun jeu de données parent, elle est définitivement supprimée.