Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

zfs(8)

名前

zfs - ZFS ファイルシステムの構成

形式

zfs [-?]
zfs help subcommand | help | property property-name | permission
zfs help -l properties
zfs allow filesystem|volume
zfs allow [-ldug] everyone|user|group[,...] perm|@setname[,...]
     filesystem|volume
zfs allow [-ld] -e perm|@setname[,...] filesystem|volume
zfs allow -c perm|@setname[,...] filesystem|volume
zfs allow -s @setname perm|@setname[,...] filesystem|volume
zfs clone [-p] [-K] [-o property=value] ... snapshot filesystem|volume
zfs create [-p] [-o property=value] ... filesystem
zfs create [-ps] [-b blocksize] [-o property=value] ... -V size volume
zfs destroy [-rRsf] filesystem|volume
zfs destroy [-rRsd] snapshot
zfs destroy share
zfs diff [-FHNqrte] [-o field] ... snapshot [snapshot|filesystem]
zfs diff -E [-FHqrt] [-o field] ... snapshot|filesystem
zfs get [-rHpe|-d max] [-o all | field[,...]] [-s source[,...]]
     [-I state,...] all | property[,...]
     filesystem|volume|snapshot|share ...
zfs get share [filesystem]
zfs groupspace [-hniHp] [-o field[,...]] [-sS field] ...
     [-t type [,...]] filesystem|snapshot
zfs hold [-r] tag snapshot...
zfs holds [-r] snapshot...
zfs key -l {-a | [-r] filesystem|volume}
zfs key -u [-f] {-a | [-r] filesystem|volume}
zfs key -c [-o keysource=value] {-a | [-r] filesystem|volume}
zfs key -K {-a | [-r] filesystem|volume}
zfs list [-rH|-d max][-o property[,...]] [-t type[,...]] [-I state,..]
     [-s property] ... [-S property] ...
     [filesystem|volume|snapshot|share|path] ...
zfs inherit [-rS] property filesystem|volume|snapshot|share ...
zfs mount 
zfs mount [-vO] [-o options] -a | filesystem
zfs promote clone-filesystem
zfs receive [-vnFu] [[-o property=value] | [-x property]] ...
     filesystem|volume|snapshot
zfs receive [-vnFu] [[-o property=value] | [-x property]] ...
     [-d | -e] filesystem
zfs receive -C filesystem|volume
zfs release [-r] tag snapshot...
zfs rename filesystem|volume|snapshot
     filesystem|volume|snapshot
zfs rename [-p] filesystem|volume filesystem|volume
zfs rename -r snapshot snapshot
zfs rename share share
zfs retained [-PMeuanr] [-A | -f | [-p] -o field[,...]] filesystem
zfs rollback [-rRf] snapshot
zfs send [-vbpnC] [-Rr[c]] [-w compress|none]
     [-D [-m memsize]]
     [-iI snapshot] [-s subopt] snapshot
zfs set [-r] property=value filesystem|volume|snapshot ...
zfs share -u [-o property=value] filesystem%share
zfs share filesystem|mountpoint|filesystem%share
zfs share -a| -r | filesystem
zfs snapshot [-r] [-o property=value]...
     filesystem@snapname|volume@snapname
zfs unallow [-rldug] everyone|user|group[,...] [perm|@setname[,... ]]
     filesystem|volume
zfs unallow [-rld] -e [perm|@setname[,... ]] filesystem|volume
zfs unallow [-r] -c [perm|@setname[ ... ]] filesystem|volume
zfs unallow [-r] -s @setname [perm|@setname[,... ]] filesystem|volume
zfs unmount [-f] -a | filesystem|mountpoint
zfs unshare filesystem|mountpoint|filesystem%share
zfs unshare -a | -r filesystem
zfs upgrade
zfs upgrade [-v]
zfs upgrade [-r] [-V version] -a | filesystem
zfs userspace [-hniHp] [-o field[,...]] [-sS field] ...
     [-t type [,...]] filesystem|snapshot

説明

zpool(8) で説明されているように、zfs コマンドは、ZFS ストレージプール内の ZFS データセットを構成します。データセットの識別には、ZFS 名前空間内部の一意のパスが使用されます。例:

pool/{filesystem,volume,snapshot}

この場合、データセット名の最大長は MAXNAMELEN (256 バイト) です。

使用できるデータセットは、次のうちのいずれかです。

file system

標準のシステム名前空間内にマウントでき、別のファイルシステムのように動作する、filesystem タイプの ZFS データセット。ZFS ファイルシステムは POSIX に準拠するように設計されていますが、場合によっては準拠を妨げる既知の問題が存在します。標準準拠に依存しているアプリケーションでは、ファイルシステムの空き領域を調べるときに、標準でない動作のために障害が発生する可能性があります。

volume

raw デバイスまたはブロック型デバイスとしてエクスポートされた論理ボリューム。このタイプのデータセットは特殊な状況でのみ使用するようにしてください。通常は、ほとんどの環境でファイルシステムが使用されます。

snapshot

特定の時点におけるファイルシステムまたはボリュームの読み取り専用バージョン。これは、filesystem@name または volume@name として指定されます。

ZFS ファイルシステム階層

ZFS ストレージプールは、データセット用の領域を提供するデバイスの論理コレクションです。A storage pool is also the root of the ZFS file system hierarchy.

プールのルートにはファイルシステムとしてアクセスできるため、マウントやアンマウント、スナップショットの作成、およびプロパティーの設定などの操作を実行できます。ただし、物理ストレージ特性の管理には、zpool(8) コマンドを使用します。

プールの作成および管理の詳細は、zpool(8) を参照してください。

Snapshots

スナップショットは、ファイルシステムまたはボリュームの読み取り専用コピーです。スナップショットはきわめてすばやく作成することができ、最初はプール内で追加の領域を消費しません。アクティブなデータセット内のデータが変更されると、スナップショット用のデータが増加します。これは、本来ならアクティブなデータセットと共有されていたデータです。

スナップショットには、任意の名前を付けることができます。ボリュームのスナップショットは、クローンやロールバックを作成することは可能ですが、個別にアクセスすることはできません。

ファイルシステムのスナップショットは、ファイルシステムのルートの .zfs/snapshot ディレクトリに置かれます。スナップショットは、要求に応じて自動的にマウントされます。また、一定の時間が経過するとスナップショットをアンマウントすることもできます。.zfs ディレクトリの可視設定は、snapdir プロパティーで制御できます。

クローン

クローンとは、別のデータセットと同一の初期内容を持つ書き込み可能なボリュームまたはファイルシステムです。スナップショットの場合と同様に、クローンは瞬間的に作成され、最初は追加の領域を消費しません。

クローンは、スナップショットだけから作成できます。スナップショットのクローンを作成すると、親子間に暗黙の依存関係が作成されます。クローンをデータセット階層内の別の場所に作成した場合でも、クローンが存在するかぎり、元のスナップショットを破棄することはできません。この依存関係は origin プロパティーによって明らかになり、このような依存関係が存在する場合は、destroy コマンドによって一覧表示されます。

promote サブコマンドを使えば、クローンの親子依存関係を逆転させることができます。これを行うと、「元」のファイルシステムが、指定されたファイルシステムのクローンになります。このため、クローンの作成元のファイルシステムを破棄できるようになります。

Mount Points

ZFS ファイルシステムは簡単な操作で作成できるため、システムごとのファイルシステムの数はかなり多くなる可能性があります。これに対処するため、/etc/vfstab ファイルを編集しなくても、ZFS がファイルシステムのマウントとアンマウントを自動的に管理します。自動管理されるすべてのファイルシステムは、ブート時に ZFS によりマウントされます。

By default, file systems are mounted under /path, where path is the name of the file system in the ZFS namespace.ディレクトリが、必要に応じて作成および破棄されます。

また、mountpoint プロパティーにファイルシステムのマウントポイントを設定することも可能です。このディレクトリは必要に応じて作成され、zfs mount -a コマンドの呼び出し時に ZFS によりファイルシステムが自動的にマウントされます (/etc/vfstab の編集は不要)。mountpoint プロパティーは継承可能であるため、pool/home/export/stuff のマウントポイントがある場合、pool/home/user は自動的に /export/stuff/user のマウントポイントを継承します。

A file system can be mounted temporarily at a location other than the file systems persistent mount point by specifying the -o mountpoint=value option to the zfs mount command.これは、レガシーマウントポイントを持つファイルシステムでのみ許可されます。

ファイルシステムの mountpoint プロパティーが none の場合、ファイルシステムはマウントされません。

ZFS ファイルシステムは、必要に応じて、従来のツール (mountumount/etc/vfstab) でも管理できます。ファイルシステムのマウントポイントが legacy に設定されている場合、ZFS はそのファイルシステムを管理しようとせず、ファイルシステムのマウントとアンマウントは管理者が担当します。

Zones

追加したファイルシステムの物理プロパティーの制御は、大域管理者が行います。ただし、ゾーン管理者は、追加したファイルシステム内部のファイルを、ファイルシステムのマウント方法に対応した方法で作成、変更、または破棄できます。

また、zonecfg add dataset サブコマンドを使用すると、データセットを非大域ゾーンに委任することもできます。データセットをあるゾーンに委任し、同じデータセットの子を別のゾーンに委任することはできません。ゾーン管理者は、データセットおよびそのすべての子のプロパティーを変更できます。ただし、quota プロパティーの制御は、大域管理者が行います。

ZFS ボリュームをデバイスとして非大域ゾーンに追加するには、zonecfg add device サブコマンドを使用します。ただし、その物理プロパティーを変更できるのは大域管理者だけです。

zonecfg 構文の詳細は、zonecfg(8) のマニュアルページを参照してください。

データセットが非大域ゾーンに委任されると、zoned プロパティーが自動的に設定されます。ゾーン設定したファイルシステムは、一時的な mountpoint プロパティー (「一時的なマウントポイントプロパティー」を参照) を使用することによってのみ、大域ゾーンでマウントできます。

大域管理者は zoned プロパティーを強制的にクリアできます。ただし、この操作は特に慎重に行うようにしてください。大域管理者は、このプロパティーをクリアする前に、すべてのマウントポイントが受け入れられるものであることを確認してください。

複製解除

複製解除とは、冗長なデータをブロックレベルで削除することにより、格納されているデータの合計容量を減らすプロセスです。複製解除はプール全体に及びますが、データセットごとにそれぞれの dedup プロパティーを使用すると、適用するかしないかを選択できます。ファイルシステムで dedup プロパティーが有効になっている場合、重複しているデータブロックは書き込み時に一斉に削除されます。この結果、ただ 1 つの一意のデータが格納され、共通するコンポーネントが、プール内の dedup が有効になっているすべてのデータセットのファイル間で共有されます。

Encryption

ZFS 暗号化および ZFS 暗号化構文の完全な説明については、zfs_encrypt(8) を参照してください。

File Retention

File retention protects a file from being altered or deleted for a specified period of time.After that time has passed, the file may only be deleted.File retention is only available for regular files.

A filesystem may have retention enabled by setting the retention.policy property.This can only be enabled during filesystem creation.

The period for which a file is retained may be specified in touch -R or using touch -a to set the atime into the future prior to making the file read-only.If neither of these is used, the file is retained for the retention.period.default.

Files on a filesystem with retention enabled are retained by setting the retention time via touch -R, by removing all write permissions, or by setting the readonly file attribute.

Native Properties

プロパティーは、ネイティブプロパティーとユーザー定義 (ユーザー) プロパティーの 2 種類に分けられます。ネイティブプロパティーは、内部統計情報を提供するか、ZFS の動作を制御します。また、ネイティブプロパティーは編集可能であるか、読み取り専用です。ユーザープロパティーは ZFS の動作には影響を及ぼしませんが、ユーザーの環境で意味のある方法でデータセットに注釈を付けるのに利用できます。ユーザープロパティーの詳細は、後述の「ユーザープロパティー」のセクションを参照してください。

すべてのデータセットは、データセットに関する統計情報を提供したり、さまざまな動作を制御したりするプロパティーセットを持っています。プロパティーは、子により上書きされないかぎり、親から継承されます。一部のプロパティーは、特定のタイプのデータセット (ファイルシステム、ボリューム、またはスナップショット) にのみ適用されます。

数値プロパティーの値は、人間が読める形式の接尾辞 (たとえば、kKBMGb などから、Z バイトを示す Z まで) を使用して指定できます。次の指定はすべて有効 (および等価) です。

1536M, 1.5g, 1.50GB

数値以外のプロパティーの値は、大文字と小文字が区別されるため、mountpoint プロパティーを除いて小文字にする必要があります。

次のネイティブプロパティーは、データセットに関する統計データを表示するものです。これらのプロパティーは、設定することも継承することもできません。ネイティブプロパティーは、特に注記がないかぎり、すべてのデータセットタイプに適用されます。

available

データセットおよびその子すべてが使用可能な容量。プール内にその他のアクティビティーが存在しないものとして計算されます。容量はプール内で共有されるため、プールの物理サイズ、割り当て、予約、プール内のほかのデータセットなどのさまざまな要因によって、利用できる容量が制限されることがあります。

このプロパティーは、列の短縮名 avail で参照することもできます。

compressratio

このデータセットに対して達成された圧縮比。乗数で表記されます。zfs set compression=on dataset を実行すると、圧縮を有効にできます。デフォルト値は off です。

creation

このデータセットが作成された時間。

defer_destroy

This property is on if the snapshot has been marked for deferred destroy by using the zfs destroy -d command.それ以外の場合、このプロパティーはオフです。

keychangedate

詳細は、zfs_encrypt(8) を参照してください。

