我在 SSD 上安装了 FreeBSD 11.2-RELEASE,并有一个tank
由 2 个硬盘驱动器组成的 zpool 镜像。
手动导入没有问题:
zpool import -R /mnt tank
然后zfs get all tank
显示:
[root@x9 ~]# zfs get all tank NAME PROPERTY VALUE SOURCE tank type filesystem - tank creation Wed Oct 3 22:36 2018 - tank used 41.9G - tank available 1.71T - tank referenced 66.2M - tank compressratio 1.00x - tank mounted yes - tank quota none default tank reservation none default tank recordsize 128K default tank mountpoint /mnt/tank default
但 zpool 导入永远不会在重新启动后幸存。
一位帮助用户建议未更新的文件/boot/zfs/zpool.cache
可能是罪魁祸首,所以我删除了它,重新导入 zpool 并重新启动。
这并没有解决问题。
答案1
该-R
选项zpool import
为所有挂载点设置临时前缀并且不更新缓存文件。请参阅zpool(8) 手册页了解详情。
如果您希望在启动时安装第二个池的数据集,则/boot/zfs/zpool.cache
需要更新系统缓存文件(位于 )。
如果您想更新缓存文件,则需要zpool import
在没有该-R
选项的情况下执行。该手册还提到显式指定缓存文件(但我尚未测试该选项)。
假设您需要将第二个池的挂载点设置为/mnt/tank
,则应在最终导入池之前执行此步骤。
例如:
zpool import -R /mnt tank
zfs set mountpoint=/mnt/tank tank
zpool export tank
zpool import tank