ディスク管理 quota

LINEで送る
Pocket

quota(クォータ)とは、ユーザー毎、グループ毎にファイルシステムの使用量を制限する機能です。quota を利用すれば、一部のユーザ、グループによってディスクスペースを際限なく使用される事を防ぐことが出来ます。
ユーザの意図しない間にディスクスペースを使用しがちな、Imap サーバや、複数のサービスを同時に立ち上げているサーバで、samba, httpd グループなど、グループ毎に容量制限をかけるなどの用途に利用できます。

quota は、以下のコマンドでインストールします。

$ sudo apt-get -y install quota

容量制限をかけるパーティションは、出来れば /(ルート) パーティションを避けた方が良いので、
今回は /home 配下を別パーティションに割当、 quota の管理対象下にします。

fstab ファイルの対象となるパーティションのオプションに usrquota を追加します。
[/etc/fstab]

UUID=13c996ec-b172-4705-af7c-d979293bdb90   /home   ext4   defaults            0   2
                ↓
UUID=13c996ec-b172-4705-af7c-d979293bdb90   /home   ext4   defaults,usrquota   0   2
/home/ を再マウントします。
$ sudo mount -o remount /home/
クォータファイルを作成します。
$ sudo quotacheck -cum /home/
クォータを有効にします。
$ sudo quotaon /home/
クォータを無効にします。
$ sudo quotaoff /home/
現在の状態を確認します。
$ quotaon -p -a
group quota on /home (/dev/sdb1) is off
user quota on /home (/dev/sdb1) is on
使用可能なディスク容量を設定します。
$ sudo edquota -u username
   or
$ sudo edquota -g groupname
nano が起動するので編集します。
Disk quotas for user username (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                        28    1024000    1536000          9        0        0

soft 制限は、ユーザーが soft 制限値を越えてディスクを消費すると警告を発し、猶予期間に入ります。猶予期間中は hard 制限値を越えるまでディスクに書き込めますが、猶予期間を過ぎると hard制限値を越えていなくても書き込むことができなくなります。容量の設定は、1MB=1024KB と換算して設定します。上記では、 1G のsoft制限, 1.5G の hard制限をかけました。

猶予期間の変更を行います。
$ sudo edquota -t

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/sdb1                     7days                  7days
現在の使用量を確認します。
$ sudo  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      --      20       0       0              2     0     0
taro  --  621568 1024000 1024000             10     0     0
設定以上にディスクスペースを使おうとするとエラーになります。
$ cp /tmp/ubuntu-16.04.1-server-amd64.iso .
cp: 'ubuntu-16.04.1-server-amd64.iso' の書き込みエラー: ディスク使用量制限を超過しました
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください