Web更新

UbuntuでZFSを使ってみよう 第28回 ZFSのプロパティを見てみよう(10)


前回に引き続き、今回もZFSの設定可能なプロパティについて説明します。


設定可能なZFS ネイティブプロパティ(5)

nbmand=on|off

ファイルシステムを nbmand (Non Blocking mandatory locks) でマウントするかどうかを設定します。 このプロパティは、SMBクライアントで使用され、Linux では使用されません。


overlay=off|on

ビジー状態のディレクトリ、既にファイルやディレクトリが存在するディレクトリへのマウントを許可します。これは Linuxファイルシステムでの、デフォルトのマウント動作です。 他のプラットフォーム上の OpenZFS との一貫性を保つため、オーバーレイマウントはデフォルトで off になっています。オーバーレイマウントを有効にするには、on に設定します。


primarycache=all|none|metadata

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


quota=size|none

データセットとその子孫の消費できる容量を制限します。 このプロパティは、使用する容量のハードリミットを強制的に設定します。 これには、ファイルシステムやスナップショットなど、子孫によって消費されるすべての容量が含まれます。 既にクォータを持っているデータセットの子孫にクォータを設定しても、祖先のクォータは上書きされず、追加の制限が課されます。

ボリュームの場合、volsizeプロパティが暗黙のクォータとして機能するため、ボリュームにクォータを設定できません。


snapshot_limit=count|none

データセットとその子孫に対して、作成できるスナップショットの数を制限します。 既にsnapshot_limitを持つデータセットの子孫にsnapshot_limitを設定しても、祖先のsnapshot_limitは上書きされず、追加で制限されることになります。 ユーザーが制限を変更できる場合は、制限は適用されません。たとえば、グローバルゾーンから取得した再帰的スナップショットは、ゾーン内の各代 表者データセットに対してカウントされることを意味します。 この機能を使用するには、zpoolで機能を有効化する必要があります 。


userquota@user=size|none

指定されたユーザーが消費する容量を制限します。 ユーザーの消費領域は、プロパティuserspace@user で識別されます。

ユーザークォータの実行は、数秒遅れることがあります。 この遅延は、システムがクォータ超過に気付き、EDQUOT エラーメッセージで追加の書き込みを拒否し始める前に、ユーザがクォータを超過する可能性があることを意味します。 詳細については、zfs userspace コマンドで説明します。

非特権ユーザーは、自分のグループのスペース使用量にのみアクセスできます。 root ユーザー、または zfs allowコマンドで userquota特権を与えられたユーザーは、全員の quota を取得・設定できます。

このプロパティは、ボリューム、バージョン4以前のファイルシステム、およびバージョン15以前のプールでは使用できません。 userquota@...プロパティは、 zfs get all では表示されません。 ユーザー名は、次のいずれかの形式を使用して、@ 記号の後に追加されなければなりません。

  • POSIX name (例 joe)
  • POSIX numeric ID (例 1000)
  • SID name (例 joe.smith@mydomain)
  • SID numeric ID (例 S-1-123-456-789)

    Linuxで作成されたファイルは、常にPOSIXのオーナーを持ちます。


userobjquota@user=size|none

userobjquotauserquotaと似ていますが、ユーザーが作成できるオブジェクトの数を制限するものです。オブジェクトがどのようにカウントされるかについては、プロパティ userobjusedの説明を参照してください。


groupquota@group=size|none

指定されたグループが消費する容量を制限します。 グループのスペース消費量は、プロパティgroupused@groupで識別されます。非特権ユーザーは、自分自身のグループのスペース使用量にのみアクセスできます。 root ユーザー、またはzfs allowgroupquota特権を付与されたユーザーは、すべてのグループのクォータを取得・設定できます。


groupobjquota@group=size|none

groupobjquotagroupquotaと似ていますが、1つのグループが消費できるオブジェクトの数を制限します。オブジェクトがどのようにカウントされるかについては、プロパティ userobjusedを参照してください。


projectquota@project=size|none

指定されたプロジェクトが消費する容量を制限します。プロジェクトの消費領域は、プロパティprojectused@projectで識別されます。プロジェクトの識別方法と設定・変更方法については、プロパティprojectusedを参照してください。

rootユーザ、またはzfs allowprojectquota権限を付与されたユーザは、すべてのプロジェクトのquotaにアクセスできます。

projectobjquota@project=size|none

projectobjquotaprojectquotaと似ていますが、プロジェクトが消費できるオブジェクトの数を制限するものです。オブジェクトのカウント方法については、プロパティ userobjusedを参照してください。


終わりに


次回も、今回に引き続き、ZFSの設定可能なプロパティについて説明します。次回をお楽しみに。



さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。
DHT OSS導入コンサルティングサービス

関連記事一覧