ARMA
           ARMA Net           製品とサポート           通信販売           会社概要           求人情報       
ARMA Net Login
ID
パスワード
(SSLモードへ)

→ ID・パスワードを紛失された場合

※本サイトは Cookie を使用します

ARMA のユーザー様は、パッケージ付属の使用許諾契約書右下にあるカスタマー ID とパスワードを入力して下さい。

→FAQ 一覧に戻る


 
FAQ-93
 
 
質問
 
 XFS で quota を使うための設定を教えてください
 
 
回答
 
 quota はユーザー毎のファイルシステムリソースを制限する UNIX での伝統的な機能です。本 FAQ では quota とは何かについての詳細な説明はおこないませんので、quota についてよく理解したいユーザーは一般の UNIX の参考書を参照してください。
 さて ARMA の XFS で quota を使用する場合ですが、従来の(ext2 等での) Linux VFS quota とはいくつかの点で異なり、ずっとシンプルなものとなっています。以下では XFS quota の枠組と設定手順について述べます。
 
0. quota の仕組みについて
 
 quota ではブロック数(kb)とファイル数の両方を、ユーザーまたはグループ毎に制限することができます。制限にはブロック数、ファイル数それぞれに soft limit と hard limit の2種類を設定することが出来ます。(ファイル数は正確には inode 数です)
 hard limit は常に越えることができない容量制限であるのに対し、soft limit には猶予(grace)が与えらます。soft limit を越えた場合でも grace time を越えない限りにおいては、制限は発動されません。もし soft limit を越え、さらに grace time を経過した場合は、hard limit を越えた状態と同じ状態となります。
 この場合 soft limit を解除するには、soft limit 以下の使用量までファイルを削減する必要があります。(あるいは管理者が limit を増やすことになります)
 
 
1. XFS quota の有効化
 
 ○
 
従来の Linux VFS quota を使用したいという場合は Linux HOWTO 等を参考にしてください。
 ○
 
本 FAQ の説明の多くは主に xfsprogs パッケージ中の /usr/share/doc/ xfsprogs/README.quota.gz を参照しています。
 XFS の quota の有効化はマウントオプションによります。ファイルシステムのマウントオプションに quota をつけてマウントします。これは usrquota/grpquota でも構いません。またルートファイルシステムの場合はfstab で指定する他に、カーネルのブートオプションの rootflags= で指定しておく必要があります。これは ARMA では /boot/grub/menu.lst で指定することになります。ルートファイルシステムのオプションを有効化にするためにはシステムの再起動が必要です。
 また管理ユティリティとして quota パッケージが必要ですので、こちらも apt-get を用いてインストールしておいてください。
 
 
2. 猶予時間の設定
 
  猶予時間(grace time)はデフォルトでは1週間です。これを変更する場合には setquota を実行します。以下は1時間=3600秒、/mntpoint をマウントポイントとするファイルシステムの例です。
 
 
# setquota -t 3600 3600 /mntpoint
 
 
 最初の3600はブロック、2つめはファイル数についての grace time です。
 
 
3. ユーザー毎の quota 設定
 
 edquota を使用してユーザー毎の quota を設定します。
 
 
# edquota foo
 
 
 とするとエディタが起動します。repquota 形式のテキストを編集し、soft/hard 制限を記入します。0 のままにすると制限がない状態です。また hard limit を 0 にすると soft limit が猶予時間を過ぎても発動されませんので、soft limit のみを使う場合も hard limit に適当な大きい数値を指定してください。
 
 
quota の状態の確認
 
 /usr/sbin/repquota -a で quota の状態を確認します。以下のような出力になります。
 
 
# /usr/sbin/repquota -a
*** Report for user quotas on device /dev/〜
Block grace time: 01:00; Inode grace time: 01:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
foo       +-     432     200 1000000              3     0     0       
 
 
 repquota コマンドはユーザーからも root からも実行できます。root の場合は全員の状態を、ユーザーで実行した場合は自分の quota の状態を表示します。
 
 以上が設定の全体となります。すでに従来の Linux VFS quota に慣れた方のために XFS quota での違いをまとめておくと以下のようになります。
 
quota を有効にするための quotaon の実行は必要ありません。
 
XFS quota には quota ファイルは存在しません。
(quotactl システムコールを通じて行われます)
 
quotacheck も XFS では不要です。同等のチェックは自動的におこなわれます。
 
XFS の quota はアカウンティングのみをおこなうこともできます。例えば以下のようなコマンドで制限のみを停止することができます。
 
# quotaoff -x enforce /mntpoint
 
この状態でも repquota を使用することができます。再度有効にするには以下のようにします。
 
# quotaon /mntpoint
 
 
 
 この他の管理上の注意としては、quota 関連の日本語のマニュアルページの日本版が古くなっている点があります。以下の quota 関連の man については英語版を参照するようにしてください。
 
 
$ LANG= man setquota
 
 ○
 
userquota でなく usrquota です。スペルミスに注意してください。


→FAQ 一覧に戻る

ここで解説しております内容は、弊社でテストを行い動作を確認しておりますが、必ずしもすべての環境における動作を保証するものではありません。
また、実際の設定、インストール作業はすべてお客様の責任においてなされるものとし、当 FAQ を元に行われた作業によりお客様が被ったいかなる損害につきましても、弊社は一切の責任を負わないものとさせていただきますので、ご了承ください。