keystatus

詳細は、zfs_encrypt(8) を参照してください。

mounted

ファイルシステムの場合は、ファイルシステムが現在マウントされているかどうかを示します。このプロパティーは、yes または no になります。

origin

ファイルシステムまたはボリュームのクローンを作成した場合は、クローンの作成元のスナップショット。The origin cannot be destroyed (even with the -r or -f options) so long as a clone exists.

referenced

このデータセットでアクセス可能なデータ量。これは、プール内のほかのデータセットと共有される場合も、共有されない場合もあります。スナップショットまたはクローンを作成したときには、それらの作成元のファイルシステムまたはスナップショットと同じ領域を最初は参照しています。内容が同じであるためです。

このプロパティーは、列の短縮名 refer で参照することもできます。

rekeydate

詳細は、zfs_encrypt(8) を参照してください。

type

データセットのタイプ。filesystemvolumesnapshot のいずれかです。

used

このデータセットおよびそのすべての子孫が消費する容量を調べます。この値は、このデータセットの割り当ておよび予約に基づいて計算されます。使用されている容量にはこのデータセットの予約は含まれませんが、refreservation (usedbyrefreservation を使用) や、いずれかの子孫データセットの予約 (usedbychildren を使用) が考慮されます。データセットがその親から継承して使用する容量、およびこのデータセットが再帰的に破棄されるときに解放される容量は、使用済み領域と予約のどちらか大きい方になります。

スナップショット (「スナップショット」のセクションを参照) を作成したときは、それらの領域は最初はスナップショットとファイルシステムの間で共有されます。それまでに作成したスナップショットと領域が共有されることもあります。ファイルシステムが変化していくにつれて、それまで共有されていた領域がスナップショット固有になり、スナップショットが使用する領域に計上されます。また、スナップショットを削除すると、ほかのスナップショットに固有の (および使用される) 容量を増やすことができます。

使用している容量、使用できる容量、または参照する容量では、保留状態の変更は考慮されません。保留状態の変更は通常、数秒以内に計上されます。fsync(3C)O_SYNC を使用してディスクへの変更をコミットしても、領域の使用状況の情報がすぐに更新されることが保証されているわけではありません。

usedby*

usedby* プロパティーは、used プロパティーを、その容量が使用されているさまざまな理由に分解します。具体的には、used = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots になります。これらのプロパティーは、version 13 以上のプールで作成されたデータセットでのみ使用可能です。

usedbychildren

このデータセットの子によって使用される容量。この容量は、データセットのすべての子が破棄された場合に解放されます。

usedbydataset

The amount of space used by this dataset itself, which would be freed if the dataset was destroyed (after first removing any refreservation and destroying any necessary snapshots or descendents).

usedbyrefreservation

このデータセットの refreservation セットによって使用される容量。この容量は、refreservation が削除された場合に解放されます。

このプロパティーで計上される容量は、将来の書き込みによって見込まれる消費量を表しており、このデータセット内での書き込み割り当ての失敗を防止するためにあらかじめ予約されています。これには、未書き込みデータ、現在スナップショットと共有されている容量、および (圧縮率の低いデータと置き換えると失われる可能性がある) ボリュームの圧縮保存が含まれます。将来の書き込みのための割り当てによって usedbydataset または usedbysnapshots が増えると、それに応じて usedbyrefreservation が減ります。

usedbysnapshots

このデータセットのスナップショットによって消費される容量。具体的には、これはデータセットのスナップショットがすべて破棄された場合に解放される容量です。ただし、これは、スナップショットの used プロパティーの単なる合計ではありません。なぜならば、領域は、複数のスナップショットによって共有されることがあるからです。

userused@user

指定されたユーザーによって消費される、このデータセットの容量。Space is charged to the owner of each file, as displayed by ls -l.The amount of space charged is displayed by du and ls -s.詳細は、zfs userspace サブコマンドを参照してください。

非特権ユーザーは、自身の領域使用状況のみを確認できます。root ユーザー、または zfs allowuserused 特権が付与されているユーザーは、すべてのユーザーの使用状況にアクセスできます。

userused@... プロパティーは、zfs get all では表示されません。@ 記号のあとに、次のいずれかの形式でユーザーの名前を付加する必要があります。

  • POSIX 名 (例: joe)

  • POSIX 数値 ID (例: 789)

  • SID 名 (例: joe.smith@mydomain)

  • SID 数値 ID (例: S-1-123-456-789)

userrefs

このプロパティーは、このスナップショットでユーザーを保持する数に設定されます。ユーザーの保持は、zfs hold コマンドを使用して設定されます。

groupused@group

指定されたグループによって消費される、このデータセットの容量。Space is charged to the group of each file, as displayed by ls -l.詳細は、userused@user プロパティーを参照してください。

非特権ユーザーは、自身のグループの領域使用状況のみを確認できます。root ユーザー、または zfs allowgroupuse 特権を付与されているユーザーは、あらゆるグループの使用状況にアクセスできます。

volblocksize=blocksize

ボリュームの場合に、ボリュームのブロックサイズを指定します。blocksize は、ボリュームが書き込まれたあとは変更できないため、ボリュームの作成時に設定してください。ボリュームのデフォルトの blocksize は 8K バイトです。512 バイト - 1M バイトの範囲で、任意の 2 の累乗を指定できます。

このプロパティーは、列の短縮名 volblock で参照することもできます。

effectivereadlimit
effectivewritelimit

これらのプロパティーは、データセットの実効制限のビューを示します。表示される値は、データセットを管理している最大スループットを示します。報告される実効制限は、ルートと示されたデータセットの間にある任意の点でのもっとも低いデータ制限です。制限の動作の詳細については、readlimit および writelimit を参照してください。

次のネイティブプロパティーを使用すると、ZFS データセットの動作を変更できます。

aclmode=discard | mask | passthrough

chmod(2) の実行に中 ACL が変更される方法を制御します。aclmode プロパティーが discard (デフォルト) であるファイルシステムでは、ファイルのモードを表していない ACL エントリがすべて削除されます。「aclmode」プロパティーが「mask」の場合、ユーザーまたはグループアクセス権を削減します。アクセス権は、グループアクセス権ビットと同程度にまで削減されます。ただし、アクセス権がファイルまたはディレクトリの所有者と同じ UID を持つユーザーエントリである場合を除きます。この場合、ACL アクセス権は、所有者のアクセス権ビットを超えることがないように削減されます。また、mask は、次のモード変更までの間に (chmod(1) を使用して) ACL を明示的に設定することなく、モード変更の前後で ACL を保持します。aclmode プロパティーが passthrough であるファイルシステムは、ファイルまたはディレクトリの新しいモードを表す必要な ACL エントリを生成する以外、ACL が変更されないことを示します。

refreservation=size | none | auto

データセットに保証される最小容量。子孫で使用される容量は含まれません。ファイルシステムの場合、デフォルトの refreservation は none です。

ZFS ボリュームの場合、refreservation は、ZFS メタデータのオーバーヘッドを考慮に入れるため、実際のボリュームサイズよりもいくらか大きいサイズに自動的に設定されます。dense 値を使用して、現在のボリュームサイズのデータとメタデータの両方に十分な領域を予約できます。たとえば、ほかのファイルシステムにより多くの領域が必要な場合は、ボリュームの refreservation 値を一時的に減らして、これを疎ボリュームに変換できます。その後、ボリュームの refreservation 値を、dense 値を指定して作成したときの元の値に戻すことができます。

usedbydataset の容量がこの値を下回っているデータセットは、refreservation で指定された容量を使用していると見なされます。usedbyrefreservation の数値は、この追加の容量を表します。この値はデータセットにチャージされる合計使用容量に加算され、さらに親データセットの使用状況、割り当て、および予約のために消費されます。これにより、将来の書き込み用の容量があらかじめ予約されるようにして、プールリソースの過剰な割り当てからデータセットを保護します。

スナップショットと共有される容量は、あとで新しいデータに置き換えることが可能で、そのスナップショットは、両方のコピーが確実に保持されることを表します。refreservation が設定されている場合、新しいスナップショットを取得するときに usedbyrefreservation を refreservation と同じサイズにまで増やして、コピーが確実に保持されるようにする必要があります。この増加に使用できる十分な容量がデータセットにない場合、スナップショットの作成は拒否されます。

このプロパティーは、列の短縮名 refreserv で参照することもできます。

aclinherit=discard | noallow | restricted | passthrough | passthrough-x passthrough-mode-preserve

ファイルとディレクトリが作成されるときに ACL エントリをどのように継承するかを制御します。A file system with an aclinherit property of discard does not inherit any ACL entries.aclinherit プロパティーが noallow であるファイルシステムは、「deny」アクセス権を指定する、継承可能な ACL エントリのみを継承します。プロパティー値 restricted (デフォルト) は、ACL エントリが継承されたときに write_acl および write_owner アクセス権を削除します。aclinherit プロパティー値が passthrough であるファイルシステムは、ACL エントリが継承されたときにそれらのエントリを変更することなく、継承可能なすべての ACL エントリを継承します。aclinherit プロパティー値が passthrough-x であるファイルシステムは、passthrough と同じ意味ですが、ファイル作成モードでも実行ビットが必要とされる場合のみすべての ACE が実行権を継承する点が異なります。aclinherit プロパティー値が passthrough-mode-preserve であるファイルシステムは、passthrough と同じ意味ですが、ファイルおよびディレクトリの作成時にアプリケーションによって要求されたモードの値で owner@、group@、および everyone@ ACE がオーバーライドされる点が異なります。

プロパティー値が passthrough に設定されている場合は、継承可能な ACE によって決定されるモードでファイルが作成されます。モードに影響を与える継承可能な ACE が存在しない場合は、アプリケーションから要求されたモードに従ってモードが設定されます。

atime=on | off

ファイルを読み取るときにファイルのアクセス時間を更新するかどうかを制御します。このプロパティーをオフに設定すると、ファイルを読み取るときに書き込みトラフィックが生成されなくなるため、パフォーマンスが大幅に向上する可能性があります。ただし、メールプログラムなどのユーティリティーが予期しない動作をすることがあります。デフォルト値は on です。

canmount=on | off | noauto

このプロパティーが off に設定されている場合、ファイルシステムはマウントできず、zfs mount -a を実行しても無視されます。このプロパティーを off に設定することは、mountpoint プロパティーを none に設定することに似ていますが、継承可能な通常の mountpoint プロパティーをデータセットが引き続き保持する点が異なります。このプロパティーを off に設定することによって、データセットをプロパティー継承のメカニズムとしてのみ使用できるようになります。canmount=off を設定する 1 つの例として、2 つのデータセットに同じ mountpoint を割り当てることができます。これにより、両方のデータセットの子が同じディレクトリ内に表示されますが、継承される特性は異なる可能性があります。

noauto オプションを設定すると、データセットのマウントおよびアンマウントは明示的に実行することが必要になります。データセットの作成時やインポート時に、データセットが自動的にマウントされることはありません。また、zfs mount -a コマンドでマウントされることや、zfs unmount -a コマンドでアンマウントされることもありません。

このプロパティーは継承されません。

checksum=on | off | fletcher2 | fletcher4 | sha256 | sha256+mac

データの完全性を検証するために使用するチェックサムを制御します。The default value is on, which automatically selects an appropriate algorithm (currently fletcher4, but this may change in future releases).値が off の場合、ユーザーデータの整合性チェックが無効になります。チェックサムの無効化は、推奨されていない操作です。

このプロパティーを変更した場合、影響を受けるのは新しく書き込まれるデータのみです。

sha256+mac の値は、暗号化が有効な場合にのみ使用できます。暗号化が有効な場合、チェックサムプロパティーは readonly になり、常に sha256+mac に設定されます。

compression=on | off | lzjb | gzip | gzip-N | zle | lz4

このデータセットで使用される圧縮アルゴリズムを制御します。lzjb 圧縮アルゴリズムは、優れたデータ圧縮と同時に最適なパフォーマンスを提供します。圧縮を on に設定すると、lzjb 圧縮アルゴリズムが使用されます。The gzip compression algorithm uses the same compression as the gzip(1) command.gzip のレベルは、値 gzip-N を使用して指定できます。ここで、N は 1 (最速) から 9 (最大圧縮率) までの整数です。Currently, gzip is equivalent to gzip-6 (which is also the default for gzip(1)). lz4 provides better compression than lzjb with lower CPU overhead.Neither gzip nor lz4 compression is currently supported when set at the root pool level nor on the root pool dataset.

このプロパティーは、列の短縮名 compress で参照することもできます。このプロパティーを変更した場合、影響を受けるのは新しく書き込まれるデータのみです。

copies=1 | 2 | 3

このデータセットに関して保存されるデータのコピー数を制御します。これらのコピーは、ミラー化や RAID-Z など、プールによってもたらされる冗長性を補うものです。可能な場合、コピーは異なるディスクに保存されます。複数のコピーによって使用される容量は、関連するファイルとデータセットにチャージされます。したがって、used プロパティーが変更され、割り当てと予約が減らされます。

このプロパティーを変更した場合、影響を受けるのは新しく書き込まれるデータのみです。そのため、このプロパティーは -o copies=N オプションを使用して、ファイルシステムの作成時に設定します。

データセットで暗号化が有効な場合、コピーは最大値の 2 に設定されます。

データセットが自動プロビジョニングされた ZFS ボリュームの場合、コピーの変更には refreservation への変更も含まれます。詳細は、「refreservation」を参照してください。

dedup=on | off | verify | sha256[,verify]

