IT pass HikiWiki - [EPA]quotaの設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
== 目的
各ユーザのディスク使用量を
* ソフトリミット 10GB
* ハードリミット 12GB
に制限するため, quota を導入する.
== kernel が quota に対応しているか確認
以下のコマンドを入力する.
$ grep CONFIG_QUOTA /boot/config-2.6.18-5-686
CONFIG_QUOTA=y と表示されており, 対応している.
== quota コマンドが入っているか確認
* 方法1: $ which quota
/usr/bin/quota のように quota コマンドのパスが表示されれば入っている.
メッセージが返ってこなければ入っていない.
* 方法2: $ dpkg -l | grep quota
dpkg -l でパッケージの一覧を表示し, "quota" を含む行を表示する.
表示されなければ入っていない.
quota が入っていないことが確認された.
== quota のインストール
* root 権限を得る(epaadmin グループに入っているユーザのみ可能).
$ sudo -s
* quota パッケージをインストール.
# apt-get install quota
== /etc/fstab の編集
# vi /etc/fstab
で, 以下のように home を含むファイルシステム(ここでは /dev/sda1)の <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,usrquota,errors=remount-ro 0 1
/dev/sda5 none swap sw 0 0
/dev/sdb1 /bk ext3 defaults,errors=remount-ro 0 2
/dev/hde /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
== quota の記録ファイル(quota.user)の作成
* root ディレクトリに移動して quota.user ファイルを作成する.
# cd /
# touch quota.user
* quota.user ファイルのパーミッションを以下のように設定する.
# chmod 600 quota.user
== システムの再起動
/etc/fstab の情報を反映させるためにシステムを再起動する.
# reboot
== gate ユーザの quota 設定
gate-toroku-system は, 新規ユーザの home ディレクトリを作成した際に gate ユーザに設定された quota を新規ユーザに適用してくれるので, gate ユーザに quota を設定する.
gate ユーザにソフトリミット 10GB, ハードリミット 12GB の quota をかける.
# 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/sda1 89284 10000000 12000000 7363 0 0
== 既存ユーザの quota 設定
gate ユーザの quota をすでに /home に存在するすべてのユーザに適用する.
# cd /home
# edquota -p gate `ls | grep -v SIGEN`
== ディスクの使用状態を見る
各ユーザがディスクの使用状態を見るには, 以下のコマンドを打つ.
$ quota
ちなみに, root 権限を持つユーザが
# quota [ユーザ名]
と打つと, [ユーザ名]のディスクの使用状態が見れる.
== ソフトリミット超過の猶予期間
デフォルトでは 7 日間である. 変更する場合は edquota コマンドの -t, -T オプションを使って変更できる. 詳しくは man を参照.
== 動作確認
試験のために一時的に適当なユーザの quota の設定を ソフトリミット 200MB, ハードリミット 250MB にする.
以下のように dd コマンドを用いて 200MB のソフトリミットを越えるサイズのファイルを作成し, 警告されるかどうか確認する.
$ dd if=/dev/zero of=tmp bs=1000k count=100
/dev/zero を入力ファイルとして, tmp を出力ファイルとして読み書きする.
bs は一度に行う読み出し書き込みのサイズ, count は読み出し書き込みの回数である.
(このようにすると, 1000kbytes × 100 のサイズのファイル tmp が作成される.)
警告されると以下のように表示される.
(ソフトリミット超過に対する警告)
$ dd if=/dev/zero of=tmp bs=1000k count=100
sda1: warning, user block quota exceeded.
100+0 records in
100+0 records out
102400000 bytes (102 MB) copied, 0.224679 seconds, 456 MB/s
(ハードリミット超過に対する警告)
$ dd if=/dev/zero of=tmp2 bs=1000k count=100
sda1: write failed, user block limit reached.
dd: writing `tmp2': ディスク使用量制限を超過しました
12+0 records in
11+0 records out
11636736 bytes (12 MB) copied, 0.0253681 seconds, 459 MB/s
試験が終われば忘れずにファイルを削除し, quota の設定も元に戻しておくこと!!
== 目的
各ユーザのディスク使用量を
* ソフトリミット 10GB
* ハードリミット 12GB
に制限するため, quota を導入する.
== kernel が quota に対応しているか確認
以下のコマンドを入力する.
$ grep CONFIG_QUOTA /boot/config-2.6.18-5-686
CONFIG_QUOTA=y と表示されており, 対応している.
== quota コマンドが入っているか確認
* 方法1: $ which quota
/usr/bin/quota のように quota コマンドのパスが表示されれば入っている.
メッセージが返ってこなければ入っていない.
* 方法2: $ dpkg -l | grep quota
dpkg -l でパッケージの一覧を表示し, "quota" を含む行を表示する.
表示されなければ入っていない.
quota が入っていないことが確認された.
== quota のインストール
* root 権限を得る(epaadmin グループに入っているユーザのみ可能).
$ sudo -s
* quota パッケージをインストール.
# apt-get install quota
== /etc/fstab の編集
# vi /etc/fstab
で, 以下のように home を含むファイルシステム(ここでは /dev/sda1)の <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,usrquota,errors=remount-ro 0 1
/dev/sda5 none swap sw 0 0
/dev/sdb1 /bk ext3 defaults,errors=remount-ro 0 2
/dev/hde /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
== quota の記録ファイル(quota.user)の作成
* root ディレクトリに移動して quota.user ファイルを作成する.
# cd /
# touch quota.user
* quota.user ファイルのパーミッションを以下のように設定する.
# chmod 600 quota.user
== システムの再起動
/etc/fstab の情報を反映させるためにシステムを再起動する.
# reboot
== gate ユーザの quota 設定
gate-toroku-system は, 新規ユーザの home ディレクトリを作成した際に gate ユーザに設定された quota を新規ユーザに適用してくれるので, gate ユーザに quota を設定する.
gate ユーザにソフトリミット 10GB, ハードリミット 12GB の quota をかける.
# 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/sda1 89284 10000000 12000000 7363 0 0
== 既存ユーザの quota 設定
gate ユーザの quota をすでに /home に存在するすべてのユーザに適用する.
# cd /home
# edquota -p gate `ls | grep -v SIGEN`
== ディスクの使用状態を見る
各ユーザがディスクの使用状態を見るには, 以下のコマンドを打つ.
$ quota
ちなみに, root 権限を持つユーザが
# quota [ユーザ名]
と打つと, [ユーザ名]のディスクの使用状態が見れる.
== ソフトリミット超過の猶予期間
デフォルトでは 7 日間である. 変更する場合は edquota コマンドの -t, -T オプションを使って変更できる. 詳しくは man を参照.
== 動作確認
試験のために一時的に適当なユーザの quota の設定を ソフトリミット 200MB, ハードリミット 250MB にする.
以下のように dd コマンドを用いて 200MB のソフトリミットを越えるサイズのファイルを作成し, 警告されるかどうか確認する.
$ dd if=/dev/zero of=tmp bs=1000k count=100
/dev/zero を入力ファイルとして, tmp を出力ファイルとして読み書きする.
bs は一度に行う読み出し書き込みのサイズ, count は読み出し書き込みの回数である.
(このようにすると, 1000kbytes × 100 のサイズのファイル tmp が作成される.)
警告されると以下のように表示される.
(ソフトリミット超過に対する警告)
$ dd if=/dev/zero of=tmp bs=1000k count=100
sda1: warning, user block quota exceeded.
100+0 records in
100+0 records out
102400000 bytes (102 MB) copied, 0.224679 seconds, 456 MB/s
(ハードリミット超過に対する警告)
$ dd if=/dev/zero of=tmp2 bs=1000k count=100
sda1: write failed, user block limit reached.
dd: writing `tmp2': ディスク使用量制限を超過しました
12+0 records in
11+0 records out
11636736 bytes (12 MB) copied, 0.0253681 seconds, 459 MB/s
試験が終われば忘れずにファイルを削除し, quota の設定も元に戻しておくこと!!