3.2. Red Hat OpenStack 部署配置


查看以下 Red Hat OpenStack Platform (RHOSP)部署配置的建议列表:

使用较小的部署验证 heat 模板
部署由至少三个控制器、一个计算备注和三个 Ceph Storage 节点组成的小型环境。您可以使用此配置来确保所有 heat 模板都正确。
改进跨计算的实例分布

在创建大量实例期间,计算调度程序不知道 Compute 节点的资源,直到为 Compute 节点确认了之前实例的资源分配为止。为了避免生成 Compute 节点的不均匀,您可以执行以下操作之一:

  • NovaSchedulerShuffleBestSameWeighedHosts 参数的值设置为 true

    parameter_defaults:
       NovaSchedulerShuffleBestSameWeighedHosts: `True`
    Copy to Clipboard Toggle word wrap
  • 为确保 Compute 节点没有与实例过载,请将 max_instances_per_host 设置为任何 Compute 节点可以生成的最大实例数量,并确保启用了 NumInstancesFilter 参数。当 Compute 节点达到这个实例计数时,调度程序将不再选择它以进行进一步的实例生成调度。

    注意

    NumInstancesFilter 参数默认启用。但是,如果您在环境文件中修改了 NovaSchedulerEnabledFilters 参数,请确保启用 NumInstancesFilter 参数。

    parameter_defaults:
      ControllerExtraConfig
        nova::scheduler::filter::max_instances_per_host: <maximum_number_of_instances>
        NovaSchedulerEnabledFilters:
        - AvailabilityZoneFilter
        - ComputeFilter
        - ComputeCapabilitiesFilter
        - ImagePropertiesFilter
        - ServerGroupAntiAffinityFilter
        - ServerGroupAffinityFilter
        - NumInstancesFilter
    Copy to Clipboard Toggle word wrap
    • <maximum_number_of_instances > 替换为任何 Compute 节点可生成的最大实例数。
Networking 服务(neutron)的扩展配置

表 3.1 中的设置经过测试和认证,以提高大规模 openstack 环境中的性能和扩展稳定性。

服务器端探测控制 ovsdb-server 发送的探测的超时时间: neutronovn-controllerovn-metadata-agent。如果它们在超时前没有从客户端获得回复,它们将与客户端断开连接,强制它重新连接。客户端到超时的最常见场景是,当客户端将数据库的副本加载到内存中时,与 ovsdb-server 进行初始连接。当超时太低时,ovsdb-server 会在下载数据库时断开客户端,从而导致客户端重新连接并再次尝试,并且此周期会永久重复。因此,如果最大超时间隔不工作,则将探测间隔值设置为 0 以禁用探测。

如果客户端探测器间隔被禁用,则使用 TCP keepalive 消息来监控与 ovsdb-server 的连接。

注意

如果可用,始终使用 tripleo heat 模板(THT)参数来配置所需的设置。由于手动配置的设置将被配置下载运行覆盖,因此在 THT 或 Puppet 中定义默认值时。另外,您只能为现有环境手动配置设置,因此修改后的设置不会应用到任何新的或替换的节点。

Expand
表 3.1. 为网络服务推荐的扩展配置
设置描述手动配置THT 参数

Compute 节点上的 OVS 服务器端不活跃探测

将这个探测间隔从 5 秒增加到 30 秒。

ovs-vsctl set Manager . inactivity_probe=30000
Copy to Clipboard Toggle word wrap
 

Controller 节点上的 OVN 北向服务器端不活跃探测

将这个探测间隔增加到 180000 ms,或将其设置为 0 以禁用它。

podman exec -u root ovn_controller ovn-nbctl --no-leader-only set Connection . inactivity_probe=180000
Copy to Clipboard Toggle word wrap
 

Controller 节点上的 OVN 南向服务器端不活跃探测

将这个探测间隔增加到 180000 ms,或将其设置为 0 以禁用它。

