今回は、前回に引き続き Solaris 10 10/09(Update 8) でサポートされた
ZFS 新機能の関連記事で、ZFS の quota 管理がユーザ/グループ単位で設定できる
ようになりましたので紹介します。
今まで ZFS のファイルシステムに対する quota による容量制限は、
プール内のファイルシステム単位という制約があり、
管理者がユーザ/グループ単位で容量制限を行うには、ユーザ/グループ毎に
それぞれファイルシステムを作成するしか方法がありませんでした。
しかし、この方法では多くのユーザがいる場合、ファイルシステムの数が多く
なってしまい、管理の面であまり実現的ではありませんでした。
今までの quota 設定方法(ファイルシステム単位)
# zfs set quota=10g tank/home
今回、ユーザ/グループ単位で ZFS ファイルシステムの quota を設定できるように
なりましたので、その手順を紹介します。
ユーザによる quota 設定方法
# zfs set userquota@user01=100m tank/home
# zfs get userquota@user01
NAME PROPERTY VALUE SOURCE
tank userquota@user01 none local
tank/home userquota@user01 100M local
グループによる quota 設定方法
# zfs set groupquota@staff=500m tank/home
# zfs get groupquota@staff
NAME PROPERTY VALUE SOURCE
tank groupquota@staff none local
tank/home groupquota@staff 500M local
最後に、 quota 動作の確認として、ユーザ単位で quota 制限がかかって
いるか mkfile を使って確認してみます。
今回は、上記で設定で user01 に 100MB の quota 制限を設定しましたので、
user01 で 150MB のファイルを作成してみます。
% /usr/ucb/whoami
user01
% mkfile 150m /tank/home/aaa
aaa: initialized 111108096 of 157286400 bytes: Disc quota exceeded
「ユーザ単位の quota 制限が発生しました」 とメッセージが出てこないのは
残念ですが、きちんとユーザ単位で quota 制限が設定されている事が確認できました。
(参考情報)
過去の 「やっぱり Sun がスキ!」blog 記事一覧はこちらを参照下さい。
http://wikis.sun.com/display/yappri/Home