データセットに対して複製解除を適用するかどうかを制御します。デフォルト値は off です。複製解除に使用されるデフォルトのチェックサムは sha256 です (変更される可能性があります)。dedup が有効な場合、dedup チェックサムアルゴリズムによって checksum プロパティーがオーバーライドされます。値を verify に設定することは、sha256,verify を指定することと同等です。

プロパティーが verify に設定されている場合、ZFS は、2 つのブロックに同じ署名があるときはいつでも既存のブロックとバイト単位の比較を行なって、内容が同一であることを確認します。

devices=on | off

このファイルシステムでデバイスノードを開くことができるかどうかを制御します。デフォルト値は on です。

exec=on | off

このファイルシステム内部からプロセスを実行可能かどうかを制御します。デフォルト値は on です。

logbias = latency | throughput

このデータセットに対する同期要求を ZFS で最適化する方法を制御します。logbiaslatency に設定されている場合、ZFS はプールに別個のログデバイスが存在すればそれを使用して、短い待ち時間で要求を処理します。logbiasthroughput に設定されている場合、ZFS はプールの別個のログデバイスを使用しません。その代わりに、ZFS は大域プールのスループットとリソースの使用効率を優先して同時操作を最適化します。デフォルト値は latency です。

mlslabel=label | none

マルチレベルファイルシステムでの mlslabel プロパティーの動作については、multilevel プロパティーを参照してください。次の mlslabel の説明は非マルチレベルファイルシステムに適用されます:

mlslabel プロパティーは、Trusted Extensions が有効なシステムでデータセットをゾーンにマウントできるかどうかを指定する機密ラベルです。ラベル付きのデータセットがラベル付きのゾーンに一致する場合、データセットは、そのラベル付きのゾーンからマウントしてアクセスできます。

mlslabel プロパティーが設定されていない場合、デフォルト値は none です。mlslabel プロパティーを none に設定することは、このプロパティーを削除することと同等です。

Trusted Extensions が有効になっていて、適切な特権がある場合にのみ、mlslabel プロパティーを変更できます。このプロパティーを変更する権利は委任できません。ラベルを上位のラベルに変更したり、初期データセットラベルを設定したりするときには、{PRIV_FILE_UPGRADE_SL} 特権が必要です。ラベルを下位のラベルまたはデフォルト (none) に変更する場合は、{PRIV_FILE_DOWNGRADE_SL} 特権が必要です。デフォルト以外のラベルへのデータセットの変更は、データセットがマウントされていない場合にのみ実行できます。デフォルトラベルを持つデータセットがラベル付きのゾーンにマウントされると、そのマウント操作によって、mlslabel プロパティーがそのゾーンのラベルに自動的に設定されます。

Trusted Extensions が有効になっていない場合、デフォルトラベル (none) のデータセットだけをマウントできます。

mountpoint=path | none | legacy

このファイルシステムで使用されるマウントポイントを制御します。このプロパティーの使用方法の詳細は、「マウントポイント」のセクションを参照してください。

ファイルシステムの mountpoint プロパティーを変更すると、そのマウントポイントを継承するファイルシステムおよびそのすべての子がアンマウントされます。新しい値が legacy の場合は、マウントが解除されたままになります。それ以外のときは、プロパティーの古い値が legacy または none だった場合、またはプロパティーが変更される前にマウントされていた場合は、自動的に再マウントされます。また、共有されていたすべてのファイルシステムは、共有が解除されてから新しい場所で共有されます。

nbmand=on | off

詳細は、zfs_share(8) を参照してください。

primarycache=all | none | metadata

プライマリキャッシュ (ARC) にキャッシュされる内容を制御します。このプロパティーを all に設定すると、ユーザーデータとメタデータの両方がキャッシュされます。このプロパティーを none に設定すると、ユーザーデータもメタデータもキャッシュされません。このプロパティーが metadata に設定されている場合は、メタデータのみがキャッシュされます。デフォルト値は all

quota=size | none

データセットおよびその子孫が消費できる容量を制限します。これには、子孫の消費する容量すべて (ファイルシステムとスナップショットを含む) が含まれます。割り当て制限が適用されるのが数秒遅れることがあります。この遅延は、システムがユーザーの割り当て制限の超過を認識する前に、ユーザーが自分の割り当て制限を超えた可能性があることを示します。この場合、システムはその時点で追加の書き込みを拒否し始めます。割り当て制限がすでに設定されているデータセットの子孫に割り当て制限を設定した場合は、祖先の割り当て制限はオーバーライドされずに、制限が追加されます。ボリュームには割り当て制限を設定できません。volsize プロパティーが暗黙的な割り当て制限として機能します。

readlimit=size | none | default
writelimit=size | none | default

データセットの読み取りまたは書き込みの速度 (バイト/秒) を制限します。データセットに課せられた制限は、そのデータセットおよびそのすべての子孫に適用されます。値「none」を指定すると、親によって設定されたデフォルトがオーバーライドされます。値「default」を指定すると、データセットは親によって設定されたデフォルトに戻ります。これらの値は保証されている帯域幅ではありません。実際の帯域幅は、階層内のほかのデータセットでの使用量や設定されている制限など、ほかの要因によって制限されることがあります。これらの制限が適用されるまでに数秒かかることがあります。

defaultreadlimit=size | none
defaultwritelimit=size | none

データセットに対する読み取りまたは書き込みのデフォルトの制限 (バイト/秒) を設定します。データセットに課せられたデフォルトの制限はデータセットの子孫にのみ適用されます。この値は子孫に継承され、子孫に readlimit または writelimit を設定することによってオーバーライドできます。これらの値は保証されている帯域幅ではありません。実際の帯域幅は、階層内のほかのデータセットでの使用量や設定されている制限など、ほかの要因によって制限されることがあります。これらの制限が適用されるまでに数秒かかることがあります。

sync=standard | always | disabled

ファイルシステムトランザクションを同期する程度を指定します。このプロパティーは、データセットの作成時に設定することも動的に設定することもでき、ただちに有効になります。このプロパティーは、次の設定のうちの 1 つを持つことができます。

standard

デフォルトのオプション。同期するファイルシステムトランザクションがインテントログに書き込まれてから、書き込まれたすべてのデバイスがフラッシュされ、データが安定した状態になるように (つまり、デバイスコントローラによってキャッシュされないように) します。

always

各ファイルシステムトランザクションが書き込まれ、安定した記憶領域にフラッシュされます。この値はパフォーマンスに非常に不利な状況をもたらしますが、同期するフィルシステムトランザクションのトラブルシューティングには適切な場合があります。

disabled

同期要求は無効になります。ファイルシステムトランザクションは、次の DMU トランザクショングループの確定時にのみ安定した記憶領域に確定されるため、処理が行われるまで数秒かかる場合があります。この設定はパフォーマンスにとって最適です。ただし、データベースや NFS などのアプリケーションの同期トランザクション要求を ZFS が無視するため、これは非常に危険な設定です。さらに、現在アクティブなルートまたは /var ファイルシステムに対してこの設定を有効にした場合、仕様外の動作、アプリケーションデータの損失、およびリプレイ攻撃に対する脆弱性の増大が生じる可能性があります。管理者は、これらのリスクを理解した上でこのオプションを使用するようにしてください。

defaultuserquota=size | none

デフォルトのユーザー割り当て制限を設定します。デフォルト値は none です。この値は、明示的なユーザー割り当て制限が指定されていないすべてのユーザーに適用されます。

defaultgroupquota=size | none

デフォルトのグループ割り当て制限を設定します。デフォルト値は none です。この値は、明示的なユーザー割り当て制限が指定されていないすべてのグループに適用されます。

userquota@user=size | none | default

指定されたユーザーによって消費される容量を制限します。userquota の容量計算では、refquota プロパティーと同様に、スナップショットやクローンなど、子孫データセットによって使用される容量は含まれません。ユーザーの容量消費は、userspace@user プロパティーで識別されます。

ユーザーの割り当て制限が適用されるまでに数秒かかることがあります。この遅延は、システムがユーザーの割り当て制限の超過を認識する前に、ユーザーが自分の割り当て制限を超えた可能性があることを示します。The system would then begin to refuse additional writes with the EDQUOT error message.詳細は、zfs userspace サブコマンドを参照してください。

非特権ユーザーは、自身のグループの領域使用状況のみを確認できます。root ユーザー、または zfs allowuserquota 特権を付与されているユーザーは、あらゆるユーザーの割り当てを取得および設定できます。

このプロパティーは、ボリューム、バージョン 4 よりも古いファイルシステム、またはバージョン 15 よりも古いプールでは使用できません。userquota@... プロパティーは zfs get all では表示されません。@ 記号のあとに、次のいずれかの形式でユーザーの名前を付加する必要があります。

  • POSIX 名 (例: joe)

  • POSIX 数値 ID (例: 789)

  • SID 名 (例: joe.smith@mydomain)

  • SID 数値 ID (例: S-1-123-456-789)

default の値は、割り当て制限を defaultuserquota プロパティーで定義されたデフォルト値にリセットします。

groupquota@group=size | none | default

指定されたグループによって消費される容量を制限します。グループの容量消費は、userquota@user プロパティーで識別されます。

非特権ユーザーは、自身のグループの領域使用状況のみを確認できます。root ユーザー、または zfs allowgroupquota 特権を付与されているユーザーは、あらゆるグループの割り当てを取得および設定できます。

default の値は、グループ割り当て制限を defaultgroupquota プロパティーで定義されたデフォルト値にリセットします。

readonly=on | off

このデータを変更できるかどうかを制御します。デフォルト値は off です。

このプロパティーは、列の短縮名 rdonly を使用して参照することもできます。

recordsize=size

ファイルシステムに格納するファイルの推奨ブロックサイズを指定します。このプロパティーは、レコードサイズが固定されているファイルにアクセスするデータベースワークロードだけで使用するように設計されています。ZFS では、標準的なアクセスパターンに最適化された内部アルゴリズムに従って、ブロックサイズが自動的に調整されます。

作成されるファイルのサイズが非常に大きく、それらのファイルにさまざまなパターンの小さなブロック単位でアクセスするデータベースの場合には、このようなアルゴリズムが最適でないことがあります。Specifying a recordsize greater than or equal to the record size of the database can result in significant performance gains.このプロパティーを汎用目的のファイルシステムに使用することは、パフォーマンスが低下する可能性があるため、できるだけ避けてください。

デフォルトの recordsize は 128K バイトです。指定するサイズは、512 バイト - 1M バイトの 2 の累乗にしてください。

ファイルシステムの recordsize の変更は、その後に作成したファイルにのみ適用され、既存のファイルと受信データには影響しません。

このプロパティーは、列の短縮名 recsize で参照することもできます。

refquota=size | none

1 つのデータセットが消費できる容量を制限します。この制限には、ファイルシステムやスナップショットなどの子孫で使用される容量は含まれません。refquota が適用されるのが数秒遅れることがあります。この遅延は、システムがユーザーの割り当て制限の超過を認識する前に、ユーザーが自分の割り当て制限を超えた可能性があることを示します。この場合、システムはその時点で追加の書き込みを拒否し始めます。

refreservation=size | none | auto

データセットに保証される最小容量。子孫で使用される容量は含まれません。

デフォルトの refreservation は、ZFS ボリュームの場合は auto であり、その他のタイプのデータセットの場合は none です。refreservation=auto の場合は、指定されたボリュームサイズ (volsize) および関連するメタデータを格納するために、ボリューム用に十分な領域が予約されます。この有効な reservation は、volsize および copies の両方のプロパティーに依存します。A volume can also be manually provisioned by setting refreservation to a numeric value (for example, zfs set refreservation=10g).メタデータのため、ボリュームデータに対して保証される実際の容量は、要求された数値 refreservation より若干少なくなります。A sparse volume (for example, when -s is specified at volume creation) is equivalent to one with a refreservation of none.refreservation=auto は ZFS ボリュームにのみ適用されることに注意してください。

ボリューム用に予約されていても、現在そのボリュームによって使用されていない領域は、usedbyrefreservation で計上されます。そのため、zfs ボリュームの有効な合計 refreservation は、常に usedbydatasetusedbyrefreservation の合計です。この合計は、親データセットの使用量、割り当て、および予約から継承して使用されます。これにより、将来の書き込み用の容量があらかじめ予約されるようにして、プールリソースの過剰な割り当てから各データセットを保護します。

スナップショットと共有される容量は、あとで新しいデータに置き換えることが可能で、そのスナップショットは、両方のコピーが確実に保持されることを表します。refreservation が設定されている場合、新しいスナップショットを取得するときに usedbyrefreservationrefreservation と同じサイズにまで増やして、コピーが確実に保持されるようにする必要があります。この増加に使用できる十分な容量がデータセットにない場合、スナップショットの作成は拒否されます。

このプロパティーは、列の短縮名 refreserv で参照することもできます。

reservation=size | none

データセットおよびその子孫に保証される最小容量。使用している容量がこの値を下回っているデータセットは、予約に指定された容量を使用していると見なされます。予約は、親データセットが使用する容量に計上されるので、親データセットの割り当てと予約を減らすことになります。

このプロパティーは、列の短縮名 reserv で参照することもできます。

rstchown=on | off

ユーザーが chown(1) または chown(2) システムコールでファイルの所有権を与えることをファイルシステムで制限するかどうかを指定します。デフォルトでは chown を制限します。rstchownoff である場合、chown は、ユーザーが PRIV_FILE_CHOWN_SELF 特権を持っているかのように機能します。

secondarycache=all | none | metadata

