ディスク クォータ

原作: &a.mpp; 26 February 1996 .

訳者: &a.mihoko; 6 September 1996 . クォータシステムは、オペレーティングシステムのオプション機能で、 各ファイルシステム上で ユーザやグループのメンバが使用するディスク スペースの総量を規制したり、作成できるファイルの個数を制限したりす ることができます。 この機能は、各ユーザ、各グループごとに使用できる資源の総量を制限で きるようなタイムシェアリングシステム上でもっともよく使用されていま す。これは、一人のユーザが、使用可能な全てのディスクスペースを使い きってしまうことを防止できます。 ディスククォータを使用するための設定

ディスククォータを使用しようとする前に、あなたが使用しているカー ネルで、クォータが組み込まれているかどうかを確認する必要があります。 クォータを使用できるカーネルを構築するためには、カーネルコンフィギュ レーションファイルに、次の行を追加してください: options QUOTA 標準のGENERIC カーネルでは、この機能は有効になっていません。 したがって、ディスククォータを使用するためには、 カーネルをコンフィグレーションして構築しなおし、そのカーネ ルをインストールしなければいけません。カーネルの構築方法について の詳細情報は、 を参照してください。

次に、ファイル /etc/sysconfig の中で、ディスククォー タ機能を、使用可能に設定する必要があります。 そのためには、以下の行を変更します: quotas=NO を次のように: quotas=YES

FreeBSD 2.2.2 以降では, /etc/rc.conf でこの設定を行いま す. また, 変数の変更は以下のようにします. check_quotas=YES

最後に、各ファイルシステム毎にディスククォータを設定する ために、ファイル /etc/fstab を編集する必要があります。 全てのファイルシステムに対して、ユーザ又はグループのいずれかのクォー タを設定することも、ユーザとグループの両方のクォータを設定すること もできます。

ファイルシステム上で、ユーザ毎のクォータを設定するためには、 userquota オプションを、ファイル /etc/fstab の中 で、クォータを設定したいファイルシステムのエントリののオプションフィー ルドに追加してください。 例えば: /dev/sd1s2g /home ufs rw,userquota 1 2

同様に、グループのクォータを設定するためには、 groupquota オプションを userquota の代わりに使用 してください。ユーザとグループの両方のクォータを設定するためには、 次のようにエントリを変更してください: /dev/sd1s2g /home ufs rw,userquota,groupquota 1 2

デフォルトでは、クォータファイルは ファイルシステムの root ディ レクトリ上に、ユーザとグループのクォータに対して それぞれ quota.userquota.group という名前で置いてあり ます。詳細情報は、man fstab を御覧ください。 man ページには、クォータファイルを別な場所に置くことができると書い てありますが、さまざまな クォータユーティリティのうち、この機能を 適切に処理できていないものがあるので、クォータファイルをデフォルト の場所以外に置くことは勧められません。

ここまで準備ができたら、新しいカーネルを使って、システムを立ち 上げ直してください。 /etc/rc ファイルが、自動的に適切なコマンドを起動してくれ 、あなたが /etc/fstab ファイルで使用可能にした全てのクォー タに対して、初期クォータファイルを作成してくれます。 したがって、手動で サイズ 0 のクォータファイルを作成する必要はあり ません。

通常の作業の流れでは、手動で quotacheckquotaon、または quotaoff コマンドを起動すべきで はありません。しかしながら、それらの作業について詳しく知りたい場合に は、man ページを御覧ください。 クォータ制限の設定

一旦システムのクォータを有効に設定したら、 本当にクォータが使用可能になっていることを確かめてください。 これを簡単に確かめるには、quota -v コマンドを実行してみて ください。ディスク使用量の総計と、クォータが設定されている各ファイ ルシステム毎の現在のクォータ制限が表示されます。

さてこれで、edquota コマンドによって、クォータ制限をか ける準備ができました。

ユーザまたはグループが使用できるディスクスペースの総計や、作成 することのできるファイル数に制限をかけるためのオプションがいくつか あります。 ディスクスペース容量規制 (ブロッククォータ) または ファイ ル数制限 (iノードクォータ) またはその両方を行うことができます。 これらの個々の制限は、二つのカテゴリ、すなわち ハード制限とソ フト制限、でもっと細かく分類できます。

