Linux
有沒有辦法一次設置多個 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
行簡化為一個命令行?
取決於實施。
在 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,所以這個供您發現。:)
我意識到這可能有點晚了,但這就是
-O
(大寫字母)的用途:池的根數據集。小寫字母-o
用於池屬性。我在Ubuntu/ZoL中使用過它,但FreeBSD似乎也有它。哦,你會看那個嗎,看來Solaris也是如此!