セカンダリキャッシュ (L2ARC) にキャッシュされる内容を制御します。このプロパティーを all に設定すると、ユーザーデータとメタデータの両方がキャッシュされます。このプロパティーを none に設定すると、ユーザーデータもメタデータもキャッシュされません。このプロパティーが metadata に設定されている場合は、メタデータのみがキャッシュされます。デフォルト値は all

setuid=on | off

設定された UID ビットが、このシステムで順守されるかどうかを制御します。デフォルト値は on です。

shadow=URI | none

ZFS ファイルシステムを URI で記述されたファイルシステムの shadow として識別します。データは、URI によって識別されるファイルシステムから、このプロパティーが設定されたシャドウファイルシステムに移行します。移行するファイルシステムは、完全に移行するために読み取り専用にする必要があります。

まだ移行されていないシャドウファイルシステム内のディレクトリへのアクセスは、ディレクトリ全体が移行されるまでブロックされます。まだ移行されていないシャドウファイルシステム内のファイルにアクセスすると、アクセスしたファイルの一部のみが移行されます。複数のプロセスによって、ファイルの異なる部分を同時に移行できます。

2 つの形式の URI を使用できます。1 つは同じ物理システム上でローカルファイルシステムから別のファイルシステムへの移行用で、もう 1 つは NFS サーバーからのリモートでのファイルシステムの移行用です。形式は次のとおりです。

file:///path
nfs://host/path

移行が完了したとき shadowd(8) がまだ実行中の場合、ファイルシステムは自動的に再マウントされ、シャドウプロパティーは none に設定されます。または、移行が完了したときに、シャドウプロパティーを手動で none に設定できます。

sharenfs=on | off

詳細は、zfs_share(8) を参照してください。

sharesmb=on | off

詳細は、zfs_share(8) を参照してください。

snapdir=hidden | visible

ファイルシステムのルートで、.zfs ディレクトリを非表示にするか、表示するかを制御します。詳細は、「スナップショット」のセクションを参照してください。デフォルト値は hidden です。

version=1 | 2 | current

このファイルシステムのディスク上バージョン。プールのバージョンとは無関係です。このプロパティーに設定できるのは、より新しい、サポートされているバージョンのみです。zfs upgrade コマンドを参照してください。

volsize=size

ボリュームの論理サイズを指定します。デフォルトでは、ボリュームを作成するときに確立される refreservation は、ZFS メタデータのオーバーヘッドを考慮に入れるため、実際の論理ボリュームサイズよりもいくらか大きくなります。volsize への変更があった場合には、refreservation にも同様の変更が反映されます。volsize に設定可能な値は、volblocksize の倍数だけです。この値をゼロにすることはできません。

refreservation は、利用者の予期しない動作を避けるためにボリュームに設定されます。予約を使用しない場合、ボリュームの使用方法によっては、ボリュームの容量が不足して未定義の動作またはデータ破壊が発生する可能性があります。このような影響は、ボリュームの使用中にボリュームサイズを変更した場合にも発生することがあります。特に、サイズを縮小した場合にはその可能性が高くなります。 ボリュームサイズを調整するときは、特に注意するようにしてください。ボリュームが自動プロビジョニングされた場合、そのサイズの変更により refreservation に対する変更も行われます。詳細は、「refreservation」のセクションを参照してください。

Though not recommended, a sparse volume (also known as thin provisioning) can be created by specifying the -s option to the zfs create -V command.疎ボリュームとは、予約がボリュームサイズよりも小さいボリュームのことです。このため、領域上のプールが小さい場合、疎ボリュームへの書き込みが ENOSPC で失敗する可能性があります。疎ボリュームの場合、volsize を変更しても予約には反映されません。

vscan=on | off

詳細は、 zfs_share(8) のマニュアルページを参照してください。

xattr=on | off

このファイルシステムで拡張属性が有効かどうかを制御します。デフォルト値は on です。

zoned=on | off

データセットを非大域ゾーンから管理するかどうかを制御します。詳細は、「ゾーン」のセクションを参照してください。デフォルト値は off です。

次のプロパティーは、ファイルシステムの作成後には変更できないため、ファイルシステムの作成時に設定するようにしてください。zfs create または zpool create コマンドで設定されていない場合、これらのプロパティーは親データセットから継承されます。これらの機能がサポートされる前に親データセットが作成されたため、親データセットにこれらのプロパティーが存在しない場合、新しいファイルシステムではこれらのプロパティーにデフォルト値が設定されます。

casesensitivity = sensitive | insensitive | mixed

詳細は、zfs_share(8) を参照してください。

normalization = none | formC | formD | formKC | formKD

詳細は、zfs_share(8) を参照してください。

utf8only =on | off

詳細は、zfs_share(8) を参照してください。

encryption=off | on | aes-128-ccm | aes-192-ccm | aes-256-ccm |
aes-128-gcm | aes-192-gcm | aes-256-gcm

詳細は、zfs_encrypt(8) を参照してください。

multilevel=on | off

デフォルト値は off です。これは、on に設定したあとではオフにできません。

マルチレベルファイルシステム内のオブジェクトは、自動的に生成される明示的な機密ラベル属性で個別にラベル付けされています。setlabel(1) または setflabel(3TSOL) インタフェースを使用すると、このラベル属性の変更によってオブジェクトに再度適切なラベル付けを行うことができます。

パッケージ化された Solaris コードを含むゾーンデータセット、システムルートデータセット、およびその他のデータセットはマルチレベルにしないようにしてください。

マルチレベルファイルシステムの上限は、mlslabel プロパティーに維持されます。通常、mlslabel はシステムによって自動的に管理されます。これは、マルチレベルファイルシステムがオンに設定されている場合は ADMIN_LOW に設定され、ファイルとディレクトリのアップグレード時に最大の機密ラベルを表すために増加されます。マルチレベルファイルシステムの作成後は、mlslabel を下位のラベルに変更したり、削除したり、none に設定したりすることはできません。

Trusted Extensions が有効になっている場合、mlslabel 値は、ファイルシステム内のオブジェクトが持つことができる使用可能な最上位のラベルと定義します。mlslabel よりも上位のラベルでファイルを作成 (またはそのレベルにファイルを再度ラベル付け) しようとしても許可されません。ファイルシステムの作成中に mlslabel プロパティーを明示的に設定できます。それ以外の場合は、ADMIN_HIGH のデフォルトの mlslabel プロパティーが自動的に作成されます。mlslabel に基づいたマウントポリシーはマルチレベルファイルシステムには適用されません。

次のプロパティーは、作成時に指定する必要があり、特殊コマンドを使用すると変更できます。

keysource=raw | hex | passphrase,prompt | file

詳細は、zfs_encrypt(8) を参照してください。

retention.policy=off | privileged | mandatory

This controls whether file retention is enabled for the given filesystem.It may only be set during filesystem create and is read-only thereafter.

off

File retention is disabled.

privileged

File retention is enabled.A process with the FILE_RETENTION_OVERRIDE privilege can delete a retained file or change its retention time backwards, but cannot modify the file's contents.The filesystem and its containing pool are not protected from destruction.

mandatory

File retention is enabled.No privilege, including those held by root, can allow for a retained file to be deleted until the retention has expired.A retained file's contents cannot be changed.Its retention timestamp may be changed forward, but cannot be changed backwards.The filesystem and its containing pool are protected from destruction until the last retention timestamp has expired.

retention.period.min=timeinterval
retention.period.max=timeinterval

These values constrain the range of time for which a file may be retained.The retention.period.default may not be less than retention.period.min or greater than retention.period.max.A retention time specified with touch -a or touch -R that is less than retention.period.min will be increased to retention.period.min and one that is greater than retention.period.max will be decreased to retention.period.max.

Retention period values must be less than 100 years.

retention.period.default=timeinterval

This value is used as the retention period for a file when no time was specified using touch prior to retention.

Retention period values must be less than 100 years.

retention.period.grace=timeinterval

The retention grace period controls automatic file retention.If it is set to zero seconds, automatic retention is disabled.If it is set to a period greater than zero seconds, automatic retention is enabled.Once a file has remained unmodified for that non-zero grace period it is automatically retained for the period specified by retention.period.default.

On mandatory retention filesystems, once automatic retention is enabled, it cannot be turned off.That is, the grace period value, once changed from zero to a positive integer, cannot be set back to zero.Further, on mandatory retention filesystems, the grace period value may never be increased, but may be reduced with a minimum of 1 second.

On privileged retention filesystems, the grace period value may be adjusted as desired.

Retention period values must be less than 100 years.

retention.status.expiry

The latest-expiring retention timestamp of a file is shown by this read-only filesystem property.If that time has passed, the property will also display (expired) indicating that all file retentions have expired.

retention.status.files

A count of retained files is shown by this read-only filesystem property.This count increases when a file is retained.It does not change when a file's retention expires; it is only reduced when a retained file is deleted.This count does not reflect files which auto-retention hasn't yet retained yet, but those will be included on their next access.

一時的なマウントポイントプロパティー

ファイルシステムがマウントされたときに、従来の mount(8) コマンドまたは zfs mount コマンドのどちらかを使用して、そのプロパティーに応じたマウントオプションが設定されます。プロパティーとマウントオプションは、次のような関係になっています。

        PROPERTY          MOUNT OPTION
        devices           devices/nodevices
        mountpoint        mountpoint
        exec              exec/noexec
        readonly          ro/rw
        setuid            setuid/nosetuid
        xattr             xattr/noxattr
        rstchown          rstchown/norstchown

In addition, these options can be set on a per-mount basis using the -o option, without affecting the property that is stored on disk.コマンド行に指定した値により、データセットに格納された値がオーバーライドされます。nosuid オプションは、nodevices,nosetuid の別名です。これらのプロパティーは、zfs get コマンドにより、temporary とレポートされます。データセットがマウントされている間にプロパティーが変更された場合、新しい設定によって、すべての一時的な設定がオーバーライドされます。変更するプロパティーがマウントポイントである場合、データセットがすぐに一時マウントポイントからアンマウントされ、新しい永続的マウントポイントに再マウントされます。

User Properties

ZFS は、標準のネイティブプロパティーに加えて、任意のユーザープロパティーもサポートします。ユーザープロパティーは ZFS の動作には影響を与えませんが、アプリケーションや管理者が使用して、データセット (ファイルシステム、ボリューム、およびスナップショット) に注釈を付けることができます。

ユーザープロパティー名には、ネイティブプロパティーと区別するためにコロン (:) 文字を含める必要があります。ユーザープロパティーに含めることができるのは、小文字の英字、数字、および句読文字のコロン (:)、ダッシュ (-)、ピリオド (.)、および下線 (_) です。想定されている規則では、プロパティー名は module:property などの 2 つの部分に分けられますが、この名前空間は ZFS では適用されません。ユーザープロパティー名には、最大 256 文字を使用できます。名前の先頭をダッシュ (-) で始めることはできません。

ユーザープロパティーをプログラムで使用する場合、プロパティー名の module コンポーネントには、逆順にした DNS ドメイン名を使用することを強くお勧めします。これは、それぞれ単独で開発された 2 つのパッケージが、異なる目的で同じプロパティー名を使用する可能性を減らすためです。Oracle Solaris リリースでは、com.oracle ユーザープロパティーが beadm コマンドおよびライブラリ用に予約されています。Oracle Solaris のブートでは com.oracle:rootfs が監視されます。これは、ブート可能なデータセットに関連付けられたルートファイルシステムのデータセットを定義します。

ユーザープロパティーの値は任意の文字列であり、常に継承されます。また、決して検証されることがありません。プロパティーを処理するコマンド (zfs listzfs getzfs set など) はすべて、ネイティブプロパティーとユーザープロパティーの両方の操作に使用できます。ユーザープロパティーをクリアするには、zfs inherit コマンドを使用します。プロパティーがどの親のデータセットにも定義されていない場合は、完全に削除されます。プロパティー値は、1024 文字以内に制限されています。

スワップまたはダンプデバイスとしての ZFS ボリュームの使用

初期インストール中に、ZFS ルートプールの ZFS ボリューム上にスワップデバイスおよびダンプデバイスが作成されます。スワップ領域とダンプデバイスには別個の ZFS ボリュームを使用する必要があります。ZFS ファイルシステム上のファイルには、スワップを作成しないでください。ZFS のスワップファイル構成は、サポートされていません。

スワップデバイスとして使用される ZFS ボリュームは、そのデバイスの encryption プロパティーを指定し、vfstab(5)encrypted オプションを指定することによって暗号化できます。暗号化プロパティーの詳細は、zfs_encrypt(8) を参照してください。

システムがインストールまたはアップグレードされたあとにスワップ領域またはダンプデバイスを変更する必要がある場合は、swap(8) および dumpadm(8) コマンドを使用します。スワップ領域またはダンプデバイスのサイズを変更する必要がある場合は、Managing ZFS File Systems in Oracle Solaris 11.4の本を参照してください。

SUBCOMMANDS

状態を変更するサブコマンドはすべて、元の形式でプールに永続的に記録されます。

zfs ?

ヘルプメッセージを表示します。

zfs help command | help | property property-name | permission

zfs コマンドの使用法情報を表示します。特定のコマンド、プロパティー、または委任アクセス権のヘルプを表示できます。特定のコマンドまたはプロパティーのヘルプを表示した場合、コマンド構文またはプロパティー値が表示されます。引数を何も付けずに zfs help を使用すると、zfs コマンドの完全なリストが表示されます。

zfs help -l properties

zfs プロパティーに関する情報 (プロパティー値が編集可能および継承可能かどうか、指定可能な値など) が表示されます。

zfs allow filesystem | volume
zfs allow [-ldug] everyone|user|group[,...] perm|@setname[,...] filesystem| volume
zfs allow [-ld] -e perm|@setname[,...] filesystem|volume
zfs allow -c perm|@setname[,...] filesystem|volume
zfs allow -s @setname perm|@setname[,...] filesystem|volume

