27.6. 使用内核密钥环中的密钥创建加密的 Stratis 池
要保护数据,您可以使用内核密钥环从一个或多个块设备创建加密的 Stratis 池。
当您以这种方式创建加密的 Stratis 池时,内核密钥环将用作主加密机制。后续系统重启此内核密钥环后,用来解锁加密的 Stratis 池。
当从一个或多个块设备创建加密的 Stratis 池时,请注意以下几点:
-
每个块设备都使用
cryptsetup
库进行加密,并实施LUKS2
格式。 - 每个 Stratis 池都可以有一个唯一的密钥,或者与其他池共享相同的密钥。这些密钥保存在内核密钥环中。
- 组成 Stratis 池的块设备必须全部加密或者全部未加密。不可能同时在同一个 Stratis 池中加密和未加密块设备。
- 添加到加密 Stratis 池的数据缓存中的块设备会自动加密。
先决条件
-
Stratis v2.1.0 或更高版本已安装,
stratisd
服务正在运行。如需更多信息,请参阅 安装 Stratis。 - 创建 Stratis 池的块设备没有被使用、卸载,且空间中至少为 1 GB。
在 IBM Z 构架中,必须对
/dev/dasd*
块设备进行分区。使用 Stratis 池中的分区。有关分区 DASD 设备的详情,请参考在 64 位 IBM Z 中配置 Linux 实例。
流程
删除您要在 Stratis 池中使用的每个块设备上存在的任何文件系统、分区表或 RAID 签名:
wipefs --all block-device
# wipefs --all block-device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow block-device
值是块设备的路径,例如/dev/sdb
。如果您还没有设置密钥,请运行以下命令,并按照提示创建用于加密的密钥集:
stratis key set --capture-key key-description
# stratis key set --capture-key key-description
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key-description
是对在内核密钥环中创建的密钥的引用。系统将提示您在命令行中输入键值。您还可以将 key 值放在文件中,并使用--keyfile-path
选项而不是--capture-key
选项。创建加密的 Stratis 池并指定用于加密的密钥描述:
stratis pool create --key-desc key-description my-pool block-device
# stratis pool create --key-desc key-description my-pool block-device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key-description
- 引用您在上一步中创建的内核密钥环中存在的密钥。
my-pool
- 指定新的 Stratis 池的名称。
block-device
指定到空或者有线块设备的路径。
您还可以使用以下命令在一行中指定多个块设备:
stratis pool create --key-desc key-description my-pool block-device-1 block-device-2
# stratis pool create --key-desc key-description my-pool block-device-1 block-device-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认创建了新的 Stratis 池:
stratis pool list
# stratis pool list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow