hajichan.net technical version

サーバ管理

quota

quota設定に関して色々記載します。

設定

/etc/vfstabのオプションカラムにrqオプションを付加し、quotaを掛けるファイルシステムのトップディレクトリにquotasファイルを作成するだけです。

quotaを掛けるファイルシステムにオプションrqを付けます。

# vi /etc/vfstab
---
/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes rq

quotasファイルを作成し、リブートします。起動時に/etc/rc2.d/S01MOUNTFSYSによりquota機能が有効になります。

# cd /export/home
# touch quotas
# chmod 600 quotas
# init 6
---
Checking UFS quotas:

ユーザ毎のquota設定

あとは、ユーザ毎にquota設定をしていきます。設定する際に重要なポイントは、soft limitサイズとhard limitサイズの値です。

soft limitは、このサイズ(Kbyte単位)を越えるとタイマーが起動し、timeleftが経過するまでは書込みが可能です。つまりリミットを超過しても、猶予期間が与えられると言うことですね。猶予期間はデフォルトでは1週間(変更可)です。猶予期間が経過した後は、超過したファイルを削除しなければ書き込みできません。

また、hard limitは絶対に越える事は出来ません。

edquotaコマンドでquota設定をします。blocksの単位はKByteです。

# edquota <user name>
---
fs /export/home blocks (soft = 10, hard = 10) inodes (soft = 0, hard = 0)

あるユーザのquota情報をコピーして設定したい場合。

# edquota -p <雛型ユーザ> <user name>
# edquota -p tempuser user1

時間の設定を行いたい場合。キーワードは、month, week, day, hour, min, secです。

# edquota -t
---
fs /export/home blocks time limit = 5 min, files time limit = 0 (default)

設定の確認

quota設定内容を確認します。

# quota -v user1
---
Disk quotas for user1 (uid 100):
Filesystem     usage  quota  limit    timeleft  files  quota  limit    timeleft
/export/home       2     10     10                  2      0      0


# repquota -v -a
---
/dev/dsk/c0t0d0s7 (/export/home):
                      Block limits                      File limits
User           used   soft   hard    timeleft    used   soft   hard    timeleft
user1    --      2     10     10                   0      0      0
user2    --      0     10     10                   0      0      0

// 超過した例
/dev/dsk/c0t0d0s7 (/export/home):
                      Block limits                      File limits
User           used   soft   hard    timeleft    used   soft   hard    timeleft
user1     +-    162     10   1000    7.0 days       0      0      0

quotaの有効/無効

quotaonコマンドとquotaoffコマンドでquotaを有効・無効に出来ます。

有効。

# quotaon -v /export/home
---
/export/home: quotas turned on

無効。

# quotaoff -v /export/home
---
/export/home: quotas turned off

あるユーザだけquotaを無効にしてみる

soft limitもhard limitも値を0に設定すれば、あるユーザだけquotaを無効に出来ます。

blocks (soft = 0, hard = 0) のようにして、無制限に設定する。

# edquota user1
---
fs /export/home blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)
ページのトップへ戻る