ZFS ファイルシステムは、zfs create および zfs destroy コマンドを使って作成および破棄できます。zfs rename コマンドを使用して、ZFS ファイルシステムの名前を変更できます。
ZFS ファイルシステムの作成には、zfs create コマンドを使用します。create サブコマンドの引数は 1 つだけです。作成するファイルシステムの名前です。ファイルシステム名は、次のようにプール名から始まるパス名として指定します。
pool-name/[filesystem-name/]filesystem-name
パスのプール名と最初のファイルシステム名は、新規ファイルシステムを階層内のどこに作成するかを示しています。パスの最後にある名前は、作成するファイルシステムの名前です。ファイルシステム名は、「ZFS コンポーネントに名前を付けるときの規則」の命名要件に従って付ける必要があります。
次の例では、bonwick という名前のファイルシステムが tank/home ファイルシステムに作成されます。
# zfs create tank/home/bonwick |
新しく作成するファイルシステムが正常に作成されると、自動的にマウントされます。ファイルシステムは、デフォルトでは create サブコマンドのファイルシステム名に指定したパスを使って、 /dataset としてマウントされます。この例では、新しく作成した bonwick ファイルシステムは /tank/home/bonwick にマウントされます。自動的に管理されるマウントポイントの詳細については、「ZFS マウントポイントを管理する」を参照してください。
zfs create コマンドの詳細については、zfs(1M) を参照してください。
ファイルシステムの作成時にファイルシステムのプロパティーを設定できます。
次の例では、tank/home ファイルシステム用に /export/zfs というマウントポイントが作成されます。
# zfs create -o mountpoint=/export/zfs tank/home |
ファイルシステムのプロパティーの詳細については、「ZFS のプロパティーの紹介」を参照してください。
ZFS ファイルシステムを破棄するには、zfs destroy コマンドを使用します。破棄されたファイルシステムは、マウントおよび共有が自動的に解除されます。自動的に管理されるマウントおよび共有の詳細については、「自動マウントポイント」を参照してください。
次の例では、tabriz ファイルシステムが破棄されます。
# zfs destroy tank/home/tabriz |
destroy サブコマンドでは、確認を求めるプロンプトは表示されません。慎重に使用してください。
破棄するファイルシステムがビジー状態でマウントを解除できない場合、zfs destroy コマンドは失敗します。アクティブなファイルシステムを破棄する場合は、-f オプションを使用します。このオプションは慎重に使用してください。アクティブなファイルシステムのマウント解除、共有解除、および破棄も実行することができ、その場合はアプリケーションが予期しない動作をすることがあります。
# zfs destroy tank/home/ahrens cannot unmount 'tank/home/ahrens': Device busy # zfs destroy -f tank/home/ahrens |
zfs destroy コマンドは、ファイルシステムに子孫が存在する場合にも失敗します。ファイルシステムとそのすべての子孫を再帰的に破棄するときは、-r オプションを使用します。再帰的な破棄を実行すると、スナップショットも破棄されるので、このオプションは慎重に使用してください。
# zfs destroy tank/ws cannot destroy 'tank/ws': filesystem has children use '-r' to destroy the following datasets: tank/ws/billm tank/ws/bonwick tank/ws/maybee # zfs destroy -r tank/ws |
破棄するファイルシステムに間接的な依存関係が存在する場合は、再帰的な破棄コマンドでも失敗します。破棄する階層の外部に複製されたファイルシステムなど、すべての依存関係を強制的に破棄する場合は、-R オプションを使用する必要があります。このオプションは、慎重に使用してください。
# zfs destroy -r tank/home/schrock cannot destroy 'tank/home/schrock': filesystem has dependent clones use '-R' to destroy the following datasets: tank/clones/schrock-clone # zfs destroy -R tank/home/schrock |
zfs destroy コマンドの -f、-r、または -R オプションでは、確認を求めるプロンプトは表示されないので、これらのオプションは慎重に使用してください。
スナップショットおよびクローンの詳細については、第 7 章Oracle Solaris ZFS のスナップショットとクローンの操作を参照してください。
zfs rename コマンドを使用して、ファイルシステムの名前を変更できます。rename サブコマンドを使用すれば、次の操作を実行できます。
ファイルシステムの名前を変更する。
ZFS 階層内でファイルシステムの場所を移動する。
ファイルシステムの名前を変更して、ZFS 階層内で場所を移動する。
次の例では、rename サブコマンドを使ってファイルシステムの名前を kustarz から kustarz_old に変更しています。
# zfs rename tank/home/kustarz tank/home/kustarz_old |
次の例では、zfs rename を使用してファイルシステムの場所を移動する方法を示しています。
# zfs rename tank/home/maybee tank/ws/maybee |
この例では、maybee ファイルシステムの場所が tank/home から tank/ws に移動します。名前の変更を使ってファイルの場所を移動するときは、新しい場所は同じプールの中にする必要があり、新しいファイルシステムを格納するために十分なディスク領域が存在している必要があります。割り当て制限に達したなどの理由で新しい場所のディスク容量が不足していると、rename 操作は失敗します。
割り当て制限の詳細については、「ZFS の割り当て制限と予約を設定する」を参照してください。
rename を実行すると、ファイルシステムおよび子孫のファイルシステム (存在する場合) をマウント解除して再マウントしようとする処理が行われます。アクティブなファイルシステムのマウントを解除できない場合、rename コマンドは失敗します。この問題が発生した場合は、ファイルシステムを強制的にマウント解除する必要があります。
スナップショットの名前を変更する方法については、「ZFS スナップショットの名前を変更する」を参照してください。