ディスククォータの設定 |
---|
ディスククォータとは、ユーザーまたは、グループに対してディスクスペースに制限をかけるシステムです。
このシステムを利用する事によって、ユーザーが無制限にHDDの容量を消費するのを抑えたりする事ができます。 多くのユーザーが共有する Samba やメールサーバーには、必須の機能です。 | ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
1.ディスククォータについて | ||||||||||||||||||||||||||||||||||||||||
ディスククォータとは、上にも記述しましたが、ユーザーが無制限にHDDの容量を消費するのを抑える為の、ファイルサーバーやメールサーバー等に必須の機能です。 容量を超えたユーザーに対して警告を行ったり、自動で削除を行ったり、またファイルを作成、コピーをできない様にします。 ※注意点として、ディスククォータはカーネル2.2とカーネル2.4とでは、ファイルシステムや構造が違うので注意してください。 このページでは、カーネルバージョンは 2.4.18-23 で設定を行っています。 ( Turbo Linux 6.5 Server より以前は 2.2 です。) またカーネルをカスタマイズして再構築している人は、ディスククォータ機能が有効になっていないと使用できません。 Turbo Linux 7 Server では標準で有効になっているので、特にカーネルを設定をする必要はありません。 | ||||||||||||||||||||||||||||||||||||||||
2.インストールと設定 | ||||||||||||||||||||||||||||||||||||||||
使用するパッケージは、”quota-3.01-6.rpm”です。 ※ このパッケージは 2005/07/27 時点での最新です。 Linuxのインストールの仕方しだいでは、インストールされていない場合があるので確認してください。 rpm -ihv quota-3.01-6.rpm これでインストールは完了です。 次にディスククォータはファイルシステム単位で機能します。 ファイルシステムマウント時にディスククォータを使用できるようにオプションが必要です。 今回は、Sambaやメールサーバー(qmail)等を対象します。 なので各ユーザーの領域は /home の直下にあるので、/home をディスククォータを付けます。 /home などのファイルシステムのマウントは”/etc/fstab”が設定ファイルとなりますので、以下の様に修正します。 /dev/hda7 /home ext3 defaults 1,1 ↓ /dev/hda7 /home ext3 usrquota 1,1 ※下線部の箇所はインストール時によって数値の部分が変わります。 ユーザー単位でクォータを使用する場合は”usrquota”を、グループ単位で使用する場合は”grpquota”を記述します。 両方の場合はカンマで区切ります。 ”/etc/fstab”を変更したら、ファイルシステムを再マウントします。(Linuxを再起動してもOKです。) 続いて、クォータデータベースファイルを作成します。 これは、ディスクの使用状況など記録したファイルです。 以下のコマンドを実行してファイルを作成してください。 quotacheck -u /home ※グループ単位の場合は”-g”を指定します。 これで、 /home の直下に”aquota.user”(ユーザー単位)または、”aquota.group”(グループ単位)というファイルが作成されます。 | ||||||||||||||||||||||||||||||||||||||||
3.ディスクの使用量に制限をかける | ||||||||||||||||||||||||||||||||||||||||
次にユーザーまたはグループに対して、使用できるディスクの容量に制限をかける設定を行います。 設定できる項目は以下の通りです。 ◆ 設定対象の項目 ・ブロッククォータ そのままブロックの使用を制限するためのものです。ディスク消費量を制限するものと考えてください。 1ブロックの大きさは ext2 で1KBとなっています。 ・ノードクォータ ソードの使用を制限するためのものです。 作成できるファイル数、ディレクトリィ数が制限されると考えてください。 以上の2つに対して以下の3つの設定が出来ます。 ◆ 設定値 ・ソフト制限 ソフト制限とは、設定された値に達した場合は警告を発します。ユーザーは警告を受けて下にある猶予期間まで そのまま使用できますが、その間に他のファイルを削除するなどして、スペースを空ける必要があります。 ・ハード制限 ハード制限とは、設定された値に達した場合は、それ以上ファイルを作成する事はできません。 ・猶予期間 猶予期間とは、ソフト制限を越えて消費してしまった場合、設定した期間の間だけ使用される事が許可されます。 ※上記の3つの設定は、0を設定すると制限が無い事になるので注意してください。 以下のコマンドを使用して設定を行います。 edquota [-u | -g] << ユーザー名 >> -u はデフォルトなので省略可です。-g を指定した場合は対象がグループとなります。グループ指定をする場合は必ず -g を指定します。 実行した場合、自動で vi が起動します。
(1)に設定するユーザー(またはグループ)の情報が出力され、実際に修正する部分は(2)です。 左から順に説明しますと、 ・クォータ対象のファイルシステム ・使用中のブロック ・ブロックのソフト制限 ・ブロックのハード制限 ・使用中のノード ・ノードのソフト制限 ・ノードのハード制限 となります。ここで編集するのは各ソフト制限とハード制限の値を編集します。 ブロックの場合は単位はブロックになります。編集が終ったら保存して終了してください。 また、”edquota”コマンド以外に”setquota”というコマンドも使用できます。以下が書式です。 setquota [ -u | -g ] << ユーザー名 or グループ名 >> << ブロックソフト制限 >> << ブロックハード制限 >> << ノードソフト制限 >> << ノードハード制限 >> << ファイルシステム >> です。ユーザーの設定の場合は -u を省略する事が可能です。例として setquota -u xxxx 1024000 2048000 0 0 /home となります。グループ指定の場合は -g は必ず要るので注意してください。 | ||||||||||||||||||||||||||||||||||||||||
4.執行猶予の時間制限をかける | ||||||||||||||||||||||||||||||||||||||||
次にディスク使用量に制限を設定した後は、執行猶予の時間制限をかけます。 設定に使用するコマンドは同じです。以下の様に実行してください。 edquota [-u | -g] -t -u はデフォルトなので省略可です。-g を指定した場合は対象がグループとなります。グループ指定をする場合は必ず -g を指定します。 ディスク制限をかけた時と同じ様に実行した場合は自動で vi が起動します。
(1)はクォータ種類(ユーザーかもしくはグループ)の表示をしています。 (2)の行で、ソフト制限を越えた場合の猶予期間を設定します。 デフォルトではブロッククォータ、ノードクォータともに7日間に設定させています。 この他にも、hour(時間)min(分)sec(秒)のいずれかで設定できます。(省略した場合は秒で扱われます。) また同じ様に”setquota”でも設定できます。以下が書式です。 setquota -p [ -u | -g ] << ブロック猶予期間 >> << ノード猶予期間 >> << ファイルシステム >> ”setquota”の場合は秒単位での指定となります。 | ||||||||||||||||||||||||||||||||||||||||
5.その他 | ||||||||||||||||||||||||||||||||||||||||
◆ quotacheck ディスク制限と猶予期間の設定が終了したら、”quotacheck”を行って、設定を反映させてください。 以下が書式です。 quotacheck [ -u | -g ] << ファイルシステム >> ◆ quotaon、quotaoff ”quotacheck”など設定がうまく反映されない時や、一時的にクォータ機能を止めたい時に使用します。 (うまくいかない場合は、”quotaoff”コマンドでクォータを無効にしてからやり直してみてください。) quotaon はクォータ機能を起動し、”quotaoff はクォータ機能を停止させます。 以下が書式です。 quotaon [ -u | -g ] << ファイルシステム >> ( quotaon、quotaoff どちらも同じ書式です。) ◆ converquota カーネル 2.2 から 2.4 に、クォータデータベースファイルを移行させたい場合に使用します。 書式は以下の通りです。 converquota [ -u | -g ] << ファイルシステム >> |
TOPページに戻る |