第13章 ディスククォータの実装


ディスク領域はディスククォータによって制限できます。ディスククォータは、ユーザーが過度のディスク領域を消費するか、パーティションが満杯になる前にシステム管理者に警告をします。
ディスククォータは、ユーザーグループにも個別のユーザーにも設定できます。このような柔軟性により、各ユーザーに小規模のクォータを指定して(電子メールやレポートなどの)「成り」ファイル(電子メールやレポートなど)を処理し、作業するプロジェクトにより多くのサイジング可能なクォータを持たせることができます(プロジェクトに独自のグループが割り当てられていることを前提とします)。
さらにクォータは、消費されるディスクブロックの数の制御だけでなく、inode (UNIX ファイルシステム内のファイルに関する情報を含むデータ構造) の数も制御するように設定できます。inode はファイル関連の情報を組み込むように使用されるため、これが作成されるファイルの数を制御することも可能にします。
ディスククォータを実装するには、quota RPM をインストールしておく必要があります。

13.1. ディスククォータの設定

ディスククォータを実装するには、以下の手順を行います。
  1. /etc/fstab を修正することで、ファイルシステムごとのクォータを有効にします。
  2. ファイルシステムを再マウントします。
  3. クォータデータベースファイルを作成して、ディスク使用状況テーブルを生成します。
  4. クォータポリシーを割り当てます。
この各手順は、以下のセクションで詳しく説明します。

13.1.1. クォータの有効化

root として、テキストエディターを使用して、/etc/fstab ファイルを編集します。クォータを必要とするファイルシステムに usrquota オプションや grpquota オプションを追加します。
/dev/VolGroup00/LogVol00 /         ext3    defaults        1 1
LABEL=/boot              /boot     ext3    defaults        1 2
none                     /dev/pts  devpts  gid=5,mode=620  0 0
none                     /dev/shm  tmpfs   defaults        0 0
none                     /proc     proc    defaults        0 0
none                     /sys      sysfs   defaults        0 0
/dev/VolGroup00/LogVol02 /home     ext3    defaults,usrquota,grpquota  1 2
/dev/VolGroup00/LogVol01 swap      swap    defaults        0 0
.
.
.
この例では、/home ファイルシステムがユーザーとグループの両方のクォータを有効にしています。
備考
以下の例では、Red Hat Enterprise Linux のインストール時に別の/home パーティションが作成されたことを前提としています。理想的ではありませんが、root(/)パーティション(インストールのデフォルト作成されたパーティション)は、/etc/fstab ファイルでクォータポリシーを設定するのに使用できます。

13.1.2. ファイルシステムの再マウント

usrquota オプションや grpquota オプションを追加した後、fstab エントリーが変更された各ファイルシステムを再マウントします。ファイルシステムがどのプロセスでも使用されていない場合は、以下のいずれかの方法を使用します。
  • umount コマンドを実行してから mount コマンドを実行し、ファイルシステムを再 マウント します。
  • mount -o remount /home コマンドを実行して、ファイルシステムを再マウントします。
ファイルシステムが現在使用中の場合、そのファイルシステムを再マウントする最も簡単な方法は、システムを再起動することです。

13.1.3. クォータデータベースファイルの作成

クォータが有効な各ファイルシステムを再マウントすると、システムはディスククォータを操作できます。ただし、ファイルシステム自体がクォータに対応するようにするには、追加の設定が必要です。次のステップとして、quotacheck コマンドを実行します。
quotacheck コマンドは、クォータが有効なファイルシステムを検証し、現在のディスク使用状況のテーブルをファイルシステムごとに構築します。このテーブルは、ディスク使用状況のオペレーティングシステム用コピーを更新するのに使用されます。また、ファイルシステムのディスククォータが更新されます。
ファイルシステムにクォータファイル (aquota.user および aquota.group) を作成するには、quotacheck コマンドの -c オプションを使用します。たとえば、/home ファイルシステムでユーザーとグループのクォータが有効になっている場合は、/home ディレクトリーにファイルを作成します。
quotacheck -cug /home
-c オプションは、クォータが有効になっているファイルシステムごとにクォータファイルを作成することを指定し、-u オプションは、ユーザークォータをチェックすることを指定し、-g オプションは、グループクォータをチェックすることを指定します。
-u オプションまたは -g オプションのいずれも指定しない場合は、ユーザークォータファイルのみが作成されます。-g のみを指定すると、グループクォータファイルのみが作成されます。
ファイルの作成後、以下のコマンドを実行し、クォータを有効にしたファイルシステムごとの現在のディスク使用量のテーブルを生成します。
quotacheck -avug
使用されるオプションは次のとおりです。
  • a: クォータが有効になっているすべてのファイルシステムを確認し、ローカルにマウントされたファイルシステムを確認します。
  • v: クォータチェックが進む際に詳細なステータス情報を表示します。
  • u: ユーザーディスククォータ情報の確認
  • g: グループのディスククォータ情報の確認
