ディスク割当てについて
ユーザーまたはグループが使用できるディスク領域の容量(blocks)や、ユーザーまたはグループが作成できるファイルの数(inodes)を制限するか、指定した制限に使用量が達したときに通知するには、ディスク割当てを設定します。強い制限は、ファイル・システム上のユーザーまたはグループが使用できるブロックまたはinodeの最大数を指定します。ユーザーまたはグループは、猶予期間として知られている、期間に対する弱い制限を超過できます。
Oracle Linux 8では、Btrfsファイル・システムの、ユーザーおよびグループのディスク割当てはサポートされていません。ただし、このリリースでは、Btrfsファイル・システムのサブボリューム・レベルでの割当てがテクノロジ・プレビューとしてサポートされています。詳細は、割当て制限グループを使用したbtrfsサブボリュームの割当て制限の管理を参照してください。
XFSファイル・システムに対する割当ての構成方法の詳細は、XFSファイル・システムでの割当ての管理を参照してください。
ファイル・システムでのディスク割当ての有効化
ディスク割当てはマウント時に有効になります。次の表は、mountコマンドで指定して割当て制限を有効にできるオプションについて説明しています。
マウント・オプション | 説明 |
---|---|
gqnoenforce |
グループ割当てを有効にします。使用量を報告しますが、使用量制限を強制適用しません。 |
gquota |
グループ割当てを有効にして、使用量制限を強制適用します。 |
pqnoenforce |
プロジェクト割当てを有効にします。使用量を報告しますが、使用量制限を強制適用しません。 |
pquota |
プロジェクト割当てを有効にして、使用量制限を強制適用します。 |
uqnoenforce |
ユーザー割当てを有効にします。使用量を報告しますが、使用量制限を強制適用しません。 |
uquota |
ユーザー割当てを有効にして、使用量制限を強制適用します。 |
-
システムに
quota
パッケージをインストールします(まだインストールされていない場合)。sudo dnf install quota
-
ファイル・システムの
/etc/fstab
エントリに、usrquota
またはgrpquota
オプションを追加します。/dev/sdb1 /home ext4 usrquota,grpquota 0 0
-
ファイル・システムを再マウントします。
sudo mount -o remount /home
-
割当てデータベース・ファイルを作成します。
sudo quotacheck -cug /home
前述のコマンドにより、ファイル・システムのroot (この例では
/home
)にファイルaquota.user
とaquota.group
が作成されます。
詳細は、quotacheck(8)
マニュアル・ページを参照してください。
ユーザーおよびグループへのディスク割当ての割当て
-
ユーザーには、次のコマンドを使用します。
sudo edquota username
グループには、次のコマンドを使用します。
sudo edquota -g group
前述のコマンドを実行すると、
EDITOR
環境変数で定義されているデフォルト・エディタでテキスト・ファイルが開かれます。したがって、ユーザーまたはグループの制限を指定できます。次に例を示します。Disk quotas for user guest (uid 501) Filesystem blocks soft hard inodes soft hard /dev/sdb1 10325 0 0 1054 0 0
blocks
およびinodes
のエントリは、ファイル・システムでのユーザーの現在の使用状況を反映します。ヒント:
制限を
0
に設定すると、blocks
またはinodes
カテゴリに対応する割当てチェックと強制が無効になります。 -
ブロック数とinode数に対する弱い制限および強い制限を編集して、変更を保存します。
または、setquotaコマンドを使用してコマンド・ラインから割当て制限を構成できます。-pオプションを使用すると、あるユーザーまたはグループから別のユーザーまたはグループに割当て設定を適用できます。
XFSファイル・システムを使用する場合、xfs_quotaは割当て情報を管理するための推奨ツールであることに注意してください。詳細は、XFSファイル・システムでの割当ての管理を参照してください。
詳細は、edquota(8)
およびsetquota(8)
の各マニュアル・ページを参照してください。
プロジェクト割当ての設定
ファイル・システムの中には、管理対象ツリーと呼ばれる個々のディレクトリ階層に割当て制限を設定できるものがあります。各管理対象ツリーは、プロジェクトIDと、オプションのプロジェクト名によって一意に識別されます。ディレクトリ階層のディスク使用量を制御する機能は、特権ユーザーに割当て制限を設定しないようにする場合や(/var/log
など)、多数のユーザーまたはグループにディレクトリへの書き込みアクセス権がある場合(/var/tmp
など)に便利です。
プロジェクトを定義して割当制限を設定するには、次の手順を実行します。
-
プロジェクト割当てを有効にして、ファイル・システムをマウントします。
sudo mount -o pquota device mountpoint
たとえば、
/myxfs
ファイル・システムのプロジェクト割当てを有効にする場合は、次のコマンドを使用します。sudo mount -o pquota /dev/vg0/lv0 /myxfs
-
/etc/projects
ファイルに、ディレクトリ階層に対して一意のプロジェクトIDを定義します。sudo echo project_ID:mountpoint/directory |sudo tee -a /etc/projects
たとえば、次のようにディレクトリ階層
/myxfs/testdir
にプロジェクトID 51を設定します。sudo echo 51:/myxfs/testdir |sudo tee -a /etc/projects
-
プロジェクト名をプロジェクトIDにマップする
/etc/projid
ファイル内にエントリを作成します。sudo echo project_name:project_ID |sudo tee -a /etc/projid
たとえば、次のようにプロジェクト名
testproj
をID 51のプロジェクトにマップします。sudo echo testproj:51 |sudo tee -a /etc/projid
詳細は、projects(5)
およびprojid(5)
のマニュアル・ページを参照してください。
ファイル・システムをマウントしてプロジェクト割当てを有効にし、ディレクトリ階層にプロジェクトIDを設定した場合は、edquotaまたはxfs_quotaを使用してそのプロジェクト割当ての制限を設定できます。XFSファイル・システムを使用する場合は、xfs_quotaの使用が優先されることに注意してください。詳細は、XFSファイル・システムでの割当ての管理を参照してください。
弱い制限の猶予期間の設定
-
次のコマンドを実行して、弱い制限の猶予期間を設定します。
sudo edquota -t
前述のコマンドを実行すると、デフォルトのテキスト・エディタでテキスト・ファイルが開かれて、次の例に示すように猶予期間を指定できるようになります。
Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sdb1 7days 7days
-
ブロック数とinode数の弱い制限の猶予期間を指定して、変更を保存します。
詳細は、edquota(8)
マニュアル・ページを参照してください。
ディスク割当ての表示
ユーザーのディスク使用量を表示する場合は、オプションや引数の指定なしでquotaコマンドを使用します。
sudo quota username
グループのディスク使用量を表示する場合は、-gオプションを追加して、次のコマンドを使用します。
sudo quota -g group
使用量が割当て制限を超えているファイル・システムに関する情報を表示する場合は、-qオプションを追加します。次に例を示します。
sudo quota -q
ユーザーは、quotaコマンドを使用して自分と自分のグループのディスク使用量を表示することもできます。
詳細は、quota(1)
マニュアル・ページを参照してください。
ディスク割当ての有効化および無効化
特定のファイル・システムのすべてのユーザー、グループのディスク割当てを無効にする場合は、次のコマンドを使用します。
sudo quotaoff -guv filesystem
すべてのユーザー、グループおよびファイル・システムのディスク割当てを無効にする場合は、次のコマンドを使用します。
sudo quotaoff -aguv
すべてのユーザー、グループおよびファイル・システムのディスク割当てを再アクティブ化する場合は、次のコマンドを実行します。
sudo quotaon -aguv
詳細は、quotaon(1)
マニュアル・ページを参照してください。
ディスク割当て使用量のレポート
単一のファイル・システムのディスク割当て使用量を表示するには:
sudo repquota filesystem
すべてのファイル・システムのディスク割当て使用量を表示するには:
sudo repquota -a
詳細は、repquota(8)
マニュアル・ページを参照してください。
ディスク割当てレポートの精度の保持
制御不能なシステム停止によって、ディスク割当てレポートが正確でなくなる可能性があります。
次の手順では、ファイル・システムの割当てデータベースを再構築する方法を示します。
-
ファイル・システムのディスク割当てを無効にします。
sudo quotaoff -guv filesystem
-
ファイル・システムをアンマウントします。
sudo umount filesystem
-
割当てデータベースを再構築します。
sudo quotacheck -guv filesystem
-
ファイル・システムをマウントします。
sudo mount filesystem
-
ファイル・システムのディスク割当てを有効にします。
sudo quotaoff -guv filesystem
詳細は、quotacheck(8)
マニュアル・ページを参照してください。