IT pass HikiWiki - [Memo2008][EPA]ika構築作業ログ3(塩原,島津) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

=1020(月)

* 以下は quota の構築ログである.

== 目的

各ユーザのディスク使用量を
* ソフトリミット 10 GB
* ハードリミット 12 GB
に制限するため.

== kernel が quota に対応しているか確認

以下のコマンドを入力する.

$ grep CONFIG_QUOTA /boot/config-2.6.18-6-686

CONFIG_QUOTA=y と表示されており, 対応しているのを確認.

== quota コマンドが入っているか確認

* 方法1: $ which quota

$/usr/bin/quota
と返ってくる.

* 方法2: $ dpkg -l | grep quota

  dpkg -l でパッケージの一覧を表示し, "quota" を含む行を表示する.
  
$ii quota 3.14-7 implementation of the disk quota system
と返ってくる.

すでに[((<[EPA2008]導入されている debian パッケージの引き継ぎ>))]で導入済み.

== /etc/fstab の編集

# vi /etc/fstab

で, 以下のように home を含むファイルシステム (ここでは /dev/sda6) の
<options> 項目に usrquota を追加.

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda6       /home           ext3    defaults,usrquota        0       2
/dev/sda5       none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

== quota の記録ファイル (aquota.user) の作成

/home ディレクトリに移動して aquota.user ファイルを作成.

# cd /home
# touch aquota.user

aquota.user ファイルのパーミッションを以下のように設定.

# chmod 600 aquota.user

=1021(火)

== システムの再起動

/etc/fstab の情報を反映させるためにシステムを再起動.

# reboot

== gate ユーザの quota 設定

gate ユーザに quota を設定する.

gate ユーザにソフトリミット 10 GB, ハードリミット 12 GB の
quota をかける.

# export EDITOR=vi
# edquota gate

vi が立ち上がるので, 以下のように編集. 容量のリミットは,
soft 項目 10000000 (単位は KB), hard 項目 12000000 (単位は KB).
ファイル数のリミットは, soft 項目も hard 項目も 0 (単位はファイル数).

Disk quotas for user gate (uid 500):
Filesystem                   blocks       soft       hard     inodes     soft     hard
/dev/sda6                      2628   10000000   12000000        493        0        0

== 既存ユーザの quota 設定

gate ユーザの quota をすでに /home に存在するすべてのユーザに適用.

# cd /home
# edquota -p gate `gate-user-list stable`

# repquota /home

を用いて, 各ユーザに quota が適用されていることを確認.

== 動作確認

試験のために一時的に適当なユーザの quota の設定を ソフトリミット 200 MB,
ハードリミット 250 MB にする.

以下のように dd コマンドを用いて 200 MB のソフトリミットを越えるサイズの
ファイルを作成し, 警告されるかどうか確認.

$ dd if=/dev/zero of=tmp bs=1000k count=200

/dev/zero を入力ファイルとして, tmp を出力ファイルとして読み書きする.
bs は一度に行う読み出し書き込みのサイズ, count は読み出し書き込みの回
数を表す. (このようにすると, 1000 kbytes × 200 のサイズのファイル tmp
が作成される.)

以下のように表示.

sda6: warning, user block quota exceeded.
200+0 records in
200+0 records out
204800000 bytes (205 MB) copied, 0.452723 seconds, 452 MB/s

tmp を削除し, 同様にハードリミットを越えるサイズのファイルを作成し,
警告されるかどうか確認.

$ dd if=/dev/zero of=tmp bs=1000k count=300

以下のように表示.

sda6: warning, user block quota exceeded.
sda6: write failed, user block limit reached.
dd: writing `tmp': ディスク使用量制限を超過しました
250+0 records in
249+0 records out
255713280 bytes (256 MB) copied, 0.634665 seconds, 401 MB/s

以上より正常に動作していることが確認された.