zfs allow の構文と例の完全な説明については、zfs_allow(8) を参照してください。

zfs clone [-p] [-K] [-o property=value] ... snapshot filesystem|volume

指定したスナップショットのクローンを作成します。詳細は、「クローン」のセクションを参照してください。ターゲットのデータセットは、ZFS 階層内の任意の場所に配置できます。作成されたデータセットは元のデータセットと同タイプになります。

-p

存在しない親データセットをすべて作成します。この方法で作成されたデータセットは、それぞれの親から継承した mountpoint プロパティーに従って自動的にマウントされます。ターゲットのファイルシステムまたはボリュームがすでに存在する場合、処理は正常に完了します。

-o property=value

指定されたプロパティーを設定します。詳細は、zfs create を参照してください。

-K

詳細は、zfs_encrypt(8) を参照してください。

zfs create [-p] [-o property=value] ... filesystem

新しい ZFS ファイルシステムを作成します。ファイルシステムは、親から継承した mountpoint プロパティーに従って自動的にマウントされます。

-p

存在しない親データセットをすべて作成します。この方法で作成されたデータセットは、それぞれの親から継承した mountpoint プロパティーに従って自動的にマウントされます。Any property specified on the command line using the -o option is ignored.ターゲットのファイルシステムがすでに存在する場合、処理は正常に完了します。

-o property=value

データセットの作成時にコマンド zfs set property=value が呼び出された場合と同様に、指定されたプロパティーを設定します。編集可能なすべての ZFS プロパティーは、作成時にも設定可能です。複数の -o オプションを指定できます。An error results if the same property is specified in multiple -o options.

zfs create [-ps] [-b blocksize] [-o property=value] ... -V size volume

指定したサイズのボリュームを作成します。The volume is exported as a block device in /dev/zvol/{dsk,rdsk}/path, where path is the name of the volume in the ZFS namespace.このサイズは、デバイスによりエクスポートされる論理サイズを表します。デフォルトでは、同サイズの予約が作成されます。

size は、ボリュームが blocksize に関係なく整数のブロックを持つように、もっとも近い 128 K バイトに自動的に切り上げられます。

-p

存在しない親データセットをすべて作成します。この方法で作成されたデータセットは、それぞれの親から継承した mountpoint プロパティーに従って自動的にマウントされます。Any property specified on the command line using the -o option is ignored.ターゲットのファイルシステムがすでに存在する場合、処理は正常に完了します。

-s

予約なしで疎ボリュームを作成します。疎ボリュームの詳細は、「ネイティブプロパティー」のセクションの volsize を参照してください。

-o property=value

データセットが作成されるのと同時に zfs set property=value コマンドが起動されたかのように、指定されたプロパティーを設定します。編集可能なすべての ZFS プロパティーは、作成時にも設定可能です。複数の -o オプションを指定できます。An error results if the same property is specified in multiple -o options.

-b blocksize

Equivalent to -o volblocksize=blocksize.If this option is specified in conjunction with -o volblocksize, the resulting behavior is undefined.

zfs destroy [-rRsf] filesystem|volume

指定されたデータセットとそのすべてのスナップショットを破棄します。デフォルトでは、このコマンドは共有中のファイルシステムすべての共有を解除し、マウント中のファイルシステムすべてをアンマウントし、アクティブな依存関係 (子またはクローン) を持つデータセットの破棄を拒否します。デフォルトの動作では、呼び出し元に制御が返されたあとで、データセットによって占有されている領域が非同期に再利用されます。データセットの非同期破棄の進行状況は、zpool モニターコマンドを使用して確認できます。詳しくは、zpool(8) のマニュアルページを参照してください。

-r

すべての子を再帰的に破棄します。

-R

ターゲット階層外にあるクローンファイルシステムを含む、すべての依存関係を再帰的に破棄します。

-s

スナップショットを同期的に破棄します。デフォルトでは、コマンドが呼び出し元に返されたあとで、破棄されたデータセットが非同期に再利用されます。このオプションを指定すると、データセットによって占有されているブロックが完全に解放されるまで、制御は呼び出し元に返されません。

-f

unmount -f コマンドを使用してすべてのファイルシステムを強制的にアンマウントします。非ファイルシステムやアンマウントされたファイルシステムは、このオプションの影響を受けません。

Extreme care should be taken when applying either the -r or the -f options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use.

zfs destroy [-rRsd] snapshot

The given snapshot is destroyed immediately if and only if the zfs destroy command without the -d option would have destroyed it.このように破棄がただちに実行されるのは、たとえば、スナップショットにクローンがない場合や、ユーザーによる参照数がゼロだった場合です。

すぐに破棄される条件を満たしていないスナップショットには、削除が遅延されるようにマークが付けられます。この状態では、そのスナップショットは使用および表示が可能なスナップショットとして存在し、前述の両方の前提条件が満たされると、その時点で破棄されます。

-d

Defer snapshot deletion.

-r

子孫ファイルシステムでこの名前を持つすべてのスナップショットを破棄します (または削除が遅延されるようにマークが付けられます)。

-R

すべての依存関係を再帰的に破棄します。

-s

スナップショットを同期的に破棄します。デフォルトでは、コマンドが呼び出し元に返されたあとで、破棄されたデータセットが非同期に再利用されます。このオプションを指定すると、データセットによって占有されているブロックが完全に解放されるまで、制御は呼び出し元に返されません。

