quota の設定
2000-03-22 作成 福島
2000-10-19 更新 福島
2003-03-05 更新 福島
TOP > tips > quota

quota を利用すると
・inode の数 (ファイル数のことです)
・ディスクブロックの数 (ファイルの大きさのことです)
を制限することができます。

※これらは独立に適応されます。
 たとえば、inode の数を 0 にして、ディスクブロックの数を制限すれば
 「ファイルは無数に作成できるが、合計で制限される」という設定になります。

※ディスクブロック数は 1KB 単位です。
 ファイルシステムが 2K クラスタでフォーマットされていた場合、
 1 バイトのファイルを作成すると数値が 2 増加します。
 1MB に制限するには 1000 と書きます。

root ('/' じゃないです) に quota を設定することはできません。
root に quota を設定すると立ち上がらなくなります。


自動立ち上げの設定
#!/bin/sh
#
# chkconfig: 345 90 36
# description: enable quota
#
# quota を使うパッケージよりも早く起動し、
# 遅く終了すること。
# そうしないと意味が無い。

# See how we were called.
case "$1" in
  start)
        echo -n "enable quota: "
        /sbin/quotacheck -avug
        /sbin/quotaon -avug
        echo
        touch /var/lock/subsys/quota
        ;;
  stop)
        echo -n "disable quota: "
        /sbin/quotaoff -avug
        echo
        rm -f /var/lock/subsys/quota
        ;;
  restart)
        echo -n "Restarting quota services: "
        $0 stop
        $0 start
        echo "done."
        ;;
  *)
        echo "Usage: quota {start|stop|restart}"
        exit 1
esac
[/etc/fstab] /dev/hdc1 /newhd1 ext2 defaults,usrquota 1 1 /dev/hdc2 /newhd2 ext2 defaults,usrquota 1 1 /dev/hdc3 /newhd3 ext2 defaults,grpquota 1 1 グループで制限する場合 quotaの作業ファイルを各々作成 (RedHat 7.2 では "aquota.user"、"aquota.group" で作成する) touch /newhd1/quota.user; chmod 600 /newhd1/quota.user touch /newhd2/quota.user; chmod 600 /newhd2/quota.user touch /newhd3/quota.user; chmod 600 /newhd3/quota.group # quotacheck -am 最初に一度実行する。(/etc/fstab を検索して quota.user を作成する) # chkconfig --add quota リブート # shutdown -r now
ユーザ foo に制限を加える(編集する) # /usr/sbin/edquota foo quota の状況を表示 # /sbin/quotacheck -a step1. # /usr/sbin/repquota -a step2. ユーザ毎の表示 (ユーザが自分で制限を知る場合) # /usr/bin/quota
soft : 警告の容量を設定します。(執行猶予あり) hard : 容量を規制します。(執行猶予なし) 執行猶予の調整 # /usr/sbin/edquota -t