qupta の設定

quota の設定

ユーザが使用できるハードディスク容量を以下のように制限する.
補注 2007 年以前の quota の制限は soft 2 GB, hard 2.4 GB であった. 2007 年 11 月の規約改正に伴い, 以下のように変更となった. 規約改正の詳細については こちら を参照のこと.

softhard
www10 GB12 GB

1. 準備

以下の事を確認しておく. まだ行っていない場合はここで行う.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
注意!
もしかしたら,うまくいかない可能性があるので,quota の設定はサーバ入替え時に行うと良い.2016 年度はインストールのみ入替え前に行った.
うまくいかない場合は再インストールを行うとよい.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ファイルシステムに quota 機能を加える為には, ディスクの使用制限を加えるファイルシステムに オプションとして "usrquota (ユーザに制限を加える)" を加える必要がある.

ファイルシステム /dev/sdc1 のオプションとして usrquota を付ける. /etc/fstab を以下のように編集する.

	
# emacs /etc/fstab

-----
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=ad3d00fe-d1d6-440b-b4a4-25bf1dddfdc9 /               ext3    errors=remount-ro 0       1
# /bk was on /dev/sdb1 during installation
UUID=f16aedba-d3d2-4956-bde6-b39b2d073971 /bk             ext3    defaults        0       2
# swap was on /dev/sda5 during installation
UUID=364eb846-6f95-4d09-98e4-e7aaa528bd3a none            swap    sw              0       0
# swap was on /dev/sdb5 during installation
UUID=fa009dce-7c5b-4257-84ff-b55252bc74e6 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

LABEL=system / ext3 errors=remount-ro 0 1
LABEL=system-bk /bk ext3 defaults 0 2
LABEL=home /home ext3 defaults,usrquota 0 2
                               ^^^^^^^^
LABEL=home-bk /home.bk ext3 defaults 0 2

2. 作業

2.1 quota の記録ファイルの作成

quota はディスク制限に関するユーザ情報を quota.user ファイルに蓄える. quota を有効にしたいディレクトリ(今回は /home) に quota.user を作成する.

# quotacheck -f /home/  (時間がかかる)
# ls -l /home/aquota.user (確認)

quota をインストールしたときにデフォルトでは起動している. 上記の記録ファイルに情報を反映させるために quota を再起動する.

# /etc/init.d/quota restart 

2.2 ユーザにディスク使用制限をかける

ソフトリミット 10 G, ハードリミット 12 G にユーザ gate を設定する. それぞれの制限の意味を下に記述した.

ハードリミット:
ディスクの割当を直ちに停止.
ソフトリミット:
一定時間内にユーザに対処するように警告を出す. タイムリミットを過ぎてもソフトリミットを越えたままだと, ディスクの割当を停止.

gate にquota 制限をかければ, gate システムに よって他のユーザにも適用されることになる. gate ユーザの作成は ここを参照すること.


# cd /home/
# edquota gate

-------
Disk quotas for user gate (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda1                     24772   10000000   12000000       2888        0        0
-------

nano が起動され, 以下のようなファイルが表示される. 2 行目の (soft=0, hard=0) (soft=1000000, hard=1200000)(単位は kbytes) に変更する. blocks か inodes かどちらかに制限を加えておけばいい.

block:
使用可能なディスクの容量を制限することができる
inode:
ファイルシステム上に作成可能なファイル数を制限することができる
[変更後]
Quotas for User gate
/dev/hde2: blocks in use : xxx(現在の使用量), limits (soft=1000000, hard=1200000)
            inodes in use : xxx(現在の使用量), limits (soft=0, hard=0)

gate システムによって専攻サーバに登録されたユーザはディスク制限をかけられる. もし gate システムが無い場合, 各ユーザの quota を一つずつ編集するのは かなり手間のかかる作業になってしまう. そこで複数のユーザに同じ制限をか ける場合は次のコマンドを実行する.

# edquota -p user1 user2
...

user1 のディスク制限が user2 以降のユーザにも反映される.

また、少々強引な方法だが一回で全てのユーザに制限をかけることも出来る.

$ cd /home/

# edquota -p gate *

この方法だと、cgi-bin などにも 制限をかけようとするためエラーメッセージが かえってくるが、一般ユーザにはきちんと制限がかかる

2.3 ディスクの使用状態を見るコマンド

各ユーザのディスクの使用状態を見るには, 以下のようにする.

$ quota

# quota -v (ユーザ名)

引数を付けないと自分自身のディスク使用状態が表示される.

2.4 quotaの状態を見るコマンド

各ユーザにどのくらいの quotaがかかってるかを調べる場合は,

# repquota -u -a|less
■オプション
	-a     /etc/fstabに含まれる全てのファイルシステム(ユーザも含む)
	       について表示.       
	-v     全てのquota(未使用のものも含めて)を表示.
	-g     groupユーザのquotaを表示
	-u     userのquotaを表示.(デフォルト)

最終更新日: 2017/03/26 (須藤 康平) Copyright © 2014 epcore