DISKの使用制限(quota)

更新日2007-03-20 (火) 14:53:49

quotaの確認

quotaのインストールの確認。Vine等ではインストールされている

$ rpm -qa | grep quota

Vine3.0 3.1はkernelでquotaがoffになっているので再コンパイルが必要 kernel再コンパイルは

# make mrproper 
# make xconfig

ここでFilesystem -> quotaをONにする または.configで

# 
# File systems
#
CONFIG_QUOTA=y
CONFIG_QFMT_V2=y  <--Raidのときは必要のようだ 
を確認
# make dep
# make bzlilo
# make modules
# make modules_install

# mv /vmlinuz /boot/

/etc/lilo.confを修正

/にquota

/etc/fstabを編集して

/dev/hda1   /   ext3    defaults,usrquota   1 1

今回は/にかけるので、/に quota.user と aquota.userというファイルを作成しrootのみ読み書き可にする

# cd /
# touch quota.user 
# chmod 600 quota.user

# touch aquota.user 
# chmod 600 aquota.user

次のコマンドを実行

# mount -o remount / 
# /sbin/quotacheck -muv(g) /  <--グループがあるとgをつける

quotacheck: WARNING -  Quotafile //aquota.user was probably truncated. Can't  save quota settings...
quotacheck: Scanning /dev/hda1 [/] done
quotacheck: Checked 6601 directories and 109325 files

WARNINGを無視して/aquota.userか/quota.userのどちらかの容量が0でなけれがOK

システム再起動。(quota起動のため)

# reboot

ユーザの容量制限を指定

# /usr/sbin/edquota okada

viで以下のような内容が開く

Disk quotas for user okada (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft      hard
  /dev/hda1                       168       1024       1100         29        0         0

blocks:   kb単位で現在使用されている容量
soft:     kb単位で使用許可する容量。初期値は0なので、ここを指定。
hard:     kb単位で使用許可絶対容量。あとでGrace Periodで指定する期限までは

後半のsoft、hardはinodeについての制限を規定する。しないときは0でよい。

この容量までは使用が認められる。softはこの値を超える、Grace Period期限経つ
とエラーメッセージが出力される。初期値は0なので、ここを指定する。

inodes 以降も同じ意味だがこちらはfile数を指定する。soft、hardすべてにおいて
0は指定なしを意味する。

Grace Periodを設定する

# /usr/sbin/edquota -t

viで以下のような内容が開く

race period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hda1                    7 days                 7 days

容量、ファイル数の制限がsoftの値を超えたときメッセージを出すまで期限を設定

softを超えたらすぐにエラーを出すには

  /dev/hda1                    0                      0

にする。

全体の確認コマンド

# /usr/sbin/repquota -a
個人の確認コマンド

$ quota

次のコマンドにより testというユーザの条件をtest2にコピー。

# /usr/sbin/edquota -p test test2

以下のコマンドは不要かも 一週間1回くらいはquotacheck -aを実行し、データベースを更新

crontab -e
* * * * 0 /sbin/quotacheck -a    <---Vine2.6のバージョンは-aがあったがVine3.xではなくなっている

Vine3.xからはquotacheckは一度quotaoffしてから

# /sbin/quotaoff /
# /sbin/quotacheck -muv(g) / 
# /sbin/quotaon /

強制的に行うには

# /sbin/quotacheck -mf /

グループの容量制限を指定

グループにquotaをかける(/home以下に)[この場合はグループ全体での容量制限で、個人ではない]

/etc/fstabを編集

LABEL=/home             /home                   ext3    defaults,grpquota     1 2

(ユーザ、グループ両方のときはdefaults,grpquota,usrquotaとする)

# cd /home
# touch quota.group
# chmod 600 quota.group
# touch aquota.group
# chmod 600 aquota.group

# mount -o remount /home
# quotacheck -mvu(g) /home <---ユーザだけの時はgは不要
Scanning /home [/home] done
Checked 50 directories and 175 files
Using quotafile /home/quota.group
Updating in-core group quotas
# reboot
# /usr/sbin/edquota -g student

# /usr/sbin/edquota -g -t

Grace period before enforcing soft limits for groups:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hda3                    0 days                 0 days

# /usr/sbin/repquota -a
                        Block limits               File limits
group           used    soft    hard  grace    used  soft  hard  grace
root      --   32992       0       0             25     0     0
staff     --    2636       0       0            199     0     0
student   --       4    5000    5000              1     0     0
Block limits:容量で制限(Kb)
File limits:ファイル数で制限 0の時は制限なし。

元ページ

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS