Linux

有沒有辦法一次設置多個 ZFS 文件系統屬性?

  • June 20, 2017

我正常的 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也是如此!

引用自:https://serverfault.com/questions/807999