Show Table of Contents
16.2. ディスククォータの管理
クォータが実装されている場合には、若干の保守が必要となります — 大半は、クォータの超過監視および精度確認という形となります。
当然ながら、ユーザーが繰り返しクォータを超過したり、常にソフトリミットに達している場合には、ユーザーのタイプや、ユーザーの作業にディスク容量が及ぼす影響の度合に応じて、システム管理者には 2 つの選択肢があります。管理者は、ユーザーが使用するディスク領域を節約する方法をわかるようにするか、ユーザーのディスククォータを拡大するかのいずれかを行うことができます。
16.2.1. 有効化と無効化
クォータはゼロに設定することなく、無効にすることができます。すべてのユーザーとグループのクォータをオフにするには、以下のコマンドを使用します。
# quotaoff -vaug-u か -g のどちらも指定されていない場合、ユーザーのクォータのみが無効になります。-g のみが指定されている場合は、グループのクォータのみが無効になります。-v スイッチはコマンドが実行する際に状態の詳細情報を表示します。
クォータを再度有効にするには、同じオプションで
quotaon コマンドを使用します。
たとえば、すべてのファイルシステムにユーザーとグループのクォータを有効にするには、以下のコマンドを使用します。
# quotaon -vaug/home などの特定のファイルシステムにクォータを有効にするには、以下のコマンドを使用します。
# quotaon -vug /home-u または -g のどちらも指定されていない場合、ユーザーのクォータのみが有効になります。-g のみが指定されている場合は、グループのクォータのみが有効になります。
注記
quotaon コマンドは、マウント時に自動的に実行されるため、XFS に常に必要となる訳ではありません。詳細情報については、quotaon(8) の man ページを参照してください。
16.2.2. ディスククォータに関するレポート
ディスク使用状況のレポートを作成するには、
repquota ユーティリティーの実行が必要になります。
例16.5 repquota コマンドの出力
たとえば、コマンド
repquota /home は以下の出力を生成します。
*** Report for user quotas on device /dev/mapper/VolGroup00-LogVol02 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 36 0 0 4 0 0 kristin -- 540 0 0 125 0 0 testuser -- 440400 500000 550000 37418 0 0
クォータが有効化されたすべてのファイルシステム (オプション
-a) のディスク使用状況レポートを表示するには、以下のコマンドを使用します。
# repquota -a
分かりやすいレポートが表示されますが、ここでいくつかのポイントを説明します。各ユーザーの後に表示される
-- はブロックまたは inode が超過しているかどうかを素早く判別するための手段です。どちらかのソフトリミットが超過していると、対応する - の位置に + が表示されます。最初の- はブロックの制限で、2 つ目が inode の制限を示します。
通常、
grace 列は空白です。ソフトリミットが超過した場合、この列には猶予期間の残り時間の値に等しい時間指定が含まれます。猶予期間が超過した場合、この位置には none が表示されます。
16.2.3. 正確なクオータの維持
ファイルシステムが正常にアンマウントできなかった場合 (システムクラッシュが原因の場合など) に、
quotacheck を実行する必要があります。しかし、システムがクラッシュしていない場合でも quotacheck は定期的に実行することができます。quotacheck を定期的に実行する際の安全な方法には以下が含まれます。
- 次回の再起動時に quotacheck を確実に実行する
注記
この方法は、定期的に再起動される (ビジーな) 複数ユーザーシステムに最も適しています。root として、touch /forcequotacheckコマンドを含んだシェルスクリプトを、/etc/cron.daily/または/etc/cron.weekly/ディレクトリーに配置するか、あるいはcrontab -eコマンドを使用して上記のコマンドを含むスクリプトをスケジュールします。このスクリプトは root ディレクトリーに空のforcequotacheckファイルを作成するため、起動時にシステムの init スクリプトがそれを検索します。それが発見されると init スクリプトはquotacheckを実行します。その後、init スクリプトは/forcequotacheckファイルを削除します。このように、cronでこのファイルが定期的に作成されるようにスケジュールすることにより、次回の再起動時にquotacheckを確実に実行することができます。cronの詳細は、man cronを参照してください。- シングルユーザーモードで quotacheck を実行
quotacheckを安全に実行する別の方法として、クオータファイルのデータ破損の可能性を回避するためにシングルユーザーモードでシステムを起動して、以下のコマンドを実行する方法があります。#
quotaoff -vug /file_system#
quotacheck -vug /file_system#
quotaon -vug /file_system- 実行中のシステム上で quotacheck を実行
- 必要な場合には、いずれのユーザーもログインしておらず、チェックされているファイルシステムに開いているファイルがない状態のマシン上で
quotacheckを実行することができます。quotacheck -vaug file_systemコマンドを実行します。このコマンドは、quotacheckが指定の file_system を読み込み専用として再マウントできない場合に失敗します。チェックの後には、ファイルシステムは読み込み/書き込みとして再マウントされることに注意してください。警告
読み込み/書き込みでマウントされているライブのファイルシステム上でのquotacheckの実行は、quota ファイルが破損する可能性があるため、推奨されません。
cron の設定方法の詳細は、man cron を参照してください。

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.