Show Table of Contents
8.3. XFS クォータの管理
XFS クォータサブシステムでディスク領域 (ブロック) およびファイル (inode) の使用量に関する制限の管理を行います。こうした項目の使用量に関する制御や報告は、ユーザー、グループ、ディレクトリーまたはプロジェクトの各レベルで行います。また、ユーザーのクォータ、グループのクォータ、ディレクトリーまたはプロジェクトのクォータはそれぞれ個別に有効にできますが、グループとプロジェクトのクォータについては相互排他的となります。
ディレクトリー単位またはプロジェクト単位で管理を行う場合、XFS は特定のプロジェクトに関連付けられたディレクトリー階層のディスク使用量を管理します。これにより、XFS は複数のプロジェクト間にある組織をまたがった「グループ」の境界を認識します。ディレクトリー単位またはプロジェクト単位でクォータの管理を行うことにより、ユーザーのクォータやグループのクォータを管理する場合よりも広範囲な制御レベルを得ることができます。
XFS のクォータは、マウント時に特定のマウントオプションを付けて有効にします。各マウントオプションは
noenforce として指定することもできます。これを指定すると、一切の制限を適用することなく使用量に関する報告を可能にします。有効なクォータのマウントオプションは以下の通りです。
uquota/uqnoenforce- ユーザーのクォータgquota/gqnoenforce- グループのクォータpquota/pqnoenforce- プロジェクトのクォータ
クォータを有効にすると、
xfs_quota ツールを使ってディスク使用量の制限を設定し、その報告が可能になります。デフォルトでは、xfs_quota は ベーシックモード でインタラクティブに実行されます。ベーシックモードのサブコマンドは使用量の報告のみを実行します。このコマンドはすべてのユーザーが使用できます。xfs_quota の基本的なサブコマンドには以下が含まれます。
- quota username/userID
- 任意の
usernameまたは数字によるuserIDの使用量と制限を表示します。 - df
- 空き/使用済みブロック数および空き/使用済み inode 数を表示します。
一方、
xfs_quota には エキスパートモード もあります。このモードのサブコマンドで制限を実際に設定することができるため、このサブコマンドを使用できるのは上位の特権を持つユーザーに限られます。エキスパートモードのサブコマンドをインタラクティブに使用するには、xfs_quota -x を実行します。エキスパートモードのサブコマンドには以下が含まれます。
- report /path
- 特定のファイルシステムのクォータ情報を表示します。
- limit
- クォータの制限を変更します。
ベーシックモードまたはエキスパートモードのサブコマンド一覧については、サブコマンドの
help をご覧ください。
サブコマンドはすべて
-c オプションを使うとコマンドラインからも直接実行させることができます。エキスパートのサブコマンドの場合は -x を使用できます。
例8.2 サンプルのクォータレポートの表示
たとえば、
/home (/dev/blockdevice 上) のクォータレポートのサンプルを表示するには、xfs_quota -cx 'report -h' /home コマンドを使用します。これにより、次のような出力が表示されます。
User quota on /home (/dev/blockdevice)
Blocks
User ID Used Soft Hard Warn/Grace
---------- ---------------------------------
root 0 0 0 00 [------]
testuser 103.4G 0 0 00 [------]
...
ユーザー
john (ホームディレクトリーは /home/john) に対して、inode 数のソフトとハードの制限をそれぞれ 500 と 700 に設定するには、次のコマンドを使用します。
# xfs_quota -x -c 'limit isoft=500 ihard=700 /home/john'
デフォルトでは、
limit サブコマンドはターゲットがユーザーであると認識します。このため、ターゲットをグループとして制限を設定する場合は -g オプションを使います (上記の例の場合も同様)。さらに、プロジェクトの場合は -p を使います。
ブロックのソフトとハードの制限は、
isoft または ihard の代わりに bsoft または bhard を使って設定することもできます。
例8.3 ブロックのソフトとハードの制限を設定
たとえば、
/target/path ファイルシステム上の accounting グループに対してソフトとハードのブロック制限をそれぞれ 1000m と 1200m に設定する場合は次のコマンドを使用します。
# xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path重要
man xfs_quota では、リアルタイムのブロック (rtbhard/rtbsoft) がクォータの設定時の有効な単位として説明されていますが、本リリースではリアルタイムのサブボリュームは有効にされません。このため、rtbhard と rtbsoft のオプションは適用できません。
プロジェクト制限の設定
プロジェクトで管理されているディレクトリー群に対して制限を設定する前に、まずそのディレクトリー群を
/etc/projects に追加します。複数のプロジェクト ID とプロジェクト名をマッピングさせるために、プロジェクト名を /etc/projectid に追加できます。プロジェクトが /etc/projects に追加されると、そのプロジェクトディレクトリーを次のコマンドを使って初期化できます。
# xfs_quota -c 'project -s projectname'
初期化したディレクトリー群を持つプロジェクトのクォータ設定は次のように実行します。
# xfs_quota -x -c 'limit -p bsoft=1000m bhard=1200m projectname'
クォータ設定の汎用ツール (
quota、repquota、および edquota など) を使用しても XFS のクォータを操作することができます。ただし、これらのツールは XFS のプロジェクトのクォータでは使用きません。
XFS クォータの設定方法については
man xfs_quota を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.