我的 ZFS 池中有以下数据集:
NAME USED AVAIL REFER MOUNTPOINT
rpool 3.68G 185G 192K none
rpool/FOO 3.43M 185G 192K none
rpool/FOO/ds 3.24M 185G 3.05M /home/ds
rpool/FOO/ds/sdk 192K 185G 192K /home/ds/sdk
rpool/ROOT 3.68G 185G 3.68G legacy
我想在启动rpool/ROOT
时安装/
,因此我需要从用户提示符加载其加密密钥。我不想rpool/FOO/*
在启动时安装,也不希望用户在启动时提示输入其加密密钥 - 我将加载其密钥并稍后通过其他进程安装它。
这看起来像是一份工作boot.zfs.requestEncryptionCredentials
但我不知道如何使用它:
如果我将其设置为(单例)列表
["rpool/ROOT"]
,那么我在启动时不会收到密码提示,因此随后NixOS Stage 1
会失败并显示Key load error: Keys must be loaded for encryption root of 'rpool/ROOT' (rpool)
.如果我将其设置为
true
,则会收到两个密码提示:一个为rpool/ROOT
,另一个为rpool/FOO/ds
。这正是我想要避免的。
选项文档中的示例有点奇怪,因为它看起来不像<pool>/<dataset>
ZFS 的常用语法:
例子:
[ "tank" "data" ]
所以我不确定我使用的"rpool/FOO"
语法是否正确。