User/Group単位で ZFS の quota を設定する方法 : やっぱり Sun がスキ! やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20091027 2009年 10月 27日 火曜日

User/Group単位で ZFS の quota を設定する方法

今回は、前回に引き続き 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


投稿されたコメント:

コメント
  • HTML文法 不許可