如何使 ZFS 数据集在启动时自动挂载?

Leo*_*all 8 mount zfs systemd 19.10

我使用 ZFS 来存储我的台式电脑的数据,包括配置文件,因此在启动时自动挂载我的数据集非常重要。我怎么也想不出如何在 Ubuntu 19.10 中做到这一点。

起初,当我运行zfs list和时zpool list,没有输出;它是空的。然后,在弄清楚如何导入我的池后,它们仍然无法安装。

Leo*_*all 4

正确的方法是确保三个单元文件enable在启动时启动:

  • zfs.target,这是所有 ZFS 的首要目标
  • zfs-import.service,在启动时导入 zpools
  • zfs-mount.service,在启动时安装所有数据集

这些单元具有正确设置的依赖项,因此您只需运行:

systemctl enable zfs.target zfs-import.service zfs-mount.service

以确保它们全部打开。之后重启测试;您的 ZFS 数据集应该会显示。


小智 1

我发现 zfs-zed.service 更新 zpool 缓存和 zfs-list 缓存,在 systemctl 挂起后不再运行,并且需要手动重新启动,如果我忘记缓存不会为下次重新启动的任何后续更改进行更新。我将很快通过细节来改进这一点,以便在周末复制并尝试全新安装,或者将其移动到正确的位置。Openzfs 2.1.5,兼容性设置为 openzfs-2.1-linux。Ubuntu 22.04 和 proxmox 通过 zsys 共享启动和根池进行攻击。