Mac OS X 資料一覧
ZFSプロパティ設定
2008/4/19更新
対応バージョン: 102A
ZFSのストレージプールに作成したファイルシステムには様々なプロパティが設定されており、これを操作することで細かい制御ができる。
現在のプロパティの設定情報を参照するにはgetサブコマンドに続いて参照したいプロパティ名を指定する。
% zfs get <プロパティ> <ファイルシステム>
全てのプロパティを参照するにはプロパティ名に「all」を指定する。
例)
% sudo zfs get all foo/home/bar NAME PROPERTY VALUE SOURCE foo/home/bar type filesystem - foo/home/bar creation Wed Jan 23 10:14 2008 - foo/home/bar used 19K - foo/home/bar available 928M - foo/home/bar referenced 19K - foo/home/bar compressratio 1.00x - foo/home/bar mounted yes - foo/home/bar quota none default foo/home/bar reservation none default foo/home/bar recordsize 128K default foo/home/bar mountpoint /Volumes/foo/home/bar default foo/home/bar sharenfs off default foo/home/bar checksum on default foo/home/bar compression off default foo/home/bar atime on default foo/home/bar devices on default foo/home/bar exec on default foo/home/bar setuid on default foo/home/bar readonly off default foo/home/bar zoned off default foo/home/bar snapdir hidden default foo/home/bar aclmode groupmask default foo/home/bar aclinherit secure default foo/home/bar canmount on default foo/home/bar shareiscsi off default foo/home/bar xattr on default foo/home/bar copies 1 default foo/home/bar version 2 -
以下、いくつかのプロパティの設定手順を紹介する。
quota
ディスククォータを設定する。
例えば以下のように一つのストレージプールを複数のファイルシステムに分割して使用している場合を考える。
% zfs list NAME USED AVAIL REFER MOUNTPOINT foo 444K 928M 274K /Volumes/foo foo/home 60K 928M 22K /Volumes/foo/home foo/home/bar 19K 928M 19K /Volumes/foo/home/bar foo/home/baz 19K 928M 19K /Volumes/foo/home/baz
この中でfoo/home/barに対して100MBのクォータを設定する場合は以下のようにする。
% sudo zfs set quota=100m foo/home/bar
これによりfoo/home/barの使用可能サイズは100MBになる。それ以外は以前と同じままである。
% zfs list NAME USED AVAIL REFER MOUNTPOINT foo 444K 928M 274K /Volumes/foo foo/home 60K 928M 22K /Volumes/foo/home foo/home/bar 19K 100M 19K /Volumes/foo/home/bar foo/home/baz 19K 928M 19K /Volumes/foo/home/baz
クォータの解除はサイズに「none」を指定して再設定すればよい。
% sudo zfs set quota=none foo/home/bar
reservation
ディスク領域を予約する。
これは前述のクォータのようにファイルシステムの最大サイズを制限するのとは逆に、あらかじめ指定したサイズの領域を確保する方法である。
例えば以下のように一つのストレージプールに2ユーザのホームディレクトリが確保されている場合を考える。
% zfs list NAME USED AVAIL REFER MOUNTPOINT foo 444K 928M 274K /Volumes/foo foo/home 60K 928M 22K /Volumes/foo/home foo/home/bar 19K 928M 19K /Volumes/foo/home/bar foo/home/baz 19K 928M 19K /Volumes/foo/home/baz
この中でfoo/home/barに対して100MBの領域を確保する場合は以下のようにする。
% sudo zfs set reservation=100m foo/home/bar
これによりfoo/homeの使用サイズが100MBになりbarのホームディレクトリのために100MBが確保されたことになる。
% zfs list NAME USED AVAIL REFER MOUNTPOINT foo 100M 828M 274K /Volumes/foo foo/home 100M 828M 22K /Volumes/foo/home foo/home/bar 19K 928M 19K /Volumes/foo/home/bar foo/home/baz 19K 828M 19K /Volumes/foo/home/baz
領域の予約解除はサイズに「none」を指定して再設定すればよい。
% sudo zfs set reservation=none foo/home/bar
compression
プール内を圧縮モードにする。
% sudo zfs set compression=on foo