无需重新挂载即可更改 ZFS 挂载点属性

无需重新挂载即可更改 ZFS 挂载点属性

我想用另一个 ZFS 文件系统(同一池中的另一个卷)替换一个 ZFS 文件系统(池中的卷)。重新启动是可以的,但我想避免单用户模式。

当我尝试在旧文件系统上进行设置时mountpoint=none,ZFS 会尝试卸载它,但由于文件正在使用中,因此会失败。因此,我无法mountpoint=/data在新文件系统上进行设置,因为那里正在安装某些东西。属性mountpoint也不会写入文件系统。

如果我重新启动,旧文件系统仍处于挂载状态,服务将开始使用其中的文件,并且我无法再卸载它。有没有办法在mountpoint不实际更改任何已挂载内容的情况下在文件系统上写入属性,然后重新启动,以便在系统再次启动时使用新文件系统?

答案1

在较新版本的 OpenZFS 中,有一个zfs set -u标志。

zfs set -u mountpoint=/data-old zpool/data1
zfs set -u mountpoint=/data zpool/data2

现在属性已更改,但当前挂载点没有任何改变;/data仍然指向zpool/data1,但重新启动后,它将是zpool/data2

相关内容