ハードリミットとソフトリミット
Linuxでは、ディスククォータの機能により、ユーザーまたはグループごとに使用可能なディスク容量を制限できる。この制限はディスク容量のサイズだけでなく、inode数でも指定することできる。ディスククォータでは以下の5つのパラメータを使用して、使用できるディスク容量の制限を設定する。
| 設定項目 | 説明 | 
|---|---|
| ハードリミット(ユーザーごと) | 1ユーザが利用できる最大のディスク容量 ハードリミットを越えるとそれ以上は書き込みができない。  | 
| ソフトリミット(ユーザーごと) | 容量制限の警告が発声されるタイミング。 ソフトリミットを越えると警告が発せられるが、ディスクへの書き込みができなくなる。但しソフトリミットを超えたまま猶予期間をすぎると、書き込みができなくなる  | 
| ハードリミット(グループごと) | グループが利用できる最大のディスク容量 ハードリミットを越えると、そのグループに属する全てのユーザは、それ以上書き込みできない。  | 
| ソフトリミット(グループごと) | 容量制限の警告が発生されるタイミング。ソフトリミットを越えると警告が発せられるが、ディスクへの書き込みは可能。但しソフトリミットを超えたまま猶予期間を過ぎると、書き込みができなくなる。 | 
| 猶予期間 | ソフトリミットを越えると猶予期間(デフォルトで7日間)に入る。猶予期間が過ぎるまでにソフトリミット以下にファイルなどを削除しなければ、現在のソフトリミットのステータスが、ハードリミットとしてみなされてしまう。 | 
ディスククォータの設定内容確認
quota [-u] [オプション] ユーザ名
| オプション | 説明 | 
|---|---|
| -u | 指定したユーザーに設定されたディスククォータの状況を表示(デフォルト) | 
| -g | 指定したグループに設定されたディスククォータの状況を表示 | 
| -v | 詳細情報の表示 | 
# ユーザー"student1"のディスククォータ状況の表示
$ quota sudent1
ディスククォータの管理-設定手順
①/etc/fstab ファイルにマウントオプション設定
②マウントオプションの変更の適用のため、ファイルシステムのアンマウントとマウントを実行
③ユーザごとのクォータ情報が記憶されるaquota.userを作成し、rootが読み書き可能なアクセス権限を設定
④データベースの初期化
⑤クォータの有効化
⑥ユーザごとのクォータの設定
/etc/fstab ファイルにマウントオプション設定
# /etc/fstabに /dev/sda5の/homeに、ユーザごとのディスククォータを設定
/dev/sda5    /home    ext3    defaults.usrquota 1 2
マウントオプションの変更の適用のため、ファイルシステムのアンマウントとマウントを実行
$ unmount /home
$ mount /home
ユーザごとのクォータ情報が記憶されるaquota.userを作成し、rootが読み書き可能なアクセス権限を設定
$ touch /home/aquota.user
$ chmod 600 /home/aquota.user
データベースの初期化
quotacheck [オプション] ファイルシステム名
| オプション | 説明 | 
|---|---|
| -a | /etc/fatabファイルに従い、クォータをチェック | 
| -u ユーザ名 | 指定したユーザの情報のみ編集 | 
| -g グループ名 | 指定したグループの情報のみ編集 | 
$ qutacheck /home
クォータの有効化
quotaon [オプション] ファイルシステム名
| オプション | 説明 | 
|---|---|
| -a | /etc/fatabファイルに従い、クォータを有効化 | 
| -u ユーザ名 | ユーザごとのディスククォータの有効化 | 
| -g グループ名 | グループごとのディスククォータの有効化 | 
$ qutacheck /home
ユーザごとのクォータの設定
edquota [オプション] ユーザ名
| オプション | 説明 | 
|---|---|
| -t | ファイルシステムごとのソフトリミットの猶予期間を設定 | 
| -u ユーザ名 | ユーザの設定(デフォルト) | 
| -g グループ名 | グループごとのディスククォータの有効化 | 
$ edquota student1