1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7でのquotaの設定

Last updated at Posted at 2021-02-01

ディスクの容量というのは、通常あまり気にしていないのだけれども、使い切ると結構深刻な事態がが生じる。ディスクの残量が少ない状況では、システムが極めて遅くなることが多いし、ディスクを使い切ると、運が悪いとシステムが立ち上がらなくなることもある。というわけで、quotaで事前に使える要領に制限をかけたり、制限に近づいたりしたときに警告を出すようにしておくと、こゝろ安らかに過ごすことができる。

参考にさせていただいたURL: 【CentOS7】xfsファイルシステムでのクォータ(quota)設定 | server-memo.net

quotaのインストール

以下でインストール。

yum install quota

とはいえ、ミニマルインストールでなければ、入っていることも多い。

quotaでファイルの容量制限ををユーザー単位で設定

quotaでファイルの容量制限がかけられるのは、ユーザー単位、グループ単位、プロジェクト単位がある。ここでは、大学の研究室位を単位とする、小規模なサーバーを念頭に、ユーザーの単位で制限をかけることを考える。

パーティションの設定

quotaを適用するには、mountする際に関連属性を付けておく必要がある。裏を返すと、パーティション単位で監視対象になるか否かが決まる。
一例として、以下のような形で/homeがmountされているとする。(CentOS7を念頭に置いているのでxfsでマウントされているとする)

/etc/fstab(抜粋)
UUID=hogehogehogehogehogehogehogeohgeohge /home                   xfs     defaults        0 0

この/homeをユーザー単位のquotaで管理には、以下のようにuquotaオプションを付けてマウントする。

/etc/fstab(抜粋)
UUID=hogehogehogehogehogehogehogeohgeohge /home                   xfs     defaults,uquota 0 0

このように設定ファイルを書き換え、# umount /homeでアンマウントした後に# mount /homeをすることで、quotaが適用できる状態になる。(一般ユーザーでログインしており、かつその${HOME}/homeにある場合は、この手続きでbusyになってしまって、umountできない。直接rootにログインする必要がある。)

quotaの設定は# xfs_quota -x -c 'report -h' パーティションのコマンドで確認できる。この設定の場合は、# xfs_quota -x -c 'report -h' /homeを実行すると以下の感じの出力が得られる。(グループ、プロジェクト単位のquotaも、設定されていればこれに引き続いて表示される)

User quota on /home (/dev/sdb1)
                        Blocks
User ID      Used   Soft   Hard Warn/Grace
---------- ---------------------------------
root            0      0      0  00 [------]
user1         48K      0      0  00 [------]
user2         48K      0      0  00 [------]
user3       38.1M      0      0  00 [------]
user4         56K      0      0  00 [------]

このsoftとhardの欄に現れている0の表示は、quotaが設定されていないことを意味する。

quotaの制限要領を設定

コマンドは、# xfs_quota -x -c 'limit bsoft=サイズ bhard=サイズ 設定ユーザ' パーティションで、設定ユーザーにquotaで制限をかけられる。例えば# xfs_quota -x -c 'limit bsoft=400G bhard=500G user3' /homeを実行してから# xfs_quota -x -c 'report -h' /homeを見ると

User quota on /home (/dev/sdb1)
                        Blocks
User ID      Used   Soft   Hard Warn/Grace
---------- ---------------------------------
root            0      0      0  00 [------]
user1         48K      0      0  00 [------]
user2         48K      0      0  00 [------]
user3       38.1M   400G   500G  00 [------]
user4         56K      0      0  00 [------]

なる出力が得られる。

一般ユーザーの各自の確認

quotaが入っていれば、$ quota -sで自分のアカウントの状況は確認できる。例えば

Disk quotas for user user3 (uid 1002):
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1  39000K    400G    500G             249       0       0

みたいな感じ。

soft limitを超えたらどうなるの?

私の場合は

/usr/bin/xauth: error in locking authority file /home/user/.Xauthority

が出た。それと、ログイン後にすごく時間がかかる。
このメッセージに関連して色々調べてみて処方箋を試してみた(例えば、一回.Xauthorityを消すとか)が、問題は解決せず。多分、soft limitにあたって、新しいファイルを作ることが阻害され、それに関連して問題が現れていた模様。
不要なファイルを消したら、この問題は生じなくなった。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?