podman exec -u root ovn_controller ovn-sbctl --no-leader-only set Connection . inactivity_probe=180000
Copy to Clipboard Toggle word wrap
 

Compute 节点上的 OVN 控制器远程探测间隔

将这个探测间隔增加到 180000 ms,或将其设置为 0 以禁用它。

podman exec -u root ovn_controller ovs-vsctl --no-leader-only set Open_vSwitch . external_ids:ovn-remote-probe-interval=180000
Copy to Clipboard Toggle word wrap

OVNRemoteProbeInterval: 180000

Controller 节点上的网络服务客户端探测间隔

将这个探测间隔增加到 180000 ms,或将其设置为 0 以禁用它。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini ovn ovsdb_probe_interval 180000
Copy to Clipboard Toggle word wrap

OVNOvsdbProbeInterval: 180000

Controller 节点上的网络服务 api_workers

根据 neutron-server 的负载,将默认独立的 API worker 进程从 12 增加到 16 或更多。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf DEFAULT api_workers 16
Copy to Clipboard Toggle word wrap

NeutronWorkers: 16

Controller 节点上的网络服务 agent_down_time

agent_down_time 设置为非常大型集群的最大允许数量。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf DEFAULT agent_down_time 2147483
Copy to Clipboard Toggle word wrap

NeutronAgentDownTime: 2147483

Compute 节点上的 OVN 元数据 report_agent

在大型安装中禁用 report_agent

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron_ovn_metadata_agent.ini agent report_agent false
Copy to Clipboard Toggle word wrap
 

Compute 节点上的 OVN metadata_workers

metadata_workers 降低到所有 Compute 节点上的最小值,以减少到 OVN 南向数据库的连接。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron_ovn_metadata_agent.ini DEFAULT metadata_workers 1
Copy to Clipboard Toggle word wrap

NeutronMetadataWorkers: 1

Compute 节点上的 OVN 元数据 rpc_workers

rpc_workers 降低到所有 Compute 节点上的最小值。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron_ovn_metadata_agent.ini DEFAULT rpc_workers 0
Copy to Clipboard Toggle word wrap

NeutronRpcWorkers: 0

Compute 节点上的 OVN 元数据客户端探测间隔

将这个探测间隔增加到 180000 ms,或将其设置为 0 以禁用它。

crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron_ovn_metadata_agent.ini ovn ovsdb_probe_interval 180000
Copy to Clipboard Toggle word wrap

OVNOvsdbProbeInterval: 180000

限制同时置备的节点数量

fifty 是可在一个企业级机架单元中适合的典型服务器数量,因此您可以一次部署一个机架节点。

为最大程度减少诊断部署问题所需的调试,请一次部署最多 50 个节点。如果要部署更多节点,红帽已同时测试了最多 100 个节点。

要批量扩展 Compute 节点,请使用 openstack overcloud deploy 命令和 --limit 选项。这可能导致 undercloud 上节省的时间并降低资源消耗。

禁用未使用的 NIC

如果 overcloud 部署期间有任何未使用的 NIC,您必须在 NIC 配置模板中定义未使用的接口,并将接口设置为 use_dhcp: falsedefroute: false

如果您没有定义未使用的接口,则内省和扩展操作过程中可能会有路由问题和 IP 分配问题。默认情况下,NIC 设置 BOOTPROTO=dhcp,这意味着未使用的 overcloud NIC 使用 PXE 调配所需的 IP 地址。这可以减少节点的可用 IP 地址池。

关闭未使用的裸机置备(ironic)节点
确保您以维护模式关闭任何未使用的裸机置备(ironic)节点。裸机置备不会跟踪处于维护模式的节点电源状态,并错误地报告之前部署中处于维护模式的节点电源状态为 off。如果未使用的节点具有过时的配置的操作系统,这可能会导致持续部署出现问题,例如来自 overcloud 网络的 IP 地址。当您在部署失败后重新部署时,请确保关闭所有未使用的节点。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat