ZFS は、ネイティブプロパティーに加えて、任意のユーザープロパティーもサポートします。ユーザープロパティーは ZFS の動作には影響しませんが、これらを使用すると、使用環境内で意味のある情報をデータセットに注釈として付けることができます。
ユーザープロパティーの名前は、次の規則に適合している必要があります。
ネイティブプロパティーと区別するためのコロン(': ') を含んでいる必要がある。
小文字の英字、数字、または次の句読文字を含んでいる必要がある。「:」、「+」、「.」、「_」。
ユーザープロパティー名の最大長は、256 文字である。
想定されている規則では、プロパティー名は次の 2 つの部分に分割しますが、この名前空間は ZFS によって強制されているものではありません。
module:property |
ユーザープロパティーをプログラムで使用する場合、プロパティー名の module 要素には、逆順にした DNS ドメイン名を使用してください。これは、それぞれ単独で開発された 2 つのパッケージが、異なる目的で同じプロパティー名を使用する可能性を減らすためです。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 |
プロパティーがどの親のデータセットにも定義されていない場合は、完全に削除されます。