在 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
,而不是noauto
或off
。
如果你看到这个,那么你就有问题了:
# 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