読者です 読者をやめる 読者になる 読者になる

うまいぼうぶろぐ

linuxとhttpdとperlのメモ

xfs_quota memo

linux

uquota / ユーザquota
gquota / グループquota
pquota / プロジェクトquota

linuxの通常のquotaではディレクトリ単位の制限ができないけど、xfsのpquotaを使えば可能

設定ファイル

  • /etc/fstab

設定したいquota方法をoptionに書いて(re)mount

/dev/sdb1   /data           xfs     pquota        0 0
  • /etc/projects
id(数字):/path/to/project_name
  • /etc/projid
project_name:id(数字)

わかりやすくするならproject_nameとディレクトリ名はあわせたほうが良いかも。

コマンド

多くのコマンドに共通のオプション

  • -u user quota
  • -g group quota
  • -p project quota
  • -i inode
  • -b block
確認
  • xfs_quota -x -c state
  • xfs_quota -x -c 'df -h'
  • xfs_quota -x -c 'report -h'
設定

xfs_quota -x でexpert modeになってhelpみたらだいたいわかる。

  • limit
  • isoft / ihard inode (isoft, ihardには10g 100k などのsuffixは使えない)
  • bsoft / bhard 容量

redhatのdocument読むと現時点ではリアルタイム rtbsoft/rtbhard はサブボリュームには設定不可能とのこと。
ddしながら見てるとbsoft/bhardは確かに数秒ほどタイムラグがあった。
(diskにflushしたら使用容量に計算される?)

  • ex: project user1にsoftlimit 100G、hard limit 110G設定する

redhatのpageがproject -s とやっているのでその通りにやったが、
help project みても-sの説明が載っていない。。。
## 追記: helpに書いてた
project [-c|-s|-C] project ... -- check, setup or clear project quota trees
## 追記終わり

xfs_quota -x -c 'project -s user1'
xfs_quota -x -c 'limit -p bsoft=100g bhard=110g user1'
  • timer (soft limit超過後の猶予期間)

xfs_quota -x -c 'timer -p -b 1hours'
時間の指定: minutes (m), hours (h), days (d), or weeks (w)