5.6. 配置 AMD SEV Compute 节点,为实例提供内存加密
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
AMD 提供的安全加密虚拟化(SEV)硬件保护运行虚拟机实例使用的 DRAM 中的数据。SEV 使用唯一密钥加密每个实例的内存。
作为云管理员,您可以为云用户提供创建在支持 SEV 的 Compute 节点上运行实例的功能,并启用了内存加密。
此功能可从第二代 AMD EPYC™ 7002 系列("Rome")中使用。
要让您的云用户创建使用内存加密的实例,您必须执行以下任务:
- 为内存加密指定 AMD SEV Compute 节点。
- 配置 Compute 节点以进行内存加密。
- 部署数据平面。
- 创建类别或镜像以使用内存加密启动实例。
如果 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 Secure Encrypted Virtualization (SEV) 文档。
使用内存加密实例存在限制:
- 您不能实时迁移,或使用内存加密挂起和恢复实例。
- 您不能使用 PCI 透传来直接访问具有内存加密的实例上的设备。
您不能将
virtio-blk用作带有 Red Hat Enterprise Linux (RHEL)内核比 kernel-4.18.0-115.el8 (RHEL-8.1.0)的内存加密实例的引导磁盘。注意您可以使用
virtio-scsi或SATA作为引导磁盘,或使用virtio-blk进行非引导磁盘。- 在加密实例中运行的操作系统必须提供 SEV 支持。如需更多信息,请参阅红帽知识库解决方案在 RHEL 8 中启用 AMD 安全加密虚拟化。
- 支持 SEV 的机器在其内存控制器中具有有限数量的插槽来存储加密密钥。每个运行具有加密内存的实例都会消耗其中一个插槽。因此,可以同时运行的内存加密实例数量仅限于内存控制器中的插槽数量。例如,在1st Gen AMD EPYC™ 7001 系列("Naples")中,这个限制为 16,在第二代 Gen AMD EPYC™ 7002 系列("Rome")时,这个限制为 255。
- 带有内存加密固定页面的实例在 RAM 中。Compute 服务无法交换这些页面,因此您无法在托管带有内存加密的实例的 Compute 节点上过量使用内存。
- 您不能将内存加密用于具有多个 NUMA 节点的实例。