RBD 卷加密

https://blueprints.launchpad.net/nova/+spec/libvirt-qemu-native-luks

此功能为 Cinder RBD 卷驱动程序添加支持,以支持 Cinder 的卷加密。

由于 RBD 卷由 qemu 直接附加,而不是作为主机上的块设备,因此需要在 Cinder 和 Nova 中进行一些更改。

这填补了 Cinder 中 RBD 驱动程序的特性空白。

问题描述

RBD 驱动程序不支持卷加密。

用例

卷加密是部署的常见要求,尤其是在部署者需要满足特定安全标准的情况下。

提议的变更

通过 qemu 的 LUKS 块层启用 RBD 的卷加密。

这意味着 Nova 必须支持 libvirt 操作来管理此 qemu 功能。这在此处完成

我们还需要 Cinder 在创建卷时使用 LUKS 标头对其进行格式化。目前 os-brick 为 iSCSI 驱动程序执行此操作,但由于计算主机上没有块设备,并且不使用 dm-crypt,因此无法以相同的方式为 RBD 执行此操作。

(注意:当使用 Nova 中的 qemu iSCSI 发起者时,情况也是如此)

备选方案

数据模型影响

REST API 影响

安全影响

这是一个安全相关的特性,但它使用了 Cinder 卷加密的现有基础设施。

使用 RBD 时的加密方式与其他 Cinder 驱动程序略有不同。解密/加密在 qemu 内部处理,而不是通过主机上的 dm-crypt 在设备映射器层处理。

这意味着需要以 root 用户身份运行的操作更少,并且通过块设备将解密数据暴露给系统的风险也更低。

但是,该功能总体上与 Cinder 卷加密对其他驱动程序具有相同的安全影响。

通知影响

其他最终用户影响

性能影响

使用加密可能会导致计算节点上的 CPU 使用率略有提高。应该与使用任何其他 Cinder 驱动程序的加密相当。

其他部署者影响

开发人员影响

实现

负责人

主要负责人

eharney

其他贡献者

lyarwood

工作项

依赖项

测试

此功能将涵盖用于所有卷驱动程序的标准 tempest 测试。

正在此处解决门控配置问题

https://review.openstack.org/#/c/536350/

文档影响

  • 记录卷加密现在适用于 RBD 卷驱动程序

  • 当前限制:不支持附加卷迁移

参考资料