ハード制限は越えることができません。ユーザがハード制限に到達す ると、該当するファイルシステム上でディスクスペースを確保することが できなくなります。 例えば、もしユーザがファイルシステム上で 500 ブ ロックのハード的制限をされていて、かつ、現在、490 ブロック使用して いたとすると、ユーザはあと 10 ブロックしか確保できません。 11ブロック目を確保しようとすると、失敗します。

一方、ソフト制限は、定められたある一定の期間以内ならば制限を越 えることができます。この一定期間は、猶予期間と呼ばれています。 猶予期間のデフォルトは 1週間です。もし、ユーザが猶予期間を過ぎても ソフト制限を越えて使用し続けていた場合には、ソフト制限はハード制限 に切り替わり、もはやこれ以上は、ディスクスペースを確保できなくなり ます。ユーザのディスク使用量がソフト制限以下に戻った時に、猶予期間 がリセットされます。

以下は、edquota コマンドを実行した時の出力例です。 edquota コマンドが起動されると、EDITOR 環境変数 で定義されたエディタ、または、EDITOR 環境変数が設定されて いない場合には vi エディタが起動され、クォータ制限を編集 することができます。 # edquota -u test Quotas for user test: /usr: blocks in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: blocks in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) 通常は、クォータが設定されているファイルシステム毎に2行の表示が 行われます。1行は、ブロック制限に関する情報で、もう1行は、i ノード 制限に関する情報です。クォータ制限の値を変更したい値に書き換えてく ださい。例えば、ユーザのブロック制限を、50 ブロックまでのソ フト制限と 75 ブロックまでのハード制限から、500 ブロックまでのソフ ト制限と 600 ブロックまでのハード制限にしたい場合は、 次のように書き換えます: /usr: blocks in use: 65, limits (soft = 50, hard = 75) を次のように: /usr: blocks in use: 65, limits (soft = 500, hard = 600) 新しいクォータ制限は、エディタを終了した時に置き換えられます。

uid の範囲によってクォータを設定する個とも可能です。 そのためには edquota コマンドで、-p オプションを 使用します。まずはじめに、かけたいクォータ制限を、一人のユーザに対 して設定します。それから次のコマンドを実行します edquota -p protouser startuid-enduid。 例えば、もし、ユーザ test がクォータ制限をかけられていた とすると、次のコマンドは、同じ制限を、uid 10,000 から 19,999 まで のユーザにかけることができます: edquota -p test 10000-19999

uid の範囲によって制限をかけることができる機能は、2.1 がリリー スされたあとに追加されました。もし、2.1 のシステム上で、この機能を 必要とする場合には、新しい edquota を入手する必要があります。

詳細情報は man edquota を御覧ください。 クォータ制限およびディスク使用状況のチェック

クォータ制限およびディスク使用状況をチェックするには、 quota または repquota コマンドを使用することがで きます。quota コマンドは、各ユーザ、各グループ毎のクォー タ制限およびディスク使用状況をチェックすることができます。 スーパーユーザだけが、他のユーザまたは自分が所属していないグループに 関するクォータ制限とディスク使用状況を調べることができます。 repquota コマンドは、クォータが設定されているファイルシス テムに対する、全てのクォータ制限およびディスク使用状況の総計を表示 します。

以下は、2つのファイルシステム上でクォータ制限がかけられているユー ザに対して quota -v コマンドを実行した出力結果の例です。 Disk quotas for user test (uid 1002): Filesystem blocks quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 上の例では、/usr ファイルシステム上で、このユーザは現在 50 ブロックまでのソフト制限を 15 ブロック超過して使用しており、 残り 5 日間の猶予期間を設定されています。 アスタリスク (*) は、ユーザが現在クォータ制限を越えていることを示 しています。

通常、ユーザがディスクスペースを全く使用していないファイルシス テムは、 たとえ そのファイルシステムにクォータ制限が設定されていた としても、quota コマンドによる出力では表示されません。 -v オプションを付けると、上の例の /usr/var ファ イルシステムのように、これらのファイルシステムも表示します。 * NFS ファイルシステム上でのクォータ

このセクションはまだ作成中です。