XFS は、ユーザー別、グループ別、およびプロジェクト別のディスク クォータをサポートしています。プロジェクトのディスク クォータを使用すると、個々のディレクトリ階層のディスク容量を制限できます。ユーザーが作成できるファイルの数を制限する、ディスク ブロック (またはディスク領域) の数、および inode の数に対して、ハード制限とソフト制限の両方を構成できます。 root ユーザーにはクォータは適用されません。
XFS ファイル システムをマウントするときは、まずマウント オプションを使用して、ユーザー、グループ、プロジェクトのクォータを有効にする必要があります。クォータを有効にした後、xfs_quota コマンドを使用して制限を設定し、クォータ情報を表示します。
クォータの有効化
XFS ファイル システムでユーザーのクォータを有効にするには、ファイル システムの /etc/fstab エントリに quota オプションを含めるか、quota を使用してファイル システムをマウントします。 オプション:
# mount –o quota /dev/xvdb1 /xfs
グループのクォータを有効にするには、ファイル システムの /etc/fstab エントリに gquota オプションを含めるか、gquota を使用してファイル システムをマウントします。 オプション:
# mount –o gquota /dev/xvdb1 /xfs
プロジェクトのクォータを有効にするには、ファイル システムの /etc/fstab エントリに prjquota オプションを含めるか、prjquota を使用してファイル システムをマウントします。 オプション:
# mount –o prjquota /dev/xvdb1 /xfs
または、クォータ マウント オプションを /etc/fstab ファイルに含めることもできます。次の例は、XFS ファイル システムでユーザー、グループ、およびプロジェクトのクォータをそれぞれ有効にするための /etc/fstab ファイル内のエントリを示しています。これらの例も、読み取り/書き込み権限でファイル システムをマウントします。
# vim /etc/fstab /dev/xvdb1 /xfs xfs rw,quota 0 0 /dev/xvdb1 /xfs xfs rw,gquota 0 0 /dev/xvdb1 /xfs xfs rw,prjquota 0 0
XFS クォータ マウント オプション
XFS ファイル システムのその他の「クォータ」マウント オプションが利用可能です。以下は、XFS ファイル システムでユーザー クォータを有効にするためのマウント オプションの完全なリストです:
- quota|uquota|usrquota :ユーザー クォータを有効にし、使用制限を適用します。
- uqnoenforce :ユーザー クォータを有効にします。使用状況を報告しますが、使用制限を強制しません。
グループ クォータのマウント オプションには次のものがあります:
- gquota|grpquota :グループ クォータを有効にし、使用制限を適用します。
- gqnoenforce :グループ クォータを有効にします。使用状況を報告しますが、使用制限を強制しません。
プロジェクト クォータのマウント オプションには次のものが含まれます:
- pquota|prjquota :プロジェクトの割り当てを有効にし、使用制限を適用します。
- pqnoenforce :プロジェクト クォータを有効にします。使用状況を報告しますが、使用制限を強制しません。
レポート クォータの状態情報
次の xfs_quota を使用できます 全体的なクォータ状態情報を報告するコマンド:
# xfs_quota -x -c state User quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: ON Enforcement: ON Inode: #67 (1 blocks, 1 extents) Group quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Project quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Blocks grace time: [7 days] Inodes grace time: [7 days] Realtime Blocks grace time: [7 days]
このコマンドは、ユーザー、グループ、およびプロジェクトのディスク クォータ アカウンティングが有効になっているかどうか、および制限が適用されているかどうかを報告します。ブロックと inode の猶予期間も報告されます。猶予期間のタイマーは、ソフト制限を超えるたびに有効になります。猶予期間が終了した後もソフト リミットを超え続けると、ディスク領域または inode が割り当てられなくなります。
xfs_quota ユーティリティ
XFS ファイル システム マウント オプションを使用してクォータを有効にした後、xfs_quota コマンドを使用して、ファイル システムのクォータ情報のレポート、ブロックと i ノードの制限の設定、クォータ強制の有効化または無効化、クォータ強制タイムアウト情報の変更 (猶予期間)、およびその他のクォータ管理の実行を行います。 XFS ファイル システムでの操作
xfs_quota ユーティリティーは、多数のユーザーおよび管理者サブコマンドを提供します。これらのサブコマンドは、対話モードで発行するか、xfs_quota コマンドの引数として含めることができます。オプションや引数を指定せずに xfs_quota を入力して、対話モードに入ります。 xfs_quota> プロンプトが対話モードで表示されます。ヘルプを入力するか?使用可能なサブコマンドを表示します。 help commandname を入力して、特定のサブコマンドに関する追加情報を表示することもできます。
# xfs_quota xfs_quota> help df [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodes help [command] -- help for one or all commands print -- list known mount points and projects quit -- exit the program quota [-bir] [-g|-p|-u] [-hnNv] [-f file] [id|name]... -- show usage and limits Use 'help commandname' for extended help.
コマンド ラインから xfs_quota サブコマンドを含める場合は、–c [コマンド] を使用します。 オプション。コマンド ラインからクォータ システムを変更するには、-x オプション (エキスパート モードを有効にする) も必要です。 .次の例では、limit サブコマンドを使用して、ユーザー john の XFS ファイル システムに 5 MB のソフト リミットと 6 MB のハード リミットを設定します。
# xfs_quota –x –c 'limit –u bsoft=5m bhard=6m john' /xfs
次の例では、students グループに対して 100 個の i ノードのソフト リミットと 150 個の i ノードのハード リミットを設定します。
# xfs_quota –x –c 'limit –g isoft=100 ihard=150 students' /xfs
クォータ情報の表示
xfs_quota コマンドを使用して、ディスク クォータに関する情報を表示します。デバイスと識別子を含むすべてのパスを一覧表示するには:
# xfs_quota -x -c print Filesystem Pathname /data /dev/mapper/vg_test-lv_test (uquota)
ブロック (-b) および i ノード (-i) のファイル システムの使用状況をレポートするには:
# xfs_quota -x -c 'free -hb' Filesystem Size Used Avail Use% Pathname /dev/mapper/vg_test-lv_test 35.5G 41.1M 35.4G 0% /data
# xfs_quota -x -c 'free -hi' Filesystem Inodes Used Free Use% Pathname /dev/mapper/vg_test-lv_test 18.6m 5 18.6m 0% /data
ファイル システムのクォータ情報を報告するには:
# xfs_quota -x -c report /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 4 0 0 00 [--------]
/data で人が読める形式でクォータ情報を報告するには:
# xfs_quota -x -c 'report -h' /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 4K 0 0 00 [------]
プロジェクト クォータの設定
XFS では、個々のディレクトリ階層にクォータを設定できます。 /etc/projects にエントリを作成できます XFS ファイル システムのディレクトリ階層を一意のプロジェクト ID に関連付けるファイル。たとえば、/etc/projects の次のエントリは、プロジェクト ID 50 を /data ディレクトリに関連付けます。
50:/data
オプションで /etc/projid ファイルを使用して、プロジェクト名をプロジェクト ID に関連付けることができます。たとえば、/etc/projid ファイル内の次のエントリは、プロジェクト名 test をプロジェクト ID 50 に関連付けます。
test:50
/etc/projects でプロジェクトを定義したら、xfs_quota コマンドを使用してそのプロジェクト ディレクトリを初期化します。
# xfs_quota –x –c 'project –s test' /data
xfs_quota コマンドを使用して、初期化されたディレクトリを持つプロジェクトの制限を設定します。次の例では、テスト プロジェクトに 5 MB のソフト リミットと 6 MB のハード リミットを設定します:
# xfs_quota –x –c ‘limit –p bsoft=5m bhard=6m test’ /dataXFS ファイル システムをバックアップおよび復元する方法 (xfsdump / xfsrestore)
XFS ファイル システムで修復を実行する
「xfs_growfs」コマンドを使用して、CentOS / RHEL で XFS ファイル システムを拡張/拡張する方法