Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
3.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
を使用できます。
例3.2 サンプルのクォータレポートの表示
たとえば、
/home
(/dev/blockdevice
上) のクォータレポートのサンプルを表示するには、xfs_quota -x -c '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 [------] ...
ホームディレクトリーが
/home/john
のユーザー john
に対して、inode 数のソフトとハードの制限をそれぞれ 500 と 700 に設定するには、次のコマンドを使用します。
#
xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
この場合、マウント済みの xfs ファイルシステムである mount_point を渡します。
デフォルトでは、
limit
サブコマンドはターゲットがユーザーであると認識します。このため、ターゲットをグループとして制限を設定する場合は -g
オプションを使います (上記の例の場合も同様)。さらに、プロジェクトの場合は -p
を使います。
ブロックのソフトとハードの制限は、
isoft
または ihard
の代わりに bsoft
または bhard
を使って設定することもできます。
例3.3 ブロックのソフトとハードの制限の設定
たとえば、
/target/path
ファイルシステム上の accounting
グループに対してソフトとハードのブロック制限をそれぞれ 1000m と 1200m に設定する場合は次のコマンドを使用します。
#
xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path
注記
コマンドの
bsoft
と bhard
ではバイト単位でカウントします。
重要
man xfs_quota
では、リアルタイムのブロック (rtbhard
/rtbsoft
) がクォータの設定時の有効な単位として説明されていますが、本リリースではリアルタイムのサブボリュームは有効にされません。このため、rtbhard
と rtbsoft
のオプションは適用できません。
プロジェクト制限の設定
プロジェクトで管理されているディレクトリー群に対して制限を設定する前に、まずそのディレクトリー群を
/etc/projects
に追加します。プロジェクト名を /etc/projectid
に追加して、複数のプロジェクト ID とプロジェクト名をマッピングさせることができます。プロジェクトを /etc/projects
に追加したら、次のコマンドを使用してそのプロジェクトディレクトリーを初期化します。
#
xfs_quota -x -c 'project -s projectname' project_path
次のコマンドを実行して、初期化したディレクトリー群を持つプロジェクトのクォータを設定します。
#
xfs_quota -x -c 'limit -p bsoft=1000m bhard=1200m projectname'
クォータ設定の汎用ツール (
quota
、repquota
、および edquota
など) を使用しても XFS のクォータを操作することができます。ただし、これらのツールは XFS のプロジェクトのクォータでは使用きません。
重要
Red Hat は、他の利用可能なすべてのツールの中でも、
xfs_quota
の使用を推奨します。
XFS のクォータの設定方法については、
man xfs_quota
、man projid(5)
、および man projects(5)
を参照してください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。