Linux 上的 ZFS:每个脚本手动挂载时哪个挂载点选项?

Mel*_*bon 5 debian mount zfsonlinux

我想在 Debian Buster 上的 Linux (7.13) 上使用 ZFS 创建一个 zpool。问题是池将基于 LUKS 加密驱动器(不是 root,只有外部)创建。这些驱动器在引导期间由我创建的脚本解密和加载,因为它们从外部源提取密钥文件。

为了避免在驱动器被解密和加载之前系统想要挂载 zpool 的时间问题,我想手动挂载池作为脚本的一部分。

现在我问自己在创建池时应该为挂载点选择哪个选项:nonelegacy

手册页并没有真正帮助真正的区别是什么:

如果文件系统的挂载点设置为旧版 ZFS,则不会尝试管理文件系统,管理员负责挂载和卸载文件系统。由于必须先导入池,然后才能成功进行传统挂载,因此管理员应确保仅在 zpool 导入过程在引导时完成后才尝试进行传统挂载。例如,在使用 systemd 的机器上,挂载选项

有人知道真正的区别以及如何以最佳方式稍后通过脚本实现手动安装吗?

Mic*_*ton 4

十年来的大部分时间里,我一直在 LUKS 加密卷上使用 ZFS 池。效果很好。

没有理由手动安装池来尝试解决不存在的计时问题。只需正常创建您的泳池即可享受。

为了避免将来出现任何问题,在创建和管理池时,请使用目录luks-中以 开头的名称/dev/mapper来引用设备。例如,设备:

lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856 -> ../../dm-5
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175 -> ../../dm-4
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144 -> ../../dm-2
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R -> ../../dm-3
Run Code Online (Sandbox Code Playgroud)

相当于:

  pool: srv
 state: ONLINE
  scan: scrub repaired 0B in 0h42m with 0 errors on Tue Jul 30 14:42:04 2019
config:

        NAME                                                 STATE     READ WRITE CKSUM
        srv                                                  ONLINE       0     0     0
          mirror-0                                           ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856  ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175  ONLINE       0     0     0
          mirror-1                                           ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144  ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R  ONLINE       0     0     0
Run Code Online (Sandbox Code Playgroud)

该池是通过以下方式创建的:

zpool create -o ashift=12 srv \
    mirror \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856 \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175 \
    mirror \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144 \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R
Run Code Online (Sandbox Code Playgroud)

  • @MelBourbon 在这种情况下,您也应该在手动脚本中“zpool import”池。 (2认同)