自动挂载加密的 zfs 数据集

自动挂载加密的 zfs 数据集

作为 的新手zfs,我在启动过程中无法安装加密数据集。该数据集受原始密钥而非密码保护。

这就是我创建 zpool 和数据集的方式:

# zpool list
no pools available

# zpool create ZPOOL -m /media/ZPOOL -o autotrim=on -o failmode=continue /dev/sdb

# zpool list
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
ZPOOL   238G   126K   238G        -         -     0%     0%  1.00x    ONLINE  -
    
# dd if=/dev/random of=/key bs=32 count=1
# zfs create -v -o encryption=on -o keyformat=raw -o keylocation=file:///key -o canmount=on -o dedup=on ZPOOL/ZFS
create ZPOOL/ZFS
        encryption=on
        keyformat=raw
        keylocation=file:///key
        canmount=on
        dedup=on

# df
[...]
ZPOOL                         241762176        128  241762048    1% /media/ZPOOL
ZPOOL/ZFS                     241762176        128  241762048    1% /media/ZPOOL/ZFS

重启后,只有池存在。数据集消失了:

# reboot

# df
[...]
ZPOOL                         241762176        128  241762048    1% /media/ZPOOL

可以手动检索:

# zfs mount -l ZPOOL/ZFS

# df
[...]
ZPOOL                         241762176        128  241762048    1% /media/ZPOOL
ZPOOL/ZFS                     241762176        128  241762048    1% /media/ZPOOL/ZFS

因此看起来密钥没有zfs mount在启动过程中传递。

作为一种解决方法,我在网上找到了-l在启动过程中将参数包含在启动脚本中的提示。我希望这在 Debian 中是可以实现的/etc/default/zfs

# Any additional option to the 'zfs mount' command line?
# Include '-o' for each option wanted.
MOUNT_EXTRA_OPTIONS="-l"

但这根本没有帮助。

你们有解决方案吗?非常感谢你们的支持!

相关内容