IT pass HikiWiki - [Memo2011][ITPASS] ika 構築作業ログ 16 (quota2) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
quota の設定において、前回のログにおける問題(ログ 15 (quota) 参照)解決のため、どこに不備があるのかの再確認を含め,もう一度はじめから作業を始めた.
[ITPASSサーバ構築ドキュメント へ戻る]
==目的
各ユーザのディスク使用量を
*ソフトリミット 40 GB
*ハードリミット 48 GB
に制限するため, quota を導入する.
==kernel が quota に対応しているか確認
以下のコマンドを入力した. (2.6.26-2-amd64 等は kernel のバージョンに合わせた)
$ grep CONFIG_QUOTA /boot/config-2.6.26-2-amd64
CONFIG_QUOTA=y と表示された.
==quota コマンドが入っているか確認
$ which quota
/usr/bin/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>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=f3dd32e8-c628-4abd-a6fb-07950b19eaab / ext3 errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults,usrquota 0 2
# swap was on /dev/sda2 during installation
UUID=05758d20-7a3f-4a88-95d3-1f73bcc2c8e5 none swap sw 0 0
# swap was on /dev/sdb2 during installation
UUID=8996c268-e8ca-4aae-98b0-26915ca5468e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
==quota の記録ファイル ( aquota.user ) の作成
/home ディレクトリに移動して aquota.user ファイルを作成した.
# cd /home
# touch aquota.user
aquota.user ファイルのパーミッションを以下のように設定した.
# chmod 600 aquota.user
==システムの再起動
/etc/fstab の情報を反映させるために, システムを再起動した.
しかし、期待されるエラーの確認が出来なかった.
代わりに
checking quotas...quotacheck: Cannot guess format from filename on /dev/sda3. P1 ease specify format oncommandline.
startpar: service(s) returened failure: quota ... failed!
と表示された.
次の3つに問題があるのではないかと思い調べてみたが、
*home が sda3 にマウントされてる事を確認.
*aquota の中身が無いことを確認.
*aquota.user の容量が 0 を確認.
できた。
つまり、ここに問題はない.
ここで、
北大のマニュアルでは aquota.user でなく quota.user でこの作業をしているので, aquota.userを消し, 試しに神戸でも quota.user でやってみる.
すると再起動中に aquota.user がないと言われたので, 再起動後, aquota.user を作って再起動した.
すると,
checking quotas...quotacheck: Cannot guess format from filename on....
done
Turining on quotas...done
と表示された.
今までと違い特に問題となりそうなものが表示されなかった.
マニュアルでの次の作業に移った.
==gate ユーザの quota 設定
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の quota をかけた.
# edquota gate
vi が立ち上がるので, 以下のように編集した. 容量のリミットは, 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/sda6 96208 40000000 48000000 7316 0 0
==既存ユーザの quota 設定
gate ユーザの quota を, 既に /home に存在する全てのユーザに適用した.
# cd /home
# edquota -p gate `gate-user-list stable`
cps はソフトリミット 100 GB, ハードリミット 100 GB に変更した.
山中先生(mdy) は ソフトリミット 80 GB, ハードリミット 96 GB に変更した.
# edquota -u cps
以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
とすると, 各ユーザの quota 情報が表示された.
ディスクの使用状態を見た
各ユーザがディスクの使用状態を見るには, 以下のコマンドを打った.
$ quota
ちなみに, root 権限を持つユーザが
# 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が作成される. )
以下のように警告が表示された.
ryukih@tako-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=200
sda3: warning, user block quota exceeded.
200+0 records in
200+0 records out
204800000 bytes (205 MB) copied, 0.208156 s, 984 MB/s
tmp を削除し, 同様にハードリミットを越えるサイズのファイルを作成し, 警告されるかどうか確認した.
$ dd if=/dev/zero of=tmp bs=1000k count=300
以下のように警告が表示される.
ryukih@tako-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=300
sda3: warning, user block quota exceeded.
sda3: write failed, user block limit reached.
dd: writing `tmp': ディスク使用量制限を超過しました
250+0 records in
249+0 records out
255717376 bytes (256 MB) copied, 0.255161 s, 1.0 GB/s
試験後、忘れずにファイルを削除した.
リミットも元に戻した.
前回の作業における問題(ログ 15 (quota) 参照)は今回生じなかった.
考えられる理由は
*前回、再起動をしたが上手く設定が反映出来てなかった.
*aquota.user と quota.user を再起動前に一度に作ると、何らかの理由で再起動で上手く設定が反映されない(エラーがでる).
今回、quota.user 作成→再起動→ aquota.user 作成→ 再起動
で上手く設定が反映され作業を無事終える結果となった.
[ITPASSサーバ構築ドキュメント へ戻る]
==目的
各ユーザのディスク使用量を
*ソフトリミット 40 GB
*ハードリミット 48 GB
に制限するため, quota を導入する.
==kernel が quota に対応しているか確認
以下のコマンドを入力した. (2.6.26-2-amd64 等は kernel のバージョンに合わせた)
$ grep CONFIG_QUOTA /boot/config-2.6.26-2-amd64
CONFIG_QUOTA=y と表示された.
==quota コマンドが入っているか確認
$ which quota
/usr/bin/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>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=f3dd32e8-c628-4abd-a6fb-07950b19eaab / ext3 errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults,usrquota 0 2
# swap was on /dev/sda2 during installation
UUID=05758d20-7a3f-4a88-95d3-1f73bcc2c8e5 none swap sw 0 0
# swap was on /dev/sdb2 during installation
UUID=8996c268-e8ca-4aae-98b0-26915ca5468e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
==quota の記録ファイル ( aquota.user ) の作成
/home ディレクトリに移動して aquota.user ファイルを作成した.
# cd /home
# touch aquota.user
aquota.user ファイルのパーミッションを以下のように設定した.
# chmod 600 aquota.user
==システムの再起動
/etc/fstab の情報を反映させるために, システムを再起動した.
しかし、期待されるエラーの確認が出来なかった.
代わりに
checking quotas...quotacheck: Cannot guess format from filename on /dev/sda3. P1 ease specify format oncommandline.
startpar: service(s) returened failure: quota ... failed!
と表示された.
次の3つに問題があるのではないかと思い調べてみたが、
*home が sda3 にマウントされてる事を確認.
*aquota の中身が無いことを確認.
*aquota.user の容量が 0 を確認.
できた。
つまり、ここに問題はない.
ここで、
北大のマニュアルでは aquota.user でなく quota.user でこの作業をしているので, aquota.userを消し, 試しに神戸でも quota.user でやってみる.
すると再起動中に aquota.user がないと言われたので, 再起動後, aquota.user を作って再起動した.
すると,
checking quotas...quotacheck: Cannot guess format from filename on....
done
Turining on quotas...done
と表示された.
今までと違い特に問題となりそうなものが表示されなかった.
マニュアルでの次の作業に移った.
==gate ユーザの quota 設定
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の quota をかけた.
# edquota gate
vi が立ち上がるので, 以下のように編集した. 容量のリミットは, 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/sda6 96208 40000000 48000000 7316 0 0
==既存ユーザの quota 設定
gate ユーザの quota を, 既に /home に存在する全てのユーザに適用した.
# cd /home
# edquota -p gate `gate-user-list stable`
cps はソフトリミット 100 GB, ハードリミット 100 GB に変更した.
山中先生(mdy) は ソフトリミット 80 GB, ハードリミット 96 GB に変更した.
# edquota -u cps
以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
とすると, 各ユーザの quota 情報が表示された.
ディスクの使用状態を見た
各ユーザがディスクの使用状態を見るには, 以下のコマンドを打った.
$ quota
ちなみに, root 権限を持つユーザが
# 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が作成される. )
以下のように警告が表示された.
ryukih@tako-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=200
sda3: warning, user block quota exceeded.
200+0 records in
200+0 records out
204800000 bytes (205 MB) copied, 0.208156 s, 984 MB/s
tmp を削除し, 同様にハードリミットを越えるサイズのファイルを作成し, 警告されるかどうか確認した.
$ dd if=/dev/zero of=tmp bs=1000k count=300
以下のように警告が表示される.
ryukih@tako-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=300
sda3: warning, user block quota exceeded.
sda3: write failed, user block limit reached.
dd: writing `tmp': ディスク使用量制限を超過しました
250+0 records in
249+0 records out
255717376 bytes (256 MB) copied, 0.255161 s, 1.0 GB/s
試験後、忘れずにファイルを削除した.
リミットも元に戻した.
前回の作業における問題(ログ 15 (quota) 参照)は今回生じなかった.
考えられる理由は
*前回、再起動をしたが上手く設定が反映出来てなかった.
*aquota.user と quota.user を再起動前に一度に作ると、何らかの理由で再起動で上手く設定が反映されない(エラーがでる).
今回、quota.user 作成→再起動→ aquota.user 作成→ 再起動
で上手く設定が反映され作業を無事終える結果となった.