web-dev-qa-db-ja.com

複数のZFSファイルシステムプロパティを一度に設定する方法はありますか?

私の通常のZFSファイルシステムビルドプロセスは次のようになります。

zpool create vol1 -o autoexpand=on -o autoreplace=on mirror nvme0n1 nvme1n1 -f
zfs set compression=lz4 vol1
zfs set atime=off vol1
zfs set xattr=sa vol1
zfs set acltype=posixacl vol1
zfs create vol1/data -o mountpoint=/data

ZFSでは、ファイルシステムでのオプションの設定と、-oフラグを使用したプールの作成が許可されているようです。ただし、多くの場合、ローカルで定義するのではなく、(新しいファイルシステムによる継承のために)トップレベルでファイルシステムパラメーターを設定する必要があります。

複数のzfs set parameter=value行を単一のコマンドラインに合理化する方法はありますか?

6
ewwhite

実装によって異なります。

FreeBSD(10.3-STABLE)では、次のことができます。

# zfs create zfsroot/test
# zfs set compression=lzjb sync=disabled zfsroot/test
#

また、Solaris(11.2)では、次のことはできません。

# zfs create rpool/test
# zfs set compression=on sync=disabled rpool/test
cannot open 'sync=disabled': invalid dataset name
#

私はzfsを備えたLinuxを持っていないので、これはあなたが発見するためのものです。 :)

5
drookie

これは少し遅いかもしれませんが、それが-O(大文字)は、プールのルートデータセット用です。小文字-oはプールのプロパティ用です。私はこれを buntu/ZoL で使用しましたが、 FreeBSD にもあるようです。 Solaris もそうです!

2
Samuel Harmer