搜索

12.3. 为内存加密配置 AMD SEV Compute 节点

download PDF

要让您的云用户创建使用内存加密的实例,您必须配置具有 AMD SEV 硬件的 Compute 节点。

先决条件

  • 您的部署必须包含在支持 SEV 的 AMD 硬件中运行的 Compute 节点,如 AMD EPYC CPU。您可以使用以下命令来确定您的部署是否支持 SEV:

    $ lscpu | grep sev

流程

  1. 打开您的计算环境文件。
  2. 可选:在 Compute 环境文件中添加以下配置,以指定 AMD SEV Compute 节点可以同时托管的内存加密实例的最大数量:

    parameter_defaults:
      ComputeAMDSEVExtraConfig:
        nova::config::nova_config:
          libvirt/num_memory_encrypted_guests:
            value: 15
    注意

    libvirt/num_memory_encrypted_guests 参数的默认值为 none。如果您没有设置自定义值,AMD SEV Compute 节点不会对节点可以同时托管的内存加密实例数量实施限制。相反,硬件决定了 AMD SEV Compute 节点可以同时托管的内存加密实例的最大数量,这可能会导致一些内存加密实例无法启动。

  3. 可选: 要指定所有 x86_64 镜像默认使用 q35 机器类型,请在 Compute 环境文件中添加以下配置:

    parameter_defaults:
      ComputeAMDSEVParameters:
        NovaHWMachineType: x86_64=q35

    如果指定了此参数值,则不需要在每个 AMD SEV 实例镜像中将 hw_machine_type 属性设置为 q35

  4. 为确保 AMD SEV Compute 节点保留足够的内存以便主机级服务正常工作,为每个潜在的 AMD SEV 实例添加 16MB:

    parameter_defaults:
      ComputeAMDSEVParameters:
        ...
        NovaReservedHostMemory: <libvirt/num_memory_encrypted_guests * 16>
  5. 为 AMD SEV Compute 节点配置内核参数:

    parameter_defaults:
      ComputeAMDSEVParameters:
        ...
        KernelArgs: "hugepagesz=1GB hugepages=32 default_hugepagesz=1GB mem_encrypt=on kvm_amd.sev=1"
    注意

    首次将 KernelArgs 参数添加到角色的配置中时,overcloud 节点会自动重启。如果需要,您可以禁用节点自动重新引导,而是在每次 overcloud 部署后手动执行节点重启。如需更多信息,请参阅配置手动节点重新引导以定义 KernelArgs

  6. 保存对 Compute 环境文件的更新。
  7. 使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
     -e [your environment files] \
     -e /home/stack/templates/<compute_environment_file>.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.