使用 ZFS 根安装时,哪些分区需要“canmount=noauto”以及为什么?

使用 ZFS 根安装时,哪些分区需要“canmount=noauto”以及为什么?

使用 ZFS 根安装时,需要哪些分区canmount=noauto以及为什么?

我正在查看 Ubuntu 20.04 的全新安装,其中 root 端有 ZFS。我正在使用 openzfs 网站上的这些说明,但有一件事我不明白,这让我很烦恼。

来自指南:

3.2 为根文件系统和启动文件系统创建文件系统数据集:

zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/ubuntu
zfs mount rpool/ROOT/ubuntu

zfs create -o canmount=noauto -o mountpoint=/boot bpool/BOOT/ubuntu
zfs mount bpool/BOOT/ubuntu

对于 ZFS,通常不需要使用 mount 命令(mount 或 zfs mount)。由于 canmount=noauto,这种情况是个例外。

我理解这noauto意味着需要 fstab 或 mount 命令来挂载卷。但我不明白为什么对于某些数据集这是必要的/推荐的,而对于其他数据集则不是。有人能帮我理解一下吗?

答案1

本教程本身解释了为什么这样做/boot

/boot在 initramfs 中支持挂载之前,我们还需要挂载它,因为它被标记为canmount=noauto。此外,对于 UEFI,我们需要确保它在其子文件系统 之前挂载/boot/efi

因此它指导您配置一个/etc/fstab条目。


通常,作为管理员,您会设置canmount=noauto何时希望数据集可挂载,但在导入 zpool 时不会自动挂载。例如,包含备份的 zpool 就是一个很好的用例。

相关内容