我可以将 zfs 数据集挂载到另一个接入点吗?

我可以将 zfs 数据集挂载到另一个接入点吗?

我正在使用 ZFSBootMenu 进行多 zroot。

zpRoot/LINUX/Artix/System                 mountpoint                   /
zpRoot/LINUX/eos/SysClone1                mountpoint                   /                    
zpRoot/LINUX/eos/System                   mountpoint                   /

启动时zpRoot/LINUX/eos/SysClone1,我想从其他数据集中读取文件,例如zpRoot/LINUX/eos/System.常见的做法是修改挂载点然后挂载,但我经常忘记将挂载点恢复到/.

我尝试过zfs mount -o mountpoint=/mnt/1 zpRoot/LINUX/eos/Systemzfs mount -o altroot=/mnt/1 zpRoot/LINUX/eos/System,但都不起作用。

如何更改内存中的安装点而不将其提交到磁盘?

答案1

我在 FreeBSD 上运行了很多 ZFS,但在 Linux 上运行得很少。看来我的Ubuntu系统无法做到这一点没有环境mountpoint=legacy

# zfs list -o name,canmount,mounted,mountpoint pool/test 
NAME       CANMOUNT  MOUNTED  MOUNTPOINT
pool/test        on       no  /home/research/test
# mount -t zfs pool/test /mnt
filesystem 'pool/test' cannot be mounted using 'mount'.
Use 'zfs set mountpoint=legacy' or 'zfs mount pool/test'.
See zfs(8) for more information.

在 FreeBSD 上,这很容易做到,只需mount -t zfs <dataset> <temp mountpoint>

# zfs list -o name,canmount,mounted,mountpoint jimsdesk/home/test
NAME                CANMOUNT  MOUNTED  MOUNTPOINT
jimsdesk/home/test  on        no       /home/test
# mount -t zfs jimsdesk/home/test /mnt
# zfs mount | grep home
jimsdesk/home                   /home
jimsdesk/home/test              /mnt

相关内容