Oracle Solaris ZFS 管理ガイド

設定可能な ZFS ネイティブプロパティー

設定可能なネイティブプロパティーとは、値の取得および設定ができるプロパティーのことです。設定可能なネイティブプロパティーは、zfs set コマンド (説明は 「ZFS プロパティーを設定する」を参照) または zfs create コマンド (説明は 「ZFS ファイルシステムを作成する」を参照) を使って設定します。設定可能なネイティブプロパティーは、割り当て制限と予約を除いて継承されます。割り当て制限と予約の詳細については、「ZFS の割り当て制限と予約を設定する」を参照してください。

一部の設定可能なネイティブプロパティーは、特定の種類のデータセットに固有です。このような場合は、データセットの種類について、表 6–1 の説明の中で記載しています。特に記載している場合を除いて、プロパティーはすべての種類のデータセットに適用されます。 つまり、ファイルシステム、ボリューム、クローン、およびスナップショットに適用されます。

次のプロパティーは設定可能です。説明は、表 6–1 を参照してください。

canmount プロパティー

canmount プロパティーを off に設定した場合は、zfs mount または zfs mount -a コマンドを使ってファイルシステムをマウントすることはできません。このプロパティーを off に設定することは、mountpoint プロパティーを none に設定することに似ていますが、継承可能な通常の mountpoint プロパティーをデータセットが引き続き保持する点が異なります。たとえば、このプロパティーを off に設定して、子孫のファイルシステム用に継承可能なプロパティーを確立できますが、親ファイルシステム自体がマウントされることもなければ、ユーザーがそれにアクセスすることもできません。この場合、親のファイルシステムは「コンテナ」の役目を果たしているため、そのコンテナにプロパティーを設定することはできますが、コンテナ自体にはアクセスできません。

次の例では、userpool が作成され、その canmount プロパティーが off に設定されます。子孫のユーザーファイルシステムのマウントポイントは、 1 つの共通したマウントポイント /export/home に設定されます。親のファイルシステムに設定されたプロパティーは子孫のファイルシステムに継承されますが、親のファイルシステム自体がマウントされることはありません。


# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

canmount プロパティーを noauto に設定した場合、データセットは明示的にマウントする必要があり、自動的にはマウントできません。この値設定は Oracle Solaris アップグレードソフトウェアで使用され、アクティブなブート環境に属するデータセットだけが起動時にマウントされるようにします。

recordsize プロパティー

recordsize プロパティーは、ファイルシステムに格納するファイルの推奨ブロックサイズを指定します。

このプロパティーは、レコードサイズが固定されているファイルにアクセスするデータベースワークロードだけで使用するように設計されています。ZFS では、標準的なアクセスパターンに最適化された内部アルゴリズムに従って、ブロックサイズが自動的に調整されます。作成されるファイルのサイズが大きく、それらのファイルにさまざまなパターンの小さなブロック単位でアクセスするデータベースの場合には、このようなアルゴリズムが最適でないことがあります。recordsize にデータベースのレコードサイズ以上の値を設定すると、パフォーマンスが大きく向上することがあります。このプロパティーを汎用目的のファイルシステムに使用することは、パフォーマンスが低下する可能性があるため、できるだけ避けてください。指定するサイズは、512 バイト - 128K バイトの 2 の累乗にしてください。ファイルシステムの recordsize 値を変更した場合、そのあとに作成されたファイルだけに適用されます。既存のファイルには適用されません。

このプロパティーの省略名は recsize です。

volsize プロパティー

volsize プロパティーはボリュームの論理サイズを指定します。デフォルトでは、ボリュームを作成するときに、同じ容量の予約が設定されます。volsize への変更があった場合には、予約にも同様の変更が反映されます。これらのチェックは、予期しない動作が起きないようにするために使用されます。ボリュームで使用できる容量が指定した容量より少ない場合には、ボリュームがどのように使用されるかによって異なりますが、定義されていない動作が実行されたりデータが破損したりする可能性があります。このような影響は、ボリュームの使用中にボリュームサイズを変更した場合にも発生することがあります。特に、サイズを縮小した場合にはその可能性が高くなります。ボリュームサイズを調整するときは、特に注意してください。

推奨される方法ではありませんが、zfs create -V-s フラグを指定するか、またはボリュームの作成後に予約を変更すると、疎ボリュームを作成できます。「疎ボリューム」とは、予約がボリュームサイズと等しくないボリュームのことです。疎ボリュームの場合、volsize を変更しても予約には反映されません。

ボリュームの使用方法の詳細については、「ZFS ボリューム」を参照してください。