quotacheck の実行が終了すると、有効なクォータ (ユーザーやグループ) に対応するクォータファイルに、/home などの、クォータが有効になっているローカルにマウントされた各ファイルシステムのデータが取り込まれます。

13.1.4. ユーザーごとのクォータ割り当て

最後の手順は、edquota コマンドを使用したディスククォータ割り当てです。
ユーザーにクォータを設定するには、シェルプロンプトで、root で次のコマンドを実行します。
 edquota username
クォータが必要な各ユーザーに対して、この手順を実行します。たとえば、クォータが /etc/fstab/home パーティション(/dev/VolGroup00/LogVol02)で有効になり、edquota testuser コマンドを実行すると、システムのデフォルトとして設定されたエディターに以下が表示されます。
Disk quotas for user testuser (uid 501):
  Filesystem                blocks     soft     hard    inodes   soft   hard
  /dev/VolGroup00/LogVol02  440436        0        0     37418      0      0
備考
EDITOR 環境変数により定義されたテキストエディターは、edquota により使用されます。エディターを変更するには、~/.bash_profile ファイルの EDITOR 環境変数を、使用するエディターのフルパスに設定します。
最初の列は、クォータが有効になっているファイルシステムの名前です。2 列目には、ユーザーが現在使用しているブロック数が示されます。その次の 2 列は、ファイルシステム上のユーザーのソフトブロック制限およびハードブロック制限を設定するのに使用されます。inodes 列は、ユーザーが現在使用している inode の数を示します。最後の 2 列は、ファイルシステムのユーザーに対するソフトおよびハードの inode 制限を設定するのに使用されます。
ハード制限は、ユーザーまたはグループが使用できる最大ディスク容量(絶対量)です。この制限に達すると、それ以上のディスク領域は使用できなくなります。
ソフト制限は、使用可能な最大ディスク容量を定義します。ただし、ハード制限とは異なり、ソフト制限は一定時間超過する可能性があります。この時間は 猶予期間 として知られています。猶予期間の単位は、秒、分、時間、日、週、または月で表されます。
いずれかの値が 0 に設定されていると、その制限は設定されません。テキストエディターで必要な制限に変更します。以下に例を示します。
Disk quotas for user testuser (uid 501):
  Filesystem                blocks     soft     hard   inodes   soft   hard
  /dev/VolGroup00/LogVol02  440436   500000   550000    37418      0      0
ユーザーのクォータが設定されていることを確認するには、以下のコマンドを使用します。
quota testuser

13.1.5. グループごとのクォータ割り当て

クォータは、グループごとに割り当てることもできます。たとえば、devel グループのグループクォータを設定するには(グループはグループクォータを設定する前に存在している必要があります)、以下のコマンドを使用します。
 edquota -g devel 
このコマンドにより、グループの既存クォータがテキストエディターに表示されます。
Disk quotas for group devel (gid 505):
  Filesystem                blocks    soft     hard    inodes    soft    hard
  /dev/VolGroup00/LogVol02  440400       0        0     37418       0       0
制限を変更し、ファイルを保存してからクォータを設定します。
グループクォータが設定されたことを確認するには、次のコマンドを使用します。
quota -g devel

13.1.6. ファイルシステムごとのクォータの割り当て

クォータに有効な各ファイルシステムに基づいてクォータを割り当てるには、次のコマンドを使用します。
 edquota -t 
他の edquota コマンドと同様に、これにより、テキストエディターでファイルシステムの現在のクォータが開きます。
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem                       Block grace period  Inode grace period
  /dev/mapper/VolGroup00-LogVol02       7days                7days
ブロックの猶予期間または inode の猶予期間を変更し、変更をファイルに保存してテキストエディターを終了します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.