第 2 章 配置计算服务(nova)

作为云管理员,您可以使用环境文件来自定义计算(nova)服务。Puppet 生成此配置并将其存储在 /var/lib/config-data/puppet-generated/<nova_container>/etc/nova/nova.conf 文件中。使用以下配置方法按以下优先级顺序自定义 Compute 服务配置:

  1. Heat 参数 - 如 Overcloud 参数指南中的计算(nova) 参数 一节中所述。以下示例使用 heat 参数设置默认调度程序过滤器,并为计算服务配置 NFS 后端:

    parameter_defaults:
      NovaSchedulerDefaultFilters: AggregateInstanceExtraSpecsFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter
      NovaNfsEnabled: true
      NovaNfsShare: '192.0.2.254:/export/nova'
      NovaNfsOptions: 'context=system_u:object_r:nfs_t:s0'
      NovaNfsVersion: '4.2'
  2. puppet 参数 - 如 /etc/puppet/modules/nova/manifests the 中定义的:

    parameter_defaults:
      ComputeExtraConfig:
        nova::compute::force_raw_images: True
    注意

    只有等同的 heat 参数不存在时才使用此方法。

  3. 手动 hieradata 覆盖 - 在不存在 heat 或 Puppet 参数时自定义参数。例如,以下命令在 Compute 角色的 [DEFAULT] 部分中设置 timeout_nbd

    parameter_defaults:
      ComputeExtraConfig:
        nova::config::nova_config:
          DEFAULT/timeout_nbd:
            value: '20'
警告

如果存在 heat 参数,则使用它而不是 Puppet 参数。如果存在 Puppet 参数,但没有 heat 参数,则使用 Puppet 参数而不是手动覆盖方法。仅在没有等同的 heat 或 Puppet 参数时使用手动覆盖方法。

提示

按照 您要修改的参数中的指导, 以确定是否有 heat 或 Puppet 参数来自定义特定的配置。

有关如何配置 overcloud 服务的更多信息,请参阅高级 Overcloud 自定义指南中的 Heat 参数

2.1. 为超分配配置内存

当您使用内存过量使用(NovaRAMAllocationRatio >= 1.0)时,您需要使用足够的交换空间部署 overcloud 来支持分配比率。

注意

如果您的 NovaRAMAllocationRatio 参数设置为 < 1,请按照 RHEL 交换大小的建议进行操作。如需更多信息,请参阅 RHEL 管理存储设备 指南中的 推荐的系统交换空间

先决条件

  • 您已计算了节点所需的 swap 大小。如需更多信息,请参阅 捕获 swap 大小

流程

  1. /usr/share/openstack-tripleo-heat-templates/environments/enable-swap.yaml 文件复制到环境文件目录中:

    $ cp /usr/share/openstack-tripleo-heat-templates/environments/enable-swap.yaml /home/stack/templates/enable-swap.yaml
  2. 通过在 enable-swap.yaml 文件中添加以下参数来配置 swap 大小:

    parameter_defaults:
      swap_size_megabytes: <swap size in MB>
      swap_path: <full path to location of swap, default: /swap>
  3. 使用其他环境文件将 enable_swap.yaml 环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -e /home/stack/templates/enable-swap.yaml