IT pass HikiWiki - [Memo2011][ITPASS} quota やり直し作業ログ Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
2011/11/14 に中坊が quota のやり直し作業を行った.(ロガー:中坊)
{{toc}}
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
== 目的
各ユーザのディスク使用量を
* ソフトリミット 40 GB
* ハードリミット 48 GB
に制限するため, quota を導入する.
== kernel が quota に対応しているか確認
以下のコマンドを入力した.
$ grep CONFIG_QUOTA /boot/config-2.6.32-5-amd64
CONFIG_QUOTA=y と表示されたので対応していることを確認できた.
== quota コマンドが入っているか確認
$ which quota
/usr/bin/quota
のように quota コマンドのパスが表示された.
== /etc/fstab の編集
# vim /etc/fstab
で, home を含むファイルシステム ( /dev/sda3 ) の
<options> 項目に usrquota を追加するため,
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults, 0 2
を
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults,usrquota 0 2
^^^^^^^^
に変更した.
== quota の記録ファイル ( aquota.user ) の作成
quota を停止させた.
# /etc/init.d/quota stop
以前までの作業で作られた quota.user, aquota.user のバックアップを取り, 削除した.(quota を停止させないと削除できない)
aquota.user ファイルを作成するために以下のコマンドを実行した.
ファイルシステムは /home 領域をマウントしたものを指定.
# quotacheck -cu /dev/sda3
aquota.user ファイルのパーミッションを確認した.
root@ika-itpass:/home# ls -l aquota.user
-rw------- 1 root root 21504 2011-11-14 19:36 aquota.user
== quota の再起動
/etc/fstab の情報を反映させるために, quota を再起動させた.
# /etc/init.d/quota restart
== gate ユーザの quota 設定
gate-toroku-system は新規ユーザのホームディレクトリを
作成した際に, gate ユーザに設定された quota を新規ユーザに
適用する. そのため gate ユーザに quota を設定した.
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の
quota をかけた.
# export EDITOR=vim
# edquota gate
デフォルトでは emacs のようなエディターが立ち上がるため, vim に変更した.
内容を以下のように編集した.
容量のリミットは,
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`
cps はソフトリミット 100 GB, ハードリミット 100 GB に変更した.
# edquota cps
山中先生(mdy)のアカウントはソフトリミット 80GB, ハードリミット 96GB に変更した
# edquota mdy
以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
== 動作確認
試験のために, tyubo の quota の設定を ソフトリミット 500 MB,
ハードリミット 2.5 GB にする.
dd コマンドを用いて, 合計 500 MB のソフトリミットを越えるサイズの
ファイルを作成し, 警告されるかどうかを確認した.(既に 200 MB のファイルが存在している)
$ dd if=/dev/zero of=tmp bs=1000k count=400
/dev/zero を入力ファイルとして, tmp を出力ファイルとして読み書きする.
bs は一度に行う読み出し書き込みのサイズ, count は読み出し書き込みの回数である.
以下のように警告が表示された.
tyubo@ika-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=400
sda3: warning, user block quota exceeded.
400+0 records in
400+0 records out
409600000 bytes (410 MB) copied, 0.353912 s, 1.2 GB/s
tmp を削除し, ソフトリミットを200 MB, ハードリミットを250 MB にして同様にファイルを作成し,警告されるかどうか確認した.
$ dd if=/dev/zero of=tmp bs=1000k count=300
以下のように警告が表示された.
tyubo@ika-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=300
sda3: write failed, user block limit reached.
dd: writing `tmp': ディスク使用量制限を超過しました
48+0 records in
47+0 records out
48713728 bytes (49 MB) copied, 0.0643506 s, 757 MB/s
これで動作確認ができた.
ファイルを削除し, quota の設定も元に戻した.
== /home.bk の quota 設定の解除
ika のローカルバックアップのために行った /home.bk 領域への quota の設定の影響で, edquota コマンドや quota コマンドを実行すると, /home.bk 領域のファイルも読み込もうとして「ファイルが存在しない」という旨のエラーが表示されていた(実際のエラー内容は記録し忘れ).それを解消するために fstab 内にある記述を
/dev/sdb3 /home.bk ext3 defaults,usrquota 0 2
から
/dev/sdb3 /home.bk ext3 defaults 0 2
に変更した.
また, 混乱を避けるために /home.bk にある quota.user を消して, /home のaquota.userをコピーしたかったが, なぜか"読み込み専用ファイルシステムです"と表示され消去もコピーもできなかった.
その問題を解決するため, /bk と /home.bk を一度アンマウントし, マウントしなおした.
マウントが正しくされているかどうかを確認した.
root@ika-itpass:/home/chikuwa2# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 57674192 8491012 46253496 16% /
udev 8229824 224 8229600 1% /dev
/dev/sda3 1834427936 271876792 1469367608 16% /home
/dev/sdb1 57674192 8735396 46009112 16% /bk
/dev/sdb3 1834427936 271933828 1469310572 16% /home.bk
結果, quota.user の削除と aquota.user のコピーを実行することができた.
また, edquota や quota を実行してもエラーが出ないことが確認された.
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
{{toc}}
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
== 目的
各ユーザのディスク使用量を
* ソフトリミット 40 GB
* ハードリミット 48 GB
に制限するため, quota を導入する.
== kernel が quota に対応しているか確認
以下のコマンドを入力した.
$ grep CONFIG_QUOTA /boot/config-2.6.32-5-amd64
CONFIG_QUOTA=y と表示されたので対応していることを確認できた.
== quota コマンドが入っているか確認
$ which quota
/usr/bin/quota
のように quota コマンドのパスが表示された.
== /etc/fstab の編集
# vim /etc/fstab
で, home を含むファイルシステム ( /dev/sda3 ) の
<options> 項目に usrquota を追加するため,
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults, 0 2
を
# /home was on /dev/sda3 during installation
UUID=374db796-98f7-458e-acc4-5dee7234f046 /home ext3 defaults,usrquota 0 2
^^^^^^^^
に変更した.
== quota の記録ファイル ( aquota.user ) の作成
quota を停止させた.
# /etc/init.d/quota stop
以前までの作業で作られた quota.user, aquota.user のバックアップを取り, 削除した.(quota を停止させないと削除できない)
aquota.user ファイルを作成するために以下のコマンドを実行した.
ファイルシステムは /home 領域をマウントしたものを指定.
# quotacheck -cu /dev/sda3
aquota.user ファイルのパーミッションを確認した.
root@ika-itpass:/home# ls -l aquota.user
-rw------- 1 root root 21504 2011-11-14 19:36 aquota.user
== quota の再起動
/etc/fstab の情報を反映させるために, quota を再起動させた.
# /etc/init.d/quota restart
== gate ユーザの quota 設定
gate-toroku-system は新規ユーザのホームディレクトリを
作成した際に, gate ユーザに設定された quota を新規ユーザに
適用する. そのため gate ユーザに quota を設定した.
gate ユーザにソフトリミット 40 GB, ハードリミット 48 GB の
quota をかけた.
# export EDITOR=vim
# edquota gate
デフォルトでは emacs のようなエディターが立ち上がるため, vim に変更した.
内容を以下のように編集した.
容量のリミットは,
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`
cps はソフトリミット 100 GB, ハードリミット 100 GB に変更した.
# edquota cps
山中先生(mdy)のアカウントはソフトリミット 80GB, ハードリミット 96GB に変更した
# edquota mdy
以下のコマンドで各ユーザの quota の情報を確認した.
# repquota -v /home
== 動作確認
試験のために, tyubo の quota の設定を ソフトリミット 500 MB,
ハードリミット 2.5 GB にする.
dd コマンドを用いて, 合計 500 MB のソフトリミットを越えるサイズの
ファイルを作成し, 警告されるかどうかを確認した.(既に 200 MB のファイルが存在している)
$ dd if=/dev/zero of=tmp bs=1000k count=400
/dev/zero を入力ファイルとして, tmp を出力ファイルとして読み書きする.
bs は一度に行う読み出し書き込みのサイズ, count は読み出し書き込みの回数である.
以下のように警告が表示された.
tyubo@ika-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=400
sda3: warning, user block quota exceeded.
400+0 records in
400+0 records out
409600000 bytes (410 MB) copied, 0.353912 s, 1.2 GB/s
tmp を削除し, ソフトリミットを200 MB, ハードリミットを250 MB にして同様にファイルを作成し,警告されるかどうか確認した.
$ dd if=/dev/zero of=tmp bs=1000k count=300
以下のように警告が表示された.
tyubo@ika-itpass:~$ dd if=/dev/zero of=tmp bs=1000k count=300
sda3: write failed, user block limit reached.
dd: writing `tmp': ディスク使用量制限を超過しました
48+0 records in
47+0 records out
48713728 bytes (49 MB) copied, 0.0643506 s, 757 MB/s
これで動作確認ができた.
ファイルを削除し, quota の設定も元に戻した.
== /home.bk の quota 設定の解除
ika のローカルバックアップのために行った /home.bk 領域への quota の設定の影響で, edquota コマンドや quota コマンドを実行すると, /home.bk 領域のファイルも読み込もうとして「ファイルが存在しない」という旨のエラーが表示されていた(実際のエラー内容は記録し忘れ).それを解消するために fstab 内にある記述を
/dev/sdb3 /home.bk ext3 defaults,usrquota 0 2
から
/dev/sdb3 /home.bk ext3 defaults 0 2
に変更した.
また, 混乱を避けるために /home.bk にある quota.user を消して, /home のaquota.userをコピーしたかったが, なぜか"読み込み専用ファイルシステムです"と表示され消去もコピーもできなかった.
その問題を解決するため, /bk と /home.bk を一度アンマウントし, マウントしなおした.
マウントが正しくされているかどうかを確認した.
root@ika-itpass:/home/chikuwa2# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 57674192 8491012 46253496 16% /
udev 8229824 224 8229600 1% /dev
/dev/sda3 1834427936 271876792 1469367608 16% /home
/dev/sdb1 57674192 8735396 46009112 16% /bk
/dev/sdb3 1834427936 271933828 1469310572 16% /home.bk
結果, quota.user の削除と aquota.user のコピーを実行することができた.
また, edquota や quota を実行してもエラーが出ないことが確認された.
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]