IT pass HikiWiki - [Memo2014][ITPASS] quota のインストールと設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
[ITPASS2014]quotaの設定
ここでは, 各ユーザのディスク使用量を
* ソフトリミット 40 GB
* ハードリミット 48 GB
に制限するために quota を導入する.
作業前に ika における quota 設定を確認した.
ika: # repquota -v /home
変更されているのは山中先生のみであることを確認した
= 準備
== カーネルが quota に対応しているか確認
以下のコマンドを入力して確認した.
$ uname -r
3.2.0-4-amd64
$ grep CONFIG_QUOTA /boot/config-3.2.0-4-amd64
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
確認した
== quota コマンドが入っているか確認
dpkg -l でパッケージの一覧を表示し, "quota" を含む行を表示する.
$ dpkg -l | grep quota
quota が入っていることを確認した
= /etc/fstab の編集
# vim /etc/fstab
で, 以下のように home を含むファイルシステム ( /dev/sda6 ) の <options> 項目に usrquota を追加してリブートした.
# /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).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=88b6f844-b299-42f7-9116-1927db6dd294 / ext4 errors=remount-ro 0 1
# /home was on /dev/sda6 during installation
UUID=e2d384a2-4b77-4075-aaa4-ebb455629120 /home ext4 defaults,usrquota 0 2
# swap was on /dev/sda5 during installation
UUID=452f2ffa-baa1-414f-81aa-cb85762033c4 none swap sw 0 0
# swap was on /dev/sdb5 during installation
UUID=7381c9f9-29fe-4fc1-a14a-aef0aa986361 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
# reboot
root でログインしなおす
login: root
= quota の記録ファイル ( aquota.user ) の作成
* quota を停止させる.
# /etc/init.d/quota stop
* aquota.user ファイルを作成するために以下のコマンドを実行する.
ファイルシステムは /home 領域をマウントしたものを指定した.
# quotacheck -cu /dev/sda6
* aquota.user ファイルのパーミッションが以下の様になっていることを確認する.
# ls -l /home/aquota.user
-rw------- 1 root root 13312 11月 17 16:14 aquota.user
* quota の起動
# /etc/init.d/quota start
= ユーザの quota 設定
== gate ユーザの quota 設定
gate ユーザに quota を設定する.
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の quota をかけた.
# export EDITOR=vim
# edquota gate
容量のリミットは, soft 項目 40 000 000 (単位は KB), hard 項目 48 000 000 (単位は KB).
ファイル数のリミットは, soft 項目も hard 項目も 0 (単位はファイル数).
Disk quotas for user gate (uid 500):
Filesystem blocks soft hard inodes
soft hard
/dev/sda3 5060 40000000 48000000 987
0 0
== 既存ユーザの quota 設定
* gate ユーザの quota を, 既に /home に存在する全てのユーザに適用させた.
# cd /home
# edquota -p gate `gate-user-list stable`
* 山中大学先生 (mdy) のアカウントはソフトリミット 80GB, ハードリミット 96GB に変更した.
# edquota mdy
* 以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
= 動作確認
* 一時的に適当なユーザ (gate のテストで作成した hogehoge を用いた) の quota の設定をソフトリミット 200 MB, ハードリミット 250 MB にする.
* dd コマンドを用いて, 200 MB のソフトリミットを越えるサイズのファイルを作成し,
警告されるかどうかを確認した.
# edquota hogehoge
hogehoge ユーザのホームで次のコマンドを実行した.
# su hogehoge
$ dd if=/dev/zero of=tmp bs=1000k count=200
* 以下のような警告が表示されることを確認した.
sda6: warning, user block quota exceeded.
200+0 records in
200+0 records out
204800000 bytes (205 MB) copied, 0.917824 s, 223 MB/s
* tmp を削除し, 同様にハードリミットを越えるサイズのファイルを作成し, 警
告されるかどうか確認する.
$ dd if=/dev/zero of=tmp bs=1000k count=250
* 以下のような警告が表示されるか確認した.
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.594481 s, 430 MB/s
動作確認後ファイルを削除し, quota の設定も元に戻しておいた.
ここでは, 各ユーザのディスク使用量を
* ソフトリミット 40 GB
* ハードリミット 48 GB
に制限するために quota を導入する.
作業前に ika における quota 設定を確認した.
ika: # repquota -v /home
変更されているのは山中先生のみであることを確認した
= 準備
== カーネルが quota に対応しているか確認
以下のコマンドを入力して確認した.
$ uname -r
3.2.0-4-amd64
$ grep CONFIG_QUOTA /boot/config-3.2.0-4-amd64
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
確認した
== quota コマンドが入っているか確認
dpkg -l でパッケージの一覧を表示し, "quota" を含む行を表示する.
$ dpkg -l | grep quota
quota が入っていることを確認した
= /etc/fstab の編集
# vim /etc/fstab
で, 以下のように home を含むファイルシステム ( /dev/sda6 ) の <options> 項目に usrquota を追加してリブートした.
# /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).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=88b6f844-b299-42f7-9116-1927db6dd294 / ext4 errors=remount-ro 0 1
# /home was on /dev/sda6 during installation
UUID=e2d384a2-4b77-4075-aaa4-ebb455629120 /home ext4 defaults,usrquota 0 2
# swap was on /dev/sda5 during installation
UUID=452f2ffa-baa1-414f-81aa-cb85762033c4 none swap sw 0 0
# swap was on /dev/sdb5 during installation
UUID=7381c9f9-29fe-4fc1-a14a-aef0aa986361 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
# reboot
root でログインしなおす
login: root
= quota の記録ファイル ( aquota.user ) の作成
* quota を停止させる.
# /etc/init.d/quota stop
* aquota.user ファイルを作成するために以下のコマンドを実行する.
ファイルシステムは /home 領域をマウントしたものを指定した.
# quotacheck -cu /dev/sda6
* aquota.user ファイルのパーミッションが以下の様になっていることを確認する.
# ls -l /home/aquota.user
-rw------- 1 root root 13312 11月 17 16:14 aquota.user
* quota の起動
# /etc/init.d/quota start
= ユーザの quota 設定
== gate ユーザの quota 設定
gate ユーザに quota を設定する.
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の quota をかけた.
# export EDITOR=vim
# edquota gate
容量のリミットは, soft 項目 40 000 000 (単位は KB), hard 項目 48 000 000 (単位は KB).
ファイル数のリミットは, soft 項目も hard 項目も 0 (単位はファイル数).
Disk quotas for user gate (uid 500):
Filesystem blocks soft hard inodes
soft hard
/dev/sda3 5060 40000000 48000000 987
0 0
== 既存ユーザの quota 設定
* gate ユーザの quota を, 既に /home に存在する全てのユーザに適用させた.
# cd /home
# edquota -p gate `gate-user-list stable`
* 山中大学先生 (mdy) のアカウントはソフトリミット 80GB, ハードリミット 96GB に変更した.
# edquota mdy
* 以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
= 動作確認
* 一時的に適当なユーザ (gate のテストで作成した hogehoge を用いた) の quota の設定をソフトリミット 200 MB, ハードリミット 250 MB にする.
* dd コマンドを用いて, 200 MB のソフトリミットを越えるサイズのファイルを作成し,
警告されるかどうかを確認した.
# edquota hogehoge
hogehoge ユーザのホームで次のコマンドを実行した.
# su hogehoge
$ dd if=/dev/zero of=tmp bs=1000k count=200
* 以下のような警告が表示されることを確認した.
sda6: warning, user block quota exceeded.
200+0 records in
200+0 records out
204800000 bytes (205 MB) copied, 0.917824 s, 223 MB/s
* tmp を削除し, 同様にハードリミットを越えるサイズのファイルを作成し, 警
告されるかどうか確認する.
$ dd if=/dev/zero of=tmp bs=1000k count=250
* 以下のような警告が表示されるか確認した.
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.594481 s, 430 MB/s
動作確認後ファイルを削除し, quota の設定も元に戻しておいた.