Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
17.2. ディスククォータの管理
クォータが実装されている場合には、若干の保守が必要となります。大半は、クォータの超過監視および精度確認という形となります。
ユーザーが繰り返しクォータを超過したり、常にソフトリミットに達している場合には、ユーザーのタイプや、ユーザーの作業にディスク容量が及ぼす影響の度合に応じて、システム管理者には 2 つの選択肢があります。管理者は、ユーザーが使用するディスク領域を節約する方法をわかるようにするか、ユーザーのディスククォータを拡大するかのいずれかを行うことができます。
17.2.1. 有効化と無効化
クォータはゼロに設定することなく、無効にすることができます。すべてのユーザーとグループのクォータをオフにするには、以下のコマンドを使用します。
#
quotaoff -vaug
-u
か -g
のどちらも指定されていない場合、ユーザーのクォータのみが無効になります。-g
のみが指定されている場合は、グループのクォータのみが無効になります。-v
スイッチはコマンドが実行する際に状態の詳細情報を表示します。
ユーザーとグループクォータを再び有効化するには、以下のコマンドを使用します。
#
quotaon
すべてのファイルシステムにユーザーとグループのクォータを有効にするには、以下のコマンドを使用します。
#
quotaon -vaug
-u
または -g
のどちらも指定されていない場合、ユーザーのクォータのみが有効になります。-g
のみが指定されている場合は、グループのクォータのみが有効になります。
/home
などの特定のファイルシステムにクォータを有効にするには、以下のコマンドを使用します。
#
quotaon -vug /home
注記
quotaon
コマンドは、マウント時に自動的に実行されるため、XFS に常に必要となる訳ではありません。詳細情報については、quotaon(8)
の man ページを参照してください。
17.2.2. ディスククォータに関するレポート
ディスク使用状況のレポートを作成するには、
repquota
ユーティリティーの実行が必要になります。
例17.6 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
が表示されます。
17.2.3. クォータの精度維持
システムクラッシュなどにより、ファイルシステムが正常のマウント解除に失敗した場合は、以下のコマンドを実行する必要があります。
#
quotacheck
ただし、システムがクラッシュしていないとしても、
quotacheck
は定期的に実行できます。quotacheck
を定期的に実行する安全な方法には、以下が含まれます。
- 次回の再起動時に quotacheck を確実に実行する
注記
この方法は、定期的に再起動される (ビジーな) 複数ユーザーシステムに最も適しています。/etc/cron.daily/
または/etc/cron.weekly/
ディレクトリーにシェルスクリプトを保存するか、以下のコマンドを使用してスケジュール設定します。#
crontab -e
crontab -e
には、touch /forcequotacheck
コマンドが含まれます。このスクリプトは 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
を参照してください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。