デフォルトで、ZFS ファイルシステムは作成時に自動的にマウントされます。この節で説明するように、ユーザーはファイルシステムの特定のマウントポイント動作を決定することができます。
zpool create の -m オプションを使用すれば、プールを作成するときにプールのデータセットのデフォルトマウントポイントを設定することもできます。プールの作成の詳細については、「ZFS ストレージプールを作成する」を参照してください。
すべての ZFS ファイルシステムは、ZFS の起動時にサービス管理機能 (SMF) の svc://system/filesystem/local サービスを使用してマウントされます。ファイルシステムは、/path にマウントされます。path はファイルシステムの名前です。
デフォルトのマウントポイントを上書きするには、zfs set コマンド使って mountpoint プロパティーを特定のパスに設定します。ZFS では、zfs mount -a コマンドが呼び出されるときに、指定されたマウントポイントが必要に応じて自動的に作成され、関連付けられたファイルシステムが自動的にマウントされます。/etc/vfstab ファイルを編集する必要はありません。
mountpoint プロパティーは継承されます。たとえば、pool/home の mountpoint プロパティーが /export/stuff に設定されている場合、pool/home/user は mountpoint プロパティー値の /export/stuff/user を継承します。
ファイルシステムがマウントされないようにするには、mountpoint プロパティーを none に設定します。さらに、canmount プロパティーを使えば、ファイルシステムをマウント可能にするかどうかを制御できます。canmount プロパティーの詳細については、「canmount プロパティー」を参照してください。
また、従来のマウントインタフェース経由でファイルシステムを明示的に管理することもできます。それには、zfs set を使って mountpoint プロパティーを legacy に設定します。このようにすると、ファイルシステムが自動的にマウントおよび管理されなくなります。代わりに、mount や umount コマンドなどのレガシーツールと、/etc/vfstab ファイルを使用する必要があります。レガシーマウントの詳細については、「レガシーマウントポイント」を参照してください。
mountpoint プロパティーを legacy または none から特定のパスに変更すると、ZFS はそのファイルシステムを自動的にマウントします。
ファイルシステムが ZFS によって管理されているのにそのマウントが現在解除されている場合は、mountpoint プロパティーを変更しても、そのファイルシステムのマウントは解除されたままになります。
mountpoint プロパティーが legacy に設定されていないデータセットは、すべて ZFS によって管理されます。次の例では、作成されたデータセットのマウントポイントが ZFS によって自動的に管理されます。
# zfs create pool/filesystem # zfs get mountpoint pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mountpoint /pool/filesystem default # zfs get mounted pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mounted yes - |
次の例に示すように、mountpoint プロパティーを明示的に設定することもできます。
# zfs set mountpoint=/mnt pool/filesystem # zfs get mountpoint pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mountpoint /mnt local # zfs get mounted pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mounted yes - |
mountpoint プロパティーを変更すると、ファイルシステムが古いマウントポイントから自動的にマウント解除されて、新しいマウントポイントに再マウントされます。マウントポイントのディレクトリは必要に応じて作成されます。ファイルシステムがアクティブであるためにマウント解除できない場合は、エラーが報告され、手動で強制的にマウント解除する必要があります。
mountpoint プロパティーを legacy に設定することで、ZFS ファイルシステムをレガシーツールを使って管理することができます。レガシーファイルシステムは、mount と umount コマンド、および /etc/vfstab ファイルを使用して管理する必要があります。レガシーファイルシステムは、ZFS が起動するときに自動的にマウントされません。ZFS の mount および umount コマンドは、この種類のデータセットでは使用できません。次の例では、ZFS データセットをレガシーモードで設定および管理する方法を示しています。
# zfs set mountpoint=legacy tank/home/eschrock # mount -F zfs tank/home/eschrock /mnt |
起動時にレガシーファイルシステムを自動的にマウントするには、/etc/vfstab ファイルにエントリを追加する必要があります。次に、/etc/vfstab ファイル内のエントリの例を示します。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # tank/home/eschrock - /mnt zfs - yes - |
device to fsck エントリと fsck pass エントリは - に設定されていますが、これは、fsck コマンドが ZFS ファイルシステムで使用できないからです。ZFS データの整合性の詳細については、「トランザクションのセマンティクス」を参照してください。