在外部 USB 驱动器连接上自动挂载和解锁 ZFS 数据集

在外部 USB 驱动器连接上自动挂载和解锁 ZFS 数据集

正如标题所说,我正在尝试使用 ZFS 模仿 LUKS 加密驱动器的行为。

带有 LUKS 的外部 USB 驱动器可以在连接时自动挂载。Ubuntu 将显示一个密码对话框。它提供了一个选项,可以将密码缓存在您的密钥环中,并受您的登录密码保护。下次插入外部 USB 驱动器时,它将使用缓存的密码自动挂载

我想使用 USB SATA 驱动器底座上的 ZFS 数据集模拟该行为,以便它在插入时自动解锁和安装。

我怎样才能最接近地实现这一目标?


PS-我知道使用单个外部驱动器不是主要存在的理由对于 ZFS,但该copies=N设置是为单磁盘冗余设计的。虽然这对于从轻微损坏(即位腐烂)中恢复有一定的用处,但它显然无法防止设备故障。

尽管如此,使用 ZFS copies=3,它被证明对于利用磁盘(例如,作为预防措施而更换的健康但旧的磁盘)作为经济的离线备份是有用的。

答案1

我不确定 ZFS 是否准确地参与使用可移动驱动器的数据传输过程。 发送和接收是在 ZFS 池之间共享数据的本机方式。

你说«使用外部 USB 驱动器上的 ZFS 数据集»,如果重点真的是关于文件系统数据集,这是不可能的。

也就是说,为了达到您的目标,您可能需要在主机上构建一个脚本来执行以下步骤:

  1. 观察 USB 插入事件
  2. 运行zpool import以确保池可用
  3. 读取本地配置
  4. 向用户询问问题(密码、选项、挂载点……)
  5. 使用包含所有信息的命令导入池

相关内容