5.6. 配置 AMD SEV Compute 节点,为实例提供内存加密
作为云管理员,您可以为云用户提供创建在支持 SEV 的 Compute 节点上运行的实例,并启用了内存加密。
此功能可从第二代 AMD EPYC™ 7002 系列("Rome")中使用。
要让您的云用户创建使用内存加密的实例,您必须执行以下任务:
- 为内存加密指定 AMD SEV Compute 节点。
- 配置 Compute 节点以进行内存加密。
- 部署 overcloud。
- 创建类别或镜像以使用内存加密启动实例。
如果 AMD SEV 硬件有限,您还可以配置主机聚合来优化 AMD SEV Compute 节点上的调度。要只在 AMD SEV Compute 节点上调度请求内存加密的实例,请创建一个具有 AMD SEV 硬件的 Compute 节点的主机聚合,并将计算调度程序配置为仅将请求内存加密的实例放在主机聚合中。如需更多信息,请参阅 Creating and managing host aggregates 和 Filtering by isolating host aggregates。
5.6.1. 安全加密的虚拟化(SEV) 复制链接链接已复制到粘贴板!
由 AMD 提供的安全加密虚拟化(SEV)保护运行虚拟机实例使用的 DRAM 中的数据。SEV 使用唯一密钥加密每个实例的内存。
当使用非易失性内存技术(NVDIMM)时 SEV 会增加安全性,因为 NVDIMM 芯片可以物理地从具有数据的系统中删除,这与硬盘类似。如果没有加密,任何存储的信息(如敏感数据、密码或密钥)都可能会被破坏。
如需更多信息,请参阅 AMD 安全加密虚拟化(SEV) 文档。
带有内存加密的实例的限制
- 您无法实时迁移,或使用内存加密挂起和恢复实例。
- 您不能使用 PCI 透传直接访问带有内存加密的实例的设备。
您不能使用
virtio-blk作为带有比 kernel-4.18.0-115.el8 (RHEL-8.1.0)更早的 Red Hat Enterprise Linux (RHEL)内核进行内存加密的实例的引导磁盘。注意您可以使用
virtio-scsi或SATA作为引导磁盘,或者virtio-blk用于非引导磁盘。- 在加密实例中运行的操作系统必须提供 SEV 支持。如需更多信息,请参阅红帽知识库解决方案在 RHEL 8 中启用 AMD 安全加密虚拟化。
- 支持 SEV 的机器在其内存控制器中有有限数量的插槽来存储加密密钥。每个带有加密内存的实例都会消耗其中一个插槽。因此,可以同时运行的内存加密的实例数量限制为内存控制器中的插槽数量。例如,在1st Gen AMD EPYC™ 7001 系列("Naples")中,这个限制为 16,在第二代 Gen AMD EPYC™ 7002 系列("Rome")时,这个限制为 255。
- 带有内存加密固定页面的实例。Compute 服务无法交换这些页面,因此您无法在托管内存加密的实例的 Compute 节点上过量使用内存。
- 您不能将内存加密用于具有多个 NUMA 节点的实例。