拡張 A 

Quota 制限

2001.08.19  


 

 ディスクの管理

  • Linux サーバを複数のユーザーで利用する場合、人によっては、多くのディスクを消費することがある。ディスク容量に余裕があったとしても、何故か足りなくなるのが常なので、ユーザー毎にディスク利用容量を割り当てて、無駄な消費をしないようにするのが望ましい。

 Quota とは

  • ユーザー毎にディスク容量やファイル数などを制限する為のツール。

 Quota の インストール

  • まず、既に quota が既にインストールされていないかを確認。

     rpm -q quota

  • Linux インストール CD  の 1枚目に、ntp-4.0.99k-15.i386.rpm  があるので、インストール。 

     rpm -i /mnt/cdrom/RedHat/RPMS/quota-3.00-4.i386.rpm

  • /etc/fstab の 制限をかけたパーティションに usrquota を追記。設定例は下記。

     設定前:
     /dev/hda7 /home ext2 defaults 1 1
     設定後:
     /dev/hda7 /home ext2 defaults,usrquota 1 1

  • 上記の例の場合だと、/home が Quota の対象なので、/home ディレクトリに quota.user ファイルを作成する。

     touch /home/quota.user 

  • 設定を有効にするため、一旦マシンを再起動する。

  • リブート後、Linux 7.1 の場合は aquota.user ファイルが必要になるので
    quota.user を コンバートする。

     /sbin/convertquota -u /home

  • ユーザー tomas に対して、Quota を設定する。容量制限を 警告 4MB、制限 5MB、ファイル数制限を 警告 200、制限 300 と過程した場合。

     ※ blocks は容量制限(単位は kb:キロバイト)であり、inodes はファイル

       数の制限である。 soft limit と hard limit の違いは、soft limit はその

       値を超えると警告され、hard limit はその値を超えてディスクを使う

      ことはできない。

     /usr/sbin/edquota -u tomas

     設定前:
     Quotas for user tomas:
     /dev/hda7: blocks in use: 0, limits (soft = 0, hard = 0)
     inodes in use: 0, limits (soft = 0, hard = 0)


     設定後:
     Quotas for user tomas:
     /dev/hda7: blocks in use: 0, limits (soft = 4096, hard = 5120)
     inodes in use: 0, limits (soft = 200, hard = 300)

     編集後、:wq で書き込みすれば設定完了。

 

    上記設定手順は、下記コマンドでも同様。

     /usr/sbin/setquota -u /home 4096 5120 200 300 tomas

  • Quota の 状況確認は、下記コマンドで行う。

     /usr/sbin/repquota -a

  • ユーザー各々は、quota コマンドで、自分のディスク利用状況を確認できる。

     $ quota

     Disk quotas for user tomas(500):
     Filesystem blocks quota limit grace files quota limit grace
     /dev/hda7     0  4096 5120        1   200 300