10.システムの運用管理(ディスク制限 : quota)
10.1.1 概要
quota は、パーティション単位でユーザーやグループが使用できるブロック数、作成できるファイル数を制限する仕組みです。
この機能によって、特定のユーザーがハードディスクを占有してしまうことを防止することができます。
10.1.2 quota 利用の前準備
quota 機能を利用するには、次の設定が事前に必要になります。
○ /etc/fstab への quota 利用の追加
○ quota のデータベースファイルの作成
(1) /etc/fstab への quota 利用の追加
quota 機能を利用するファイルシステムは、マウント時にオプションが必要になります。
オプション名は、ユーザーに対するものなら usrquota、グループに対するものなら grpquota です。
では、先に作った /data に usrquota を設定してみましょう。
(その前に確認のためのユーザーを2つくらい追加しておくことにします : takaq2, takaq3 を追加しました、グループはtestuserです)
設定を反映させるために、リブートか再マウントが必要になります。では、再マウントしてみましょう。
↑
どうやらできた?
(2)quota のデータベースファイルの作成
次に quotacheck コマンドでデータベースファイルを作成します。
このコマンドは、指定したファイルシステムにおけるユーザ、グループごとの使用量を調査して、該当ファイルシステムのルートディレクトリに quota.user (grpquota の時は quota.group) というファイルを作成します。
↑
あれ? おかしい!!!!
quotacheck: Scannibg /dev/hda6 [/data] done ・・・・・・なんて表示するはずなのに!
パラメータ変えても同じです。
しかも、quota.user が /data にありません。んーーーーまたダメ?
とりあえず、quotacheck コマンドの使い方を書いときます。
機能 ユーザー・グループごとのファイルシステム使用量を調査する。 書式 quotacheck [-u] [-g] [-v] -a
quotacheck [-u] [-g] [-v] filesystemオプション -u ユーザーごとの使用量を調査する。
-g グループごとの使用量を調査する。
-v 現在進行している状況を表示する。
-a /etc/fstab にある全ファイルシステムに対して調査する。
平成17年07月29日(土) 追記・・・・こんな記事を見つけました。
↓
※“usrquota”を追加できるのは、ext2 のあるパーティションだけである。
ext3でも確かusrquota の記述があるのを見た気がしたのですが・・・・
私のPlamoのカーネルが古いのかもしれません。
・・・で、ext2に戻してみました。
【ext3 -> ext2 に戻す】
umount /dev/hda6 /dev/hda6アンマウント
tune2fs -O ^has_journal /dev/hda6 /dev/hda6のファイルタイプをext2へ変更
e2fsck -y /dev/hda6 パーティションのエラーチェック
mount -t ext2 /dev/hda6 /data マウントポイントを指定してマウント
/etc/fstabを変更してリブート
この後で quotacheck を実行しました。しかし、LABEL=/data while openinig error とかでNGです。
この時、ふと思いました。もしかして、ラベル設定したのがだめだったかな?
なので、/etc/fstabを次のようにしてみました。
↓
つまり、/dataのLABEL記述を無くしたわけです。mount -o remount /dev/hda6 かリブートです。
そして quotacheck 実行です。
↓
いやーーーーーやっとできましたぁ!!!
10.1.3 quota の設定
quota 使用の準備ができたら、ユーザーやグループに対する制限の設定を行います。
設定する項目は次の種類があります。
・制限の対象(ブロッククォータ、ノードクォータ) → 片方または両方の設定もできます。
・制限の種類(ソフト制限、ハード制限) → 全てのユーザー、グループに適用されます。
・猶予期間
(1)制限の対象
・ブロッククォータ (block quota)
使用ブロック数を制限するものです。ディフォルト: 1block = 1KByte です。( Ex : 1Mbyte -> 1024block)
・ノードクォータ (node quota)
使用ノード数を制限します。作成できるファイル、ディレクトリの数を制限する時に用います。
(2)制限の種類
ソフト制限(soft limit)とハード制限(hard limit)の2種類があります。意味合いは次のような感じです。
ソフトよりハードを大きくとるのがミソです。
(3)猶予期間(grace period) → ディフォルト:7日
ソフト制限とハード制限の適用方法を与えます。猶予期間が「0」の場合は、猶予期間が設定されないことになり、「ソフト制限値 = ハード制限値」になります。
猶予期間は全てのユーザー、グループに適用されます。
ここから設定方法です。
quota 値の設定は edquota コマンドで行います。環境変数 EDITOR (ディフォルト : vi ) で指定されたプログラムをエディタとして使用します。
エディタ上でソフト制限値、ハード制限値を設定してファイルを保存します。既に quota値 を設定しているユーザーと同じ quota値 の設定を行う場合は、p オプションを指定することで、エディタで編集することなく quota値 の設定を行うことができます。
edquota の使い方を次に示します。
機能 quota 値、猶予期間を設定する。 書式 edquota [-u | -g] name エディタでnameの quota値 を設定する。
edquota -p proto-user [-u | -g] name
proto-userと同一の設定をnameに適用する。
edquota [-u | -g] -t 猶予期間を設定するオプション -u ユーザーの quota値 を設定する。(ディフォルトです)
-g グループのquota値 を設定する。
どれ、edquota -u takaq2 ・・・・って「あれ」変です。quota 設定の内容になっていません。
/usr/doc/quota-1.55/quota.html にある /etc/fstab の例を見たら ext2 ファイルしかない。
んーーーー調べよう!
↓
上記 平成17年07月29日(土) 追記 を実施後に再度挑戦です。
↑
エディタで開かれた直後の画面です。では、ブロックをソフト:1024(1Mbyte) ハード:1536(1.5Mbyte) ノードをソフト:100 ハード:150にしてみましょう。
↓
こんな感じで wq です。
次に takaq2 と同じ設定を takaq3 にしてみましょう。
ちーっと気になるメッセージ出てますね!
また、quota値 の設定は setquota によりエディタを使わないで設定することができます。
機能 quota値 を設定する。 書式 setquota [-u | -g] name bsl bhl isl ihl filesystem
setquota [-u | -g] name bsl bhl isl ihl -a
bsl : ブロックソフト制限値 bhl : ブロックハード制限値
isl : ノードソフト制限値 ihl : ノードハード制限値setquota [-u | -g] -p proto-user name filesystem
setquota [-u | -g] -p proto-user name -a
proto-userの設定値をnameに適用する。setquota [-u | -g] -t blockgrace inodegrace filesystem
setquota [-u | -g] -t blockgrace inodegrace -a
ブロック制限の猶予期間を blockgrace iノード制限の猶予期間を inodegrace に設定(単位:秒)にする。オプション -u ユーザーに設定
-g グループに設定
-a /etc/fstabにエントリがあって、quotaが指定されている全ファイルシステムを対象
では、ユーザ:takaq4 に setquota でブロック制限、ハード制限をした後に同じ設定を takaq5 に適用してみましょう。
↑
ああ、私のPlamoには setquota が無いですね。
現在のディスク使用状況や設定値を参照するには quota コマンドを使用します。
↑
ありゃーーーー、また変です。調べないといけないですね。
※やっぱりカーネルの再構築が要ります。ディフォルトのインストールではカーネルがquota使用を有効にしてません。
CONFIG_QUOTA = is not set を CONFIG_QUOTA = y にして再構築する必要があります。
「やってみるかー」とも思いましたが、もはや打ち切りのPC-98x1シリーズをいじっても仕方がないなぁ・・・・です。
Plamo Linux 3.3 (98) をいじるのはこれくらいにしたいと思います。(単に根性無しなだけかもしれません)
これでおしまいです。・・・・2005年8月3日 22:02:24
Prev | Top | |
システムの運用管理(プロセス管理、メモリ・ディスク管理) | 目次 |