zfs destroy [share

指定したファイルシステムの共有が破棄されます。

zfs diff [-FHNqrte] [-o field] ... snapshot [snapshot | filesystem]
zfs diff -E [-FHNqrt] [-o field] ... snapshot | filesystem

スナップショットと子孫データセットとの差異に関する概要を表示します。子孫は、データセットのスナップショットか現在のデータセットのいずれかになります。

単一のスナップショットが指定された場合、そのスナップショットと現在のデータセットとの差異が表示されます。

元のスナップショットと子孫の間で変更があったファイルごとに、変更のタイプがファイルの名前とともに記述されます。名前の変更の場合、古い名前と新しい名前の両方が表示されます。ファイル名に含まれるスペース文字、バックスラッシュ文字、およびそのほかの非印字文字または非 7 ビット ASCII 文字は、バックスラッシュ文字のあとにそのバイト値を表す 3 桁の 8 進数が追加された形式で表示されます。

If the -t option is specified, the first column of output from the command is the file's st_ctim value.削除したファイルの場合、これは以前のスナップショットの最後の st_ctim になります。

変更のタイプはタイムスタンプのあとに表示され、単一の文字で記述されます。

+

以降のデータセットでファイルが追加されたことを示します。

-

以降のデータセットでファイルが削除されたことを示します。

M

以降のデータセットでファイルが変更されたことを示します。

R

以降のデータセットでファイルの名前が変更されたことを示します。

If the -F option is specified, the next column of output is a single character describing the type of the file.The mappings are:

F

標準ファイル

/

ディレクトリ

B

ブロック型デバイス

>

Door

|

FIFO

@

シンボリックリンク

P

Event portal

=

ソケット

変更箇所に非ディレクトリファイルのリンク数の変更が含まれる場合、その変更は差分が括弧に囲まれた形式で変更行に表示されます。If the file was renamed, the old name is separated from the new with the string ->.

If the -H option is selected, easier-to-parse output is produced.Fields are separated by a single tab, and no arrow string (->) is placed between the old and new names of a rename.No guarantees are made on the spacing between fields of non -H output.

If the -e option is selected, then all files added or modified between the two snapshots are enumerated and no deleted files are displayed.変更タイプは修正の種類にかかわらず、常に + と報告されます。

If the -E option is selected, then differences are given as if from an empty snapshot to the specified snapshot or dataset.

If the -r option is selected, the differences between the dataset and all the children datasets are displayed recursively.パラメータとしてスナップショットが指定されている場合は、そのスナップショット名がすべての子データセットに対して存在する必要があります。そうでない場合は、そのスナップショットを含んでいないデータセットに対して警告が発行されます。If the -q option is also selected, these warnings will be silenced.

If the -N option is selected with -r, then all the new child datasets added to the current dataset will be enumerated, along with the differences among the existing datasets.

If the -o field option is selected then only selected fields are displayed.Each line starts with the standard fields requested by the -F and -t options, followed by the fields requested in successive -o options.As with the -H option, all fields are separated by a single tab.次のフィールド名が許可されます。

object

The number printed by ls -i for the file

parent

The number printed by ls -i for enclosing directory of the file

size

The file size as displayed by ls -s

links

ファイルへのリンク数

linkschange

ファイルへのリンク数の変更

name

ファイルの名前

oldname

名前を変更する前のファイルの名前 (ファイルの名前が変更されていない場合は (ハイフン))

user

ls で表示されるファイルの所有者名

group

ls で表示されるファイルのグループ名

ctime

ファイルのメタデータが最後に変更されたときのタイムスタンプ

mtime

ファイルが最後に変更されたときのタイムスタンプ

atime

ファイルが最後にアクセスされたときのタイムスタンプ

crtime

ファイルが作成されたときのタイムスタンプ

mountpoint

マウントポイント名を表示します。

dataset_name

データセット名を表示します。

すでに {PRIV_SYS_CONFIG} または {PRIV_SYS_MOUNT} 特権を持っていないかぎり、このサブコマンドを使用するには zfs allow によって diff アクセス権が付与されている必要があります。

zfs get [-rHpe|-d max] [-o all | field[,...]] [-s source[,...]] [-I state,...] all | property[,...] filesystem|volume|snapshot|share ...

指定したデータセットのプロパティーを表示します。データセットが指定されていない場合、このコマンドはシステムのすべてのデータセットのプロパティーを表示します。プロパティーごとに、次の列が表示されます。

     name      Dataset name
     property  Property name
     value     Property value
     source    Property source. Can either be local, default,
               temporary, inherited, or none (-).

All columns except the RECEIVED column are displayed by default; specify particular or all columns, using the -o option.このコマンドには、「ネイティブプロパティー」および「ユーザープロパティー」で説明されているコンマ区切りのプロパティーリストを指定できます。

特殊な値 all を使って、指定したデータセットのタイプ (ファイルシステム、ボリューム、またはスナップショット) に適用されるプロパティーをすべて表示できます。

-r

任意の子のプロパティーを再帰的に表示します。

-H

スクリプトによる解析がより容易な形式で、出力を表示します。ヘッダーがすべて省略され、フィールドが任意の数のスペースではなく、タブ 1 つで明示的に区切られます。

-p

解析可能な (絶対) 値で数を表示します。

-e

プロパティーのサブリストを任意の深さまで展開します。

-d max

データセットのすべての子を再帰的に表示しますが、再帰の深さは depth に制限されます。深さ 1 の場合は、データセットとその直接の子だけが表示されます。

-o field

表示するフィールドのセット。次の 1 つ以上のフィールドを指定します。

name,property,value,received,source

複数のフィールドをコンマ区切りリストで表します。デフォルト値は次のとおりです:

name,property,value,source

キーワード all はすべてのソースを指定します。

-s source

表示するソースのコンマ区切りのリスト。このリストにないソースからのプロパティーは、無視されます。各ソースは、次のいずれかでなければなりません:

local,default,inherited,temporary,received,none

デフォルト値はすべてのソースです。

-I state

A comma-separated list of dataset states to display instead of the 'normal' datasets that are usually displayed.The state parameter can include the following non-normal states: receiving, resumable, hidden, or all.For instance, specifying -I resumable will display only resumable datasets.The state value 'all' will display datasets with receiving, resumable or hidden states.

zfs groupspace [-hniHp] [-o field[,...]] [-sS field]... [-t type [,...]] filesystem | snapshot

指定されたファイルシステムまたはスナップショットでの、各グループの消費容量および割り当てを表示します。This subcommand is identical to zfs userspace, except that the default types to display are -t posixgroup,smbgroup.

-
zfs hold [-r] tag snapshot ...

tag 引数で指定された単一の参照を、指定された 1 つ以上のスナップショットに追加します。個々のスナップショットには独自のタグ名前空間があり、その空間内でタグが一意である必要があります。

スナップショットに保持が設定されている場合、保持されたそのスナップショットを zfs destroy コマンドを使用して破棄しようすると、EBUSY が返されます。

-r

指定されたタグを持つ保持をすべての子孫ファイルシステムのスナップショットに再帰的に適用することを指定します。

zfs holds [-r] snapshot ...

指定された 1 つ以上のスナップショットについて、既存のユーザー参照をすべて一覧表示します。

-r

指定されたスナップショットでの保持を一覧表示するだけでなく、指定された子孫スナップショットで設定されている保持を一覧表示します。

zfs inherit [-rS] property filesystem|volume|snapshot|share ...

指定したプロパティーをクリアして、そのプロパティーが祖先から継承されるようにします。祖先にプロパティーが設定されていない場合は、デフォルト値が使用されます。デフォルト値のリスト、および継承可能なプロパティーの詳細については、「プロパティー」のセクションを参照してください。

-r

すべての子で指定したプロパティーを再帰的に継承します。

-S

受信したプロパティー値があれば、その値に戻します。If the property does not have a received value, the behavior of zfs inherit -S is the same as zfs inherit without -S.If the property does have a received value, zfs inherit masks the received value with the inherited value until zfs inherit -S reverts to the received value.

zfs key -l | {-a | [-r] filesystem|volume}
zfs key -u [-f] | {-a | [-r] filesystem | volume
zfs key -c [-o keysource=value] {-a | [-r] filesystem|volume}
zfs key -K {-a | [-r] filesystem|volume}

zfs key の構文と例の完全な説明については、zfs_encrypt(8) を参照してください。

zfs list [-rH|-d max] [-o property[,...]] [ -t type[,...]] [-I state,...][ -s property ] ... [ -S property ] ... [filesystem|volume|snapshot|share|path] ...

指定したデータセットのプロパティー情報を、表形式で表示します。指定した場合、プロパティー情報を絶対パス名または相対パス名で表示できます。デフォルトでは、すべてのファイルシステムとボリュームが表示されます。スナップショットは、listsnaps プロパティーが on の場合に表示されます。デフォルトは off です。listshares プロパティーが on の場合、共有が表示されます。nameusedavailablereferenced、および mountpoint の各フィールドが表示されます。

-H

スクリプティングモードで使用します。ヘッダーを出力せず、フィールドを任意のスペース文字ではなく単一のタブで区切ります。

-r

データセットのすべての子をコマンド行に再帰的に表示します。

-d depth

データセットのすべての子を再帰的に表示しますが、再帰は最大 depth に制限されます。深さ 1 の場合は、データセットとその直接の子だけが表示されます。

-o property

表示するプロパティーのコンマ区切りのリスト。次のプロパティーを指定する必要があります:

  • 「ネイティブプロパティー」のセクションで示したプロパティーのいずれか

  • A user property

  • データセット名を表示する値 name

  • ファイルシステムとボリュームの領域使用状況プロパティーを表示する値 space。This is a shortcut for specifying -o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume syntax.

-s property

プロパティーの値に基づいて、出力を列で昇順にソートするためのプロパティー。このプロパティーは、「プロパティー」のセクションで説明されているプロパティーのいずれか、またはデータセット名でソートするための特殊な値 name である必要があります。Multiple properties can be specified at one time using multiple -s property options.Multiple -s options are evaluated from left to right in decreasing order of importance.

次に、ソート基準の一覧を示します。

  • 数値型は、数値順にソートされます。

  • 文字列型は、アルファベット順にソートされます。

  • 行に適さない型は、指定したソート順に関係なく、その行がリテラルソート順のいちばん下になります。

  • ソートオプションを指定しない場合は、zfs list の既存の動作が維持されます。

-S property

Same as the -s option, but sorts by property in descending order.

-t type

A comma-separated list of types to display, where type is one of filesystem, snapshot, volume, share, or all.For example, specifying -t snapshot displays only snapshots.タイプ指定子の代わりに、fs (ファイルシステム)、snap (スナップショット)、および vol (ボリューム) の各別名を使用できます。

-I state

A comma-separated list of dataset states to display instead of the 'normal' datasets that are usually displayed.The state parameter can include the following non-normal states: receiving, resumable, hidden, or all.For instance, specifying -I resumable will display only resumable datasets.The state value 'all' will list all datasets in states other than the 'normal' state.

-p

正確な (解析可能な) 数値出力を使用します。

zfs mount

現在マウントされているすべての ZFS ファイルシステムを表示します。

zfs mount [-vOS] [-o options] -a | filesystem

ZFS ファイルシステムをマウントします。これは、ブートプロセスの一部として自動的に呼び出されます。

-o options

マウント時に一時的に使用する、コンマ区切りのマウントオプションリスト (オプション)。詳細は、「一時的なマウントポイントプロパティー」のセクションを参照してください。

-O

オーバーレイマウントを実行します。詳細については、mount(8) を参照してください。

-v

Report mount progress.

-a

使用可能なすべての ZFS ファイルシステムをマウントします。これは、ブートプロセスの一部として自動的に呼び出されます。

filesystem

指定されたファイルシステムをマウントします。

暗号化されたデータセットの zfs mount 操作では、keysource プロパティー値によっては鍵の入力が求められる場合があります。これは、たとえば keysource ロケータが prompt に設定されている場合に起こることがあります。

zfs promote clone-filesystem

特定のクローンファイルシステムへの移行を促し、そのファイルシステムがのスナップショットに依存しないようにします。これにより、そのクローンの作成元のファイルシステムを破棄できるようになります。クローンの親子依存関係が逆転し、元のファイルシステムが、指定されたファイルシステムのクローンになります。

クローンされたスナップショットと、そのスナップショットより前のすべてのスナップショットは、移行を促されたクローンによって所有されるようになります。それらが使用する領域は、元のファイルシステムから移行を促されたクローンに移されます。したがって、それらのスナップショットを収容するための十分な領域が必要です。この操作を行なっても新しい領域は消費されませんが、領域のアカウンティングは調整されます。移行を促されたクローンは、自身の相反するスナップショット名を持ってはいけません。rename サブコマンドを使えば、競合するスナップショット名を変更できます。

zfs receive [-vnFu] [[-o property=value] | [-x property]] ... filesystem|volume|snapshot
zfs receive [-vnFu] [[-o property=value] | [-x property]] ... [-d | -e] filesystem
zfs receive -C <filesystem|volume>

スナップショットを作成します。内容は、標準入力から受信したストリームの指定に基づきます。ストリーム全体を受信する場合、新しいファイルシステムも作成されます。ストリームは、デフォルトでは完全なストリームを作成する zfs send サブコマンドを使用すると作成されます。zfs receive の別名として zfs recv を使用できます。

増分ストリームが受信された場合、対象となるファイルシステムがすでに存在しており、かつその最新のスナップショットがその増分ストリームのソースに一致する必要があります。For ZFS volumes, the destination device link is destroyed and re-created, which means the volume cannot be accessed during the receive operation.

When a snapshot replication package stream that is generated by using the zfs send -R command is received, any snapshots that do not exist on the sending location are destroyed by using the zfs destroy -d command.If -o property=value or -x property is specified, it applies to the effective value of the property throughout the entire subtree of replicated datasets.有効なプロパティー値は、そのプロパティー、および複製されたサブツリーのいちばん上にデータセットがあるかどうかに応じて、設定または継承できます。Received properties are retained in spite of being overridden and may be restored with zfs inherit -rS or zfs send -Rb.

The name of the snapshot (and file system, if a full stream is received) that this subcommand creates depends on the argument type and the -d or -e option.

引数がスナップショット名の場合には、指定した snapshot が作成されます。この引数がファイルシステムまたはボリューム名である場合は、送信されたスナップショットと同じ名前を持つスナップショットが、指定された filesystem または volume 内に作成されます。If the -d or -e option is specified, the snapshot name is determined by appending the sent snapshot's name to the specified filesystem.If the -d option is specified, all but the pool name of the sent snapshot path is appended (for example, b/c@1 appended from sent snapshot a/b/c@1), and if the -e option is specified, only the tail of the sent snapshot path is appended (for example, c@1 appended from sent snapshot a/b/c@1).In the case of -d, any file systems needed to replicate the path of the sent snapshot are created within the specified file system.

-d

前の段落で説明したように、送信されたスナップショットパスの最初の要素を除くすべて (プール名を除くすべて) を使用して、新しいスナップショットの名前が決定されます。

-C

受信チェックポイントを標準出力に書き込みます。受信チェックポイントは、すでに受信したスナップショットの目次です。

-e

前の段落で説明したように、送信したスナップショットパスの最後の要素を使用して、新しいスナップショットの名前が決定されます。

-F

受信操作を実行する前に、ファイルシステムを最新のスナップショットに強制的にロールバックします。増分複製ストリーム (zfs send -R -[iI] で生成されたものなど) を受信する場合は、送信側に存在しないスナップショットとファイルシステムを破棄します。

This is not allowed on mandatory retention filesystems.

-n

ストリームを実際には受信しません。This can be useful in conjunction with the -v option to verify the name the receive operation would use.

ZFS は、ストリームで必要なファイルシステムとクローンが存在するかどうかを検証しません。そのため、シミュレーションされた受信が合格した場合でも、ストリームの依存関係が満たされていないために、実際の受信は失敗することがあります。

-o property=value

受信データセットが非増分の send ストリームから作成されるか、または増分の send ストリームから更新されたと同時に zfs set property=value コマンドが呼び出された場合と同様に、指定されたプロパティーを設定します。編集可能なすべての ZFS プロパティーは、受信時にも設定可能です。normalizationcasesensitivity など、受信データにバインドされ 1 回だけ設定されるプロパティーは、データセットが zfs receive によって新しく作成された場合でも、受信時には設定できません。複数の -o オプションを指定できます。An error results if the same property is specified in multiple -o or -x options.

-u

受信したストリームに関連付けられているファイルシステムをマウントしません。

-v

ストリームおよび受信操作の所要時間に関する詳細な情報を出力します。

-x property

receive のあとにある指定されたプロパティーの有効な値が、そのプロパティーが send ストリームから除外されている場合と同様に、send ストリーム内のそのプロパティー (もしあれば) の値に影響されないようにします。指定されたプロパティーが send ストリームに存在しない場合、このオプションは何も行いません。受信されたプロパティーを上書きする必要がある場合、有効な値をそのプロパティーに応じて設定または継承できます。In the case of an incremental update, -x leaves any existing local setting or explicit inheritance unchanged (since the received property is already overridden).All -o restrictions apply equally to -x.

zfs release [-r] tag snapshot...

tag 引数で指定された単一の参照を、指定された 1 つ以上のスナップショットから削除します。各スナップショットに対して、タグがすでに存在している必要があります。

スナップショットに保持が設定されている場合、保持されたそのスナップショットを zfs destroy コマンドを使用して破棄しようすると、EBUSY が返されます。

-r

指定されたタグを持つ保持をすべての子孫ファイルシステムのスナップショット上で再帰的に解除します。

zfs rename filesystem|volume|snapshot
filesystem|volume|snapshot
zfs rename [-p] filesystem|volume filesystem|volume

指定したデータセットの名前を変更します。スナップショットを除き、新規ターゲットは ZFS 階層内の任意の場所に配置できます。スナップショットの名前を変更できるのは、親のファイルシステムまたはボリューム内だけです。スナップショットの名前を変更する場合、スナップショットの親ファイルシステムを 2 番目の引数として指定する必要はありません。名前の変更されたファイルシステムは、新しいマウントポイントを継承できます。この場合、ファイルシステムは、アンマウントされてから新しいマウントポイントで再マウントされます。

All child ZFS datasets must be unmounted before the parent ZFS dataset can be renamed.子データセットをアンマウントできない場合、zfs はエラーを報告します。

$ zfs rename rpool/parent rpool/renamed
cannot unmount '/rpool/child': Device busy

このような状況では、次のアプローチでデータセットの名前を変更できます。

$ zfs snapshot rpool/parent@rename
$ zfs clone rpool/parent@rename rpool/renamed
$ zfs promote rpool/renamed
$ zfs destroy rpool/parent
$ zfs destroy rpool/renamed@rename

@rename スナップショットを作成したあと、rpool/parent に書き込まれたすべてのデータが失われることに注意してください。

ルートデータセットの名前の変更は許可されていません。ルートデータセットの名前は、プール名の変更によってのみ変更できます。それにより、ルートデータセットの名前が新しいプール名に変更されます。Use zpool export pool command and then zpool import pool newpoolname command to rename the root dataset to the new pool name.

-p

存在しない親データセットをすべて作成します。この方法で作成されたデータセットは、それぞれの親から継承した mountpoint プロパティーに従って自動的にマウントされます。

zfs rename -r snapshot snapshot

すべての子孫データセットのスナップショットの名前を再帰的に変更します。スナップショットは、再帰的に名前を変更できるデータセットにすぎません。

zfs rename share share

指定した共有の名前を新しい共有名に変更します。

zfs retained [-PMeuanr] [-A | -f | [-p] -o field[,...]] filesystem

Lists the files retained in the specified filesystem.

-P/-M

The -P and -M options select whether privileged (-P) or mandatory (-M) retention datasets are shown.If neither option is included, all are shown.

-e/-u

These options select whether expired (-e) or unexpired (-u) retention files are shown.If neither option is included, all are shown.

-a/-n

These options select whether automatic (-a) or non-automatic (-n) retention datasets are included.If neither option is included, all are shown.

-r

If the -r option is included, all descendent datasets with retained files are also displayed.

-A

If the -A option is included, retained files are listed including file information - mode, system attributes, crtime, mtime, ctime, rtime, uid, gid, then filename.Output fields are space-delimited with any spaces or backslashes preceded by a backslash (e.g. file "a b c" would be shown as "a\ b\ c").

-f

If the -f option is included, only the filenames are shown, with no dataset name, retention properties, or timestamps.

-p

Display the list of retained files in the pool specified using a stable machine-parseable format.詳細は、下の「解析可能な出力形式」を参照してください。

-o field[,...]

Display the specified field(s) in parseable format.Available fields are dataset, policy, automatic, mountpoint, filename, object, mode, sysattrs, size, uid, gid, crtime, mtime, ctime, rtime, and expired.

zfs rollback [-rRf] snapshot

指定したデータセットを以前のスナップショットにロールバックします。データセットをロールバックすると、スナップショット作成時から変更されたすべてのデータは破棄され、データセットがスナップショット作成時の状態に戻ります。デフォルトでは、このコマンドを使って、最新のスナップショット以外のスナップショットにロールバックすることはできません。In order to do so, all intermediate snapshots must be destroyed by specifying the -r option.

The -rR options do not recursively destroy the child snapshots of a recursive snapshot.これらのオプションはどちらも、最上位の再帰的スナップショットだけを破棄します。再帰的スナップショットを完全にロールバックするには、個々の子スナップショットをロールバックする必要があります。

Datasets with mandatory retention policy may not be rolled back.

-r

指定したスナップショット以降のスナップショットをすべて再帰的に破棄します。

-R

指定したスナップショット以降のスナップショットを再帰的に破棄するとともに、これらのスナップショットのクローンもすべて破棄します。

-f

Used with the -R option to force an unmount of any clone file systems that are to be destroyed.

zfs send [-vbpnC] [-[Rr[c]]] [-w compress|none] [-D [-m memsize]]
[-[iI] snapshot] [-s subopt] snapshot

2 番目の snapshot のストリーム表現を作成します。これは、標準出力に書き込まれます。出力は、ssh(1) などを使用すると、ファイルまたは別のシステムにリダイレクトできます。デフォルトでは、完全なストリームが生成されます。

-b

データセットが受信された場合にのみ、ローカル設定によって上書きされているかどうかに関係なく、受信したプロパティー値だけを送信します。zfs receive で、送信されたデータセット上でバックアップされた受信プロパティーを復元し、かつソースデータセットそのものではなくデータのバックアップ方法にのみ関係する可能性があるローカル設定を送信しないようにする場合に、このオプションを使用します。

-c

自己完結型ストリームを作成します。自己完結型ストリームとは、ストリームパッケージに含まれていないデータセットに依存しないストリームのことです。Valid with the -r and -R options.If used with the -R option and if clones are present, no snapshot preceding the clone origin will be included in the stream.If used with the -i or -I option, the stream will be dependent on the snapshot specified as an argument to the -i or -I option.

See Saving, Sending, and Receiving ZFS Data in Managing ZFS File Systems in Oracle Solaris 11.4 for details.

-C

標準入力から受信チェックポイントを読み取ります。受信チェックポイントは、正常に受信し、再度送信する必要がないスナップショットの目次です。

-D

ストリームで dedup 処理を実行します。複製解除されたストリームは、ストリームの複製解除機能をサポートしていないシステム上では受信できません。

See Saving, Sending, and Receiving ZFS Data in Managing ZFS File Systems in Oracle Solaris 11.4 to understand how a replication stream package differs from a recursive stream package.

-i snapshot

最初の snapshot から 2 番目の snapshot への増分ストリームを生成します。増分ソース (最初の snapshot) は、スナップショット名の最後のコンポーネント (たとえば、@ のあとの部分) として指定できます。これは、2 番目の snapshot と同じファイルシステムに由来すると見なされます。

宛先がクローンの場合、ソースとして元のスナップショットを指定できますが、完全な形式で指定する必要があります (たとえば、単に @origin と指定するのではなく、pool/fs@origin とする)。

-I snapshot

最初のスナップショットから 2 番目のスナップショットにすべての中間スナップショットを送信するストリームパッケージを生成します。たとえば、-I @a fs@d-i @a fs@b; -i @b fs@c; -i @c fs@d に似ています。増分ソーススナップショットは、-i オプションと同様に指定できます。

-n

ストリームを実際には送信しません。This option can also be used with the -v option to see what snapshots would have been sent.

-p

Use the -p option to include properties in the send stream without the -R option.詳細は、Applying Different Property Values to a ZFS Snapshot Stream in Managing ZFS File Systems in Oracle Solaris 11.4を参照してください。

-R

複製ストリームパッケージを生成し、指定されたファイルシステム、および指定されたスナップショットまでのすべての子孫ファイルシステムを複製します。受信時には、すべてのプロパティー、スナップショット、下位ファイルシステム、およびクローンが維持されます。

-i または -I フラグを -R フラグと組み合わせて使用すると、増分複製ストリームが生成されます。プロパティーの現在の値、および現在のスナップショット名とファイルシステム名は、ストリームの受信時に設定されます。このストリームが受信されたときに -F フラグが指定されている場合、送信側に存在しないスナップショットとファイルシステムは破棄されます。

When combined with the -c option, a self-contained replication stream package is created.クローンが存在する場合、クローンの起点より前のスナップショットはストリームに含まれません。If both the -c and -I options are used, file systems and volumes that do not have the snapshot specified with the -I option are sent as self-contained streams.

-r

再帰的ストリームパッケージを生成します。再帰的ストリームパッケージには、一連の完全ストリームまたは増分ストリームあるいはその両方が含まれています。受信時に、すべてのプロパティーおよび子孫ファイルシステムが保持されます。Unlike with the replication stream packages generated with the -R flag, intermediate snapshots are not preserved unless the intermediate snapshot is the origin of a clone that is included in the stream.

If the -i option is used in conjunction with the -r option, an incremental recursive stream is generated.プロパティーの現在の値、および現在のスナップショット名とファイルシステム名は、ストリームの受信時に設定されます。If the -F option is specified when this stream is received, snapshots and file systems that do not exist on the sending side are destroyed.The -I option cannot be used in conjunction with the -r option.

When combined with the -c option, a self-contained recursive stream package is created.If both the -c and -i options are used, file systems and volumes that do not have the snapshot specified with the -i option are sent as self-contained streams.

See Saving, Sending, and Receiving ZFS Data in Managing ZFS File Systems in Oracle Solaris 11.4 to understand how a recursive stream package differs from a replication stream package.

-s streamsize

The -s switch is used to specify a set of stream options that modify the format of the stream or the operation of the send command.後者のオプションは、前者のオプションよりも優先されます。どのオプションも、前に「no」を付けてオフにできます。For example -s nocheck requests the use of a stream format without per-record checksums.

Specifies that the size of the stream, in bytes, that will be output to stderr. -v suppresses the -s streamsize option.

-s check

出力ストリームが、事前に記録されたチェックサムを使用する送信ストリーム形式を使用することを指定します。この形式はシステム全体のデフォルトです。When an interrupted transfer is resumed by using a receive checkpoint (see zfs send -C), the use of the 'check' format before the outage enables the resumed transfer to preserve and reuse the portions of the interrupted snapshot that were already successfully received.

-s nocheck

出力ストリームが、事前に記録されたチェックサムを使用せずに従来の送信ストリーム形式を使用することを指定します。この形式は、新しい形式をサポートしない古いシステムへの送信に適しています。

-v

生成されたストリームパッケージに関する詳細な情報を表示します。

-w

compress 引数を指定します。The compressed filesystem blocks are sent compressed in the stream, that is, without decompressing them. compress also implicitly enables the -p option, and is mutually exclusive with the -D option.

The none argument disables the compress behaviour. none is the default argument, when the -w option is not specified.

-m memsize

適切な接尾辞を使用して、複製解除処理で使用されるメモリーの量をバイト数、K バイト数、M バイト数、または G バイト数で指定される値に制限します。たとえば、2G、2048M、2097152K、または 2147483648 とします。

-s memsize

複製解除のメモリーサイズ (バイト数) が stderr に出力されることを指定します。If both -s streamsize and -s memsize options are specified, the values are output on successive lines in the order specified on the command line. -s option is incompatible with -v option.

ストリームの形式が確定されました。ZFS の将来のバージョンで、使用しているストリームを受信できます。

snapshot 引数で指定されたスナップショットが存在している必要があります。If the -R or -r options are used then a recursive snapshot as specified by the snapshot argument should exist and will be sent recursively.特殊なケースが 2 つあります。第 1 に、適切な名前付きスナップショットが完全に欠落している子孫ファイルシステムツリーはスキップされ、送信ストリームに含められません。この場合、スキップされるスナップショットごとに、警告メッセージが出力されます。第 2 に、子孫ファイルシステムツリーが混在ステータスにある (つまり、子孫ファイルシステムツリーのルートにはリクエストされたスナップショットが見つからないが、その子ファイルシステムの 1 つまたは複数にリクエストされたスナップショットが含まれている) 場合、エラーが生成されて送信操作が終了します。

マルチレベルのファイルシステムのスナップショットを送信するには、ユーザーのプロセス認可上限が、mlslabel プロパティーで指定されたラベルよりも優位である必要があります。

zfs set [-r] property=value filesystem|volume|snapshot ...

プロパティーを、各データセット用に指定した値に設定します。一部のプロパティーのみ、編集可能です。設定可能なプロパティーおよび有効な値については、「プロパティー」のセクションを参照してください。数値は、正確な値として、または BKMGTPEZ の接尾辞 (それぞれ、バイト数、K バイト数、M バイト数、G バイト数、T バイト数、P バイト数、E バイト数、Z バイト数を示します) を使用して人間が読める形式で指定できます。スナップショットでユーザープロパティーを設定できます。詳細は、「ユーザープロパティー」のセクションを参照してください。

-r

子データセットのサブツリー全体に対して、設定の有効な値を再帰的に適用します。有効な値は、プロパティーに応じて設定または継承できます。Use the zfs help -l properties command to review whether a property is settable or inheritable.

zfs share [-u] -o property=value ... filesystem%share
zfs share filesystem|mountpoint|filesystem%share
zfs share -a | filesystem

zfs share の構文と例および share.nfs または share.smb プロパティーの設定の完全な説明については、zfs_share(8) を参照してください。

zfs snapshot [-r] [-o property=value] ... filesystem@snapname|volume@snapname

指定した名前のスナップショットを作成します。正常なシステムコールによってファイルシステムに加えられた以前の変更はすべて、スナップショットに含まれます。zfs snapshot の別名として zfs snap を使用できます。詳細は、「スナップショット」のセクションを参照してください。

-r

すべての子孫データセットのスナップショットを再帰的に作成します。スナップショットは原子的に取得されるため、再帰的スナップショットはすべて同じ時点のものになります。

-o property=value

指定されたプロパティーを設定します。詳細は、zfs create を参照してください。

zfs unallow [-rldug] everyone|user|group[,...] [perm|@setname[, ...]] filesystem|volume
zfs unallow [-rld] -e [perm|@setname [,...]] filesystem|volume
zfs unallow [-r] -c [perm|@setname[,...]]
filesystem|volume
zfs unallow [-r] -s @setname [perm|@setname[,...]]
filesystem|volume

zfs unallow の構文と例の完全な説明については、zfs_allow(8) を参照してください。

zfs unmount [-f] -a | filesystem|mountpoint

現在マウントされている ZFS ファイルシステムをアンマウントします。これは、シャットダウンプロセスの一部として自動的に呼び出されます。

-f

Forcibly unmount the file system, even if it is currently in use.

-a

使用可能なすべての ZFS ファイルシステムをアンマウントします。これは、ブートプロセスの一部として自動的に呼び出されます。

filesystem|mountpoint

指定されたファイルシステムをアンマウントします。このコマンドには、システム上の ZFS ファイルシステムのマウントポイントのパスを指定することもできます。

暗号化されたデータセットの場合、ファイルシステムがアンマウントされているときには、鍵の読み込みは解除されません。鍵を読み込み解除するには、zfs key を参照してください。

zfs unshare filesystem|mountpoint|filesystem%share
zfs unshare -a | -r filesystem

zfs unshare の構文と例の完全な説明については、zfs_share(8) を参照してください。

zfs upgrade

ファイルシステムバージョンを指定します。このバージョンによって、現在実行中のソフトウェアリリースで使用可能なファイルシステム機能が決まります。古いファイルシステムバージョンを使用し続けることはできますが、一部の機能が使用できなくなる可能性があります。A file system can be upgraded by using the zfs upgrade -a command.以前のソフトウェアバージョンを実行しているシステムで、以降のバージョンのファイルシステムにアクセスすることはできません。

zfs upgrade [-v]

現在のソフトウェアでサポートされている ZFS ファイルシステムのバージョンを表示します。現在の ZFS ファイルシステムのバージョンおよびサポートされる以前のバージョンすべてが、各バージョンで提供される機能に関する説明とともに表示されます。

zfs upgrade [-r] [-V version] [-a | filesystem]

ファイルシステムを新しいディスク上バージョンにアップグレードします。ファイルシステムをアップグレードすると、古いソフトウェアバージョンを実行しているシステムではアクセスできなくなります。新しいファイルシステムのスナップショットから生成された zfs send ストリームは、古いソフトウェアバージョンを実行しているシステムではアクセスできません。

一般に、ファイルシステムのバージョンはプールのバージョンとは無関係です。zpool upgrade コマンドについては、zpool(8) を参照してください。

場合によっては、ファイルシステムのバージョンとプールのバージョンが相互に関連しており、ファイルシステムのバージョンをアップグレードする前にプールのバージョンをアップグレードする必要があります。

-a

インポートされたすべてのプールのファイルシステムをすべてアップグレードします。

filesystem

指定されたファイルシステムをアップグレードします。

-r

指定されたファイルシステムおよびすべての子孫ファイルシステムをアップグレードします。

-V version

指定された version にアップグレードします。If the -V flag is not specified, this command upgrades to the most recent version.このオプションは、バージョン番号を増やす場合にのみ使用できます。また、指定できるのは、このソフトウェアでサポートされている最新のバージョンまでです。

zfs userspace [-hniHp] [-o field[,...]] [-sS field]... [-t type [,...]] filesystem | snapshot

指定されたファイルシステムまたはスナップショットでの、各ユーザーの消費容量および割り当てを表示します。This corresponds to the userused@user and userquota@user properties.

-h

構文ヘルプメッセージを表示して終了します。

-n

ユーザー名やグループ名の代わりに数値 ID を出力します。

-H

ヘッダーを出力せず、タブ区切りの出力を使用します。

-p

正確な (解析可能な) 数値出力を使用します。

-o field[,...]

type,name,used,quota のセットから、指定されたフィールドのみを表示します。デフォルトでは、すべてのフィールドが表示されます。

-s field

出力をこのフィールドでソートします。最初にあるフィールドでソートし、次に別のフィールドでソートするには、s および S フラグを複数回指定できます。The default is -s type -s name.

-S field

このフィールドで逆順にソートします。See -s.

-t type[,...]

all,posixuser,smbuser,posixgroup,smbgroup のセットから、指定されたタイプのみを出力します。

The default is -t posixuser,smbuser

デフォルトを変更してグループタイプを含めることもできます。

-i

SID を POSIX ID に変換します。マッピングが存在しない場合、POSIX ID は一時的なものになることがあります。Normal POSIX interfaces (for example, stat(2), ls -l) perform this translation, so the -i option allows the output from zfs userspace to be compared directly with those utilities.However, -i may lead to confusion if some files were created by an SMB user before a SMB-to-POSIX name mapping was established.そのような場合は、SMB エンティティーが所有するファイルと、POSIX エンティティーが所有するファイルが混在します。However, the -i option will report that the POSIX entity has the total usage and quota for both.

Parseable Output Format

The zpool retained command provides a -p option that displays output in a machine-parseable format.この出力形式は、コロン (:) で区切られたフィールドで構成された 1 つ以上の行です。Output includes only those fields requested by means of the -o option, in the order requested.

複数のフィールドをリクエストした場合、すべてのコロン文字は、バックスラッシュ (\) でエスケープされてから出力されます。同様に、バックスラッシュ文字もエスケープされます (\\)。このエスケープ形式は、環境変数 IFS=: を設定したシェルの read(1) 関数を使って解析できます。1 つのフィールドのみを要求した場合はエスケープが実行されないことに注意してください。

使用例 1 ZFS ファイルシステム階層を作成する

次のコマンドは、pool/home という名前のファイルシステムと、pool/home/bob という名前のファイルシステムを作成します。マウントポイント /export/home が親のファイルシステムに対して設定され、子のファイルシステムによって自動的に継承されます。

# zfs create pool/home
# zfs set mountpoint=/export/home pool/home
# zfs create pool/home/bob
使用例 2 ZFS スナップショットを作成する

次のコマンドは、yesterday という名前のスナップショットを作成します。このスナップショットは、要求に応じて、pool/home/bob ファイルシステムのルートにある .zfs/snapshot ディレクトリにマウントされます。

# zfs snapshot pool/home/bob@yesterday
使用例 3 複数のスナップショットを作成および破棄する

次のコマンドは、pool/home とそのすべての子孫ファイルシステムの yesterday という名前のスナップショットを作成します。各スナップショットは必要に応じて、そのファイルシステムのルートの .zfs/snapshot ディレクトリにマウントされます。2 つ目のコマンドは、新しく作成されたスナップショットを破棄します。

# zfs snapshot -r pool/home@yesterday
# zfs destroy -r pool/home@yesterday
使用例 4 ファイルシステムの圧縮を無効化および有効化する

次のコマンドは、pool/home 次のすべてのファイルシステムで compression プロパティーを無効にします。次のコマンドは、pool/home/anne に対して compression を明示的に有効にします。

# zfs set compression=off pool/home
# zfs set compression=on pool/home/anne
使用例 5 ZFS データセットの一覧表示

次のコマンドは、システム内のアクティブなファイルシステムをすべて一覧表示します。スナップショットは、listsnaps プロパティーが on の場合に表示されます。デフォルトは off です。listshares プロパティーが on の場合、共有が表示されます。プールプロパティーの詳細は、zpool(8) を参照してください。

# zfs list
   NAME                      USED  AVAIL  REFER  MOUNTPOINT
   pool                      450K   457G    18K  /pool
   pool/home                 315K   457G    21K  /export/home
   pool/home/anne             18K   457G    18K  /export/home/anne
   pool/home/bob             276K   457G   276K  /export/home/bob
使用例 6 ZFS ファイルシステムに割り当てを設定する

次のコマンドは、pool/home/bob に 30GB の割り当てを設定します。

# zfs set quota=30G pool/home/bob
使用例 7 ZFS プロパティーの一覧表示

次のコマンドは、pool/home/bob のプロパティーをすべて一覧表示します。

# zfs get all pool/home/bob
NAME           PROPERTY              VALUE                  SOURCE
pool/home/bob  aclinherit            restricted             default
pool/home/bob  aclmode               discard                default
pool/home/bob  atime                 on                     default
pool/home/bob  available             30.0G                  -
pool/home/bob  canmount              on                     default
pool/home/bob  casesensitivity       mixed                  -
pool/home/bob  checksum              on                     default
pool/home/bob  compression           on                     local
pool/home/bob  compressratio         1.00x                  -
pool/home/bob  copies                1                      default
pool/home/bob  creation              Tue Jul  3 10:39 2012  -
pool/home/bob  dedup                 off                    default
pool/home/bob  devices               on                     default
pool/home/bob  encryption            off                    -
pool/home/bob  exec                  on                     default
pool/home/bob  keychangedate         -                      default
pool/home/bob  keysource             none                   default
pool/home/bob  keystatus             none                   -
pool/home/bob  logbias               latency                default
pool/home/bob  mlslabel              none                   -
pool/home/bob  mounted               yes                    -
pool/home/bob  mountpoint            /pool/home/bob         default
pool/home/bob  multilevel            off                    -
pool/home/bob  nbmand                off                    default
pool/home/bob  normalization         none                   -
pool/home/bob  primarycache          all                    default
pool/home/bob  quota                 30G                    local
pool/home/bob  readonly              off                    default
pool/home/bob  recordsize            128K                   default
pool/home/bob  referenced            31K                    -
pool/home/bob  refquota              none                   default
pool/home/bob  refreservation        none                   default
pool/home/bob  rekeydate             -                      default
pool/home/bob  reservation           none                   default
pool/home/bob  rstchown              on                     default
pool/home/bob  secondarycache        all                    default
pool/home/bob  setuid                on                     default
pool/home/bob  shadow                none                   -
pool/home/bob  share.*               ...                    inherited
pool/home/bob  snapdir               hidden                 default
pool/home/bob  sync                  standard               default
pool/home/bob  type                  filesystem             -
pool/home/bob  used                  31K                    -
pool/home/bob  usedbychildren        0                      -
pool/home/bob  usedbydataset         31K                    -
pool/home/bob  usedbyrefreservation  0                      -
pool/home/bob  usedbysnapshots       0                      -
pool/home/bob  utf8only              off                    -
pool/home/bob  version               6                      -
pool/home/bob  vscan                 off                    default
pool/home/bob  xattr                 on                     default
pool/home/bob  zoned                 off                    default

次のコマンドは、プロパティー値を 1 つ取得します。

# zfs get -H -o value compression pool/home/bob
on

次のコマンドは、pool/home/bob のローカル設定を持つすべてのプロパティーを一覧表示します。

# zfs get -r -s local -o name,property,value all pool/home/bob

NAME            PROPERTY  VALUE
pool/home/bob   compression  on
pool/home/bob   quota     30G
使用例 8 ZFS ファイルシステムをロールバックする

次のコマンドは、pool/home/anne の内容を yesterday という名前のスナップショットに戻し、中間のスナップショットをすべて削除します。

# zfs rollback -r pool/home/anne@yesterday
使用例 9 ZFS クローンを作成する

次のコマンドは、初期内容が pool/home/bob@yesterday と同一の書き込み可能なファイルシステムを作成します。

# zfs clone pool/home/bob@yesterday pool/clone
使用例 10 ZFS クローンの移行を促す

次の各コマンドは、クローン、クローンの移行の促進、および名前変更を実行することで、あるファイルシステムに対する変更内容をテストしたあと、その変更後のファイルシステムで元のファイルシステムを置き換える方法を示しています。

# zfs create pool/project/production
  populate /pool/project/production with data
# zfs snapshot pool/project/production@today
# zfs clone pool/project/production@today pool/project/beta
make changes to /pool/project/beta and test them
# zfs promote pool/project/beta
# zfs rename pool/project/production pool/project/legacy
# zfs rename pool/project/beta pool/project/production
once the legacy version is no longer needed, it can be destroyed
# zfs destroy pool/project/legacy
使用例 11 Inheriting ZFS Properties

次のコマンドでは、pool/home/bobpool/home/anne が親の checksum プロパティーを継承します。

# zfs inherit checksum pool/home/bob pool/home/anne
使用例 12 ZFS データをリモートで複製する

次のコマンドは、リモートマシンに最初にストリーム全体、次に増分ストリームを送信し、それらをそれぞれ poolB/received/fs@apoolB/received/fs@b に復元します。poolB にはファイルシステム poolB/received を含める必要があり、最初に poolB/received/fs を含めてはいけません。

# zfs send pool/fs@a | \
   ssh host zfs receive poolB/received/fs@a
# zfs send -i a pool/fs@b | ssh host \
   zfs receive poolB/received/fs

上の構文では sshd でリモートルートアクセスを許可するように構成されているものとします。

使用例 13 Using the zfs receive -d Option

次のコマンドは、poolA/fsA/fsB@snap のストリーム全体をリモートマシンに送信し、poolB/received/fsA/fsB@snap 内に受信します。受信されたスナップショットの名前の fsA/fsB@snap 部分は、送信されたスナップショットの名前から決定されます。poolB には、ファイルシステム poolB/received を含める必要があります。poolB/received/fsA が存在しない場合は、空のファイルシステムとして作成されます。

# zfs send poolA/fsA/fsB@snap | \
   ssh host zfs receive -d poolB/received
使用例 14 Setting User Properties

The following example sets the user-defined com.example:department property for a dataset.

# zfs set com.example:department=12345 tank/accounting
使用例 15 ローリングスナップショットを実行する

次の例は、一貫性のある命名方式でスナップショットの履歴を維持する方法を示しています。1 週間分のスナップショットを保持するために、ユーザーは次のように、もっとも古いスナップショットを破棄し、残りのスナップショットの名前を変更してから、新しいスナップショットを作成します。

# zfs destroy -r pool/users@7daysago
# zfs rename -r pool/users@6daysago @7daysago
# zfs rename -r pool/users@5daysago @6daysago
# zfs rename -r pool/users@4daysago @5daysago
# zfs rename -r pool/users@3daysago @4daysago
# zfs rename -r pool/users@2daysago @3daysago
# zfs rename -r pool/users@yesterday @2daysago
# zfs rename -r pool/users@today @yesterday
# zfs snapshot -r pool/users@today
使用例 16 ZFS スナップショットの差異を表示する

The following example is output of the zfs diff -F and -t options specified:

# zfs diff -Ft myfiles@snap1
1269962501.206726811   M   /   /myfiles/
1269962444.207369955   M   F   /myfiles/link_to_me      (+1)
1269962499.207519034   R       /myfiles/rename_me -> /myfiles/renamed
1269962431.813566720   -   F   /myfiles/delete_me
1269962518.666905544   +   F   /myfiles/new_file
1269962501.393099817   +   |   /myfiles/new_pipe
使用例 17 Resuming an Interrupted Send/Receive

Request that the dataset hierarchy at dst/fs on system target be made to match the source hierarchy src/fs as of the recursive snapshot @TOSNAP:

# zfs send -R src/fs@TOSNAP | \
   ssh target zfs receive -F dst/fs

If the above command is interrupted, request the transfer be resumed where it left off:

# ssh target zfs receive -C dst/fs | \
   zfs send -RC src@TOSNAP | \
   ssh target zfs receive -F dst/fs

Similarly, to request that a dataset hierarchy dst/fs on system target that already matches the source hierarchy as of recursive snapshot @FROMSNAP now be incrementally updated to match the new source recursive snapshot @TOSNAP:

# zfs send -R -I src/fs@FROMSNAP src/fs@TOSNAP | \
   ssh target zfs receive -F dst/fs

If the above incremental update is interrupted, request the transfer be resumed where it left off:

# ssh target zfs receive -C dst/fs | \
  zfs send -RC -I src/fs@FROMSNAP src/fs@TOSNAP | \
  ssh target zfs receive -F dst/fs
使用例 18 Display Incomplete Datasets
# zfs list -I all tank/dest
   NAME                 USED  AVAIL  REFER  TYPE        STATE
   tank/dest/one/%now   521M   120G   521M  volume      receiving
   tank/dest/two       33.8M   120G  33.8M  filesystem  resumable
使用例 19 Destroy Resumable Datasets

Resumable datasets that will never be resumed can be destroyed to release space.Care should be taken to make sure the correct datasets are listed and that the incompletely received data will never be resumed.Then the following command will remove the resumable datasets:

# zfs list -HI resumable -o name tank/dest | \
   xargs -i -n1 zfs destroy "{}"

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

エラーが発生しました。

2

無効なコマンド行オプションが指定された。

3

致命的なエラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/file-system/zfs
インタフェースの安定性
確実

関連項目

chmod(1), chown(1), gzip(1), pktool(1), setlabel(1), ssh(1), chmod(2), chown(2), stat(2), write(2), fsync(3C), setflabel(3TSOL), dfstab(5), vfstab(5), attributes(7), datasets(7), filesystem(7), sysattr(7), mount(8), shadowd(8), share(8), share_nfs(8), share_smb(8), unshare(8), zfs_allow(8), zfs_encrypt(8), zfs_share(8), zonecfg(8), zpool(8)

For information about other ZFS features, see zfs_allow(8), zfs_encrypt(8), zfs_share(8), and the Managing ZFS File Systems in Oracle Solaris 11.4 book.

警告

Files in filesystems with mandatory retention that are retained but the retention has not yet expired will prevent destruction of their containing filesystem.There is no privilege which will allow this to be overridden

diff サブコマンドによって変更されたことが示されているファイルは、複数の方法で変更された可能性があります。変更箇所の報告は、st_ctim の変更の原因となったあらゆるアクション (stat(2) を参照) に基づいて行われます。