ZFS 数据集不会自动挂载

ZFS 数据集不会自动挂载

在 FreeBSD 12.0 系统上运行,数据集(我的主目录)不会在系统启动时自动挂载。手动挂载(即通过zfs mount zroot/usr/home/username)可以正常工作。

该数据集最初位于不同的磁盘上,并通过 移动到其当前位置zfs send deskback/backup/usr/home/username | zfs receive -e zroot/usr/home

假设我可以添加一个条目来/etc/fstab挂载这个数据集,但这似乎没有必要。我如何让 ZFS 在启动时自动挂载它?

编辑

canmount这些数据集的属性是:

# zfs get -r canmount zroot/usr
NAME                             PROPERTY  VALUE     SOURCE
zroot/usr                        canmount  off       local
zroot/usr/home                   canmount  on        default
zroot/usr/home/username          canmount  on        default
zroot/usr/home/username@--head-- canmount  -         -

答案1

您在 /etc/rc.conf 中设置了“zfs_enable="YES"”对吗?这是在启动时挂载所有数据集的功能,它基本上就是运行zfs mount -a来挂载所有 ZFS 数据集

答案2

检查canmount属性是否设置为on,而不是noautooff

如果你看到这个,那么你就有问题了:

# zfs get canmount zroot/usr/home/<username>
NAME                       PROPERTY  VALUE     SOURCE
zroot/usr/home/<username>  canmount  noauto    default

修复方法:

# zfs set canmount=on zroot/usr/home/<username>

您可能还想检查父数据集。

答案3

要自动挂载zdata池,请运行:

zpool set cachefile=/boot/zfs/zpool.cache zdata

它将保存当前安装的池到缓存中,并在重新启动时自动导入该池。

当然,canmount此池的 zfs 参数必须设置为 on

zfs set canmount=on zdata

相关内容