■ Linux のクォータの設定 2010/02/19 更新
設定の流れ
  1. fstab のマウントオプションにクォータを使用する設定を行う。
  2. クォータDBを作成する。
  3. クォータを有効化する。
  4. ユーザごとのクォータ値を設定する。
設定手順
  1. /etc/fstab にクォータオプションを設定する
    # vi /etc/fstab
    緑:デフォルト、オレンジ:変更箇所
     
       ~ 省略 ~
    #LABEL=/home  /home  ext3  defaults  0  0
    LABEL=/home   /home  ext3  defaults,usrquota,grpquota  0  0 ※1
    ※1 マウントオプションに usrquota、grpquota を追記する。
     
  2. クォータDBの作成
    # quotacheck -cugv LABEL=/home
      オプションスイッチ
    -c 新しくDBを作成する。 -u ユーザのデータ使用量を調査する。
    -v 処理の経過を表示する。 -g グループのデータ使用量を調査する。
      現在のファイルシステムの利用状態を調査し、DBを作成していきます。 未使用でも結構時間がかかるので暫く放置します。
      2.5TBで1時間弱くらいかな? ディスクのスピードにもよるか・・・。
     
  3. クォータの有効化
    # quotaon -ug LABEL=/home
      オプションスイッチ
    -u ユーザクォータを有効化
    -g グループクォータを有効化
     
  4. クォータ制限値の設定
    その1.インタラクティブ
    # edquota ユーザ名
      vi の画面が開くので、クォータ設定値を入力する。
     
    その2.コマンドライン
    # setquota userA※1 512000※2 512000※3 0※4 0※5 /home※6
      オプションスイッチ
    ※1 ユーザ名 ※4 inodeソフトクォータ値
    ※2 ブロックソフトクォータ値 ※5 inodeハードクォータ値
    ※3 ブロックハードクォータ値 ※6 クォータを設定するファイルシステム
     
  5. クォータ状態確認
    # repquota -a
    *** Report for user quotas on device /dev/sdb1
    Block grace time: 7days; Inode grace time: 7days
                          Block  limits          File limits
    User            used    soft    hard  grace    used  soft  hard  grace
    ----------------------------------------------------------------------
    root      --  202924       0        0             10    0     0
    userA     --       4  512000   512000              1    0     0
    userB     --    1243  512000   512000              1    0     0
     
  6. クォータの無効化
    # quotaoff -ug LABEL=/home
      オプションスイッチ
    -u ユーザクォータを無効化
    -g グループクォータを無効化
     
  7. クォータDBの再構成
    # quotacheck -ugm LABEL=/home
      オプションスイッチ
    -u ユーザクォータを有効化
    -g グループクォータを有効化
    -m 操作対象ファイルシステムをリードオンリーモードで再マウントすることを拒否し、書き込み可能状態でDB更新を実施する。
    クォータ機能が動作したままDBの更新を行うため、DB更新中にデータが書き込まれた場合、各ユーザの使用量を正確に
    チェックできない可能性がある。 可能であれば、クォータを無効化してから実行するほうが良い。