11.2. 更新 CPU 固定参数
在完成升级到 Red Hat OpenStack Platform 17.1 后,您必须将 CPU 固定配置从 NovaVcpuPinSet
参数迁移到以下参数:
NovaComputeCpuDedicatedSet
- 设置专用(固定)CPU。
NovaComputeCpuSharedSet
- 设置共享(未固定)CPU。
流程
-
以
stack
用户的身份登录 undercloud。 如果您的 Compute 节点支持并发多线程(SMT),但创建了带有
hw:cpu_thread_policy=isolated
策略的实例,您必须执行以下选项之一:取消设置
hw:cpu_thread_policy
线程策略并调整实例大小:提供 overcloud 身份验证文件:
$ source ~/overcloudrc
取消设置类别的
hw:cpu_thread_policy
属性:(overcloud) $ openstack flavor unset --property hw:cpu_thread_policy <flavor>
注意-
取消设置
hw:cpu_thread_policy
属性可将策略设置为默认的prefer
策略,这会将实例设置为使用启用了 SMT 的 Compute 节点(如果可用)。您还可以将hw:cpu_thread_policy
属性设置为require
,这将为启用 SMT 的 Compute 节点设置硬要求。 -
如果 Compute 节点没有 SMT 架构或足够的 CPU 内核,则调度将失败。要防止这种情况,将
hw:cpu_thread_policy
设置为prefer
而不是require
。默认首选
策略确保线程同级在可用时被使用。 -
如果使用
hw:cpu_thread_policy=isolate
,则必须禁用 SMT,或使用不支持 SMT 的平台。
-
取消设置
将实例转换为使用新的线程策略。
(overcloud) $ openstack server resize --flavor <flavor> <server> (overcloud) $ openstack server resize confirm <server>
使用
hw:cpu_thread_policy=isolated
策略为所有固定实例重复此步骤。
从 Compute 节点迁移实例,并在 Compute 节点上禁用 SMT:
提供 overcloud 身份验证文件:
$ source ~/overcloudrc
禁用 Compute 节点接受新虚拟机:
(overcloud) $ openstack compute service list (overcloud) $ openstack compute service set <hostname> nova-compute --disable
- 从 Compute 节点迁移所有实例。有关实例迁移的更多信息,请参阅 在 Compute 节点之间迁移虚拟机实例。
- 重新引导 Compute 节点,并在 Compute 节点的 BIOS 中禁用 SMT。
- 引导 Compute 节点。
重新启用 Compute 节点:
(overcloud) $ openstack compute service set <hostname> nova-compute --enable
Source
stackrc
文件:$ source ~/stackrc
-
编辑包含
NovaVcpuPinSet
参数的环境文件。 将 CPU 固定配置从
NovaVcpuPinSet
参数迁移到NovaComputeCpuDedicatedSet
和NovaComputeCpuSharedSet
:-
将
NovaVcpuPinSet
的值迁移到之前用于固定实例的主机的NovaComputeCpuDedicatedSet
。 -
将
NovaVcpuPinSet
的值迁移到之前用于未固定实例的主机的NovaComputeCpuSharedSet
。 -
如果没有为 NovaVcpuPinSet 设置值,则所有 Compute 节点内核都应分配给
NovaComputeCpuDedicatedSet
或NovaComputeCpuSharedSet
,具体取决于您要在节点上托管的实例类型。
例如,您之前的环境文件可能包含以下固定配置:
parameter_defaults: ... NovaVcpuPinSet: 1,2,3,5,6,7 ...
要将配置迁移到固定配置,请设置
NovaComputeCpuDedicatedSet
参数,然后取消设置NovaVcpuPinSet
参数:parameter_defaults: ... NovaComputeCpuDedicatedSet: 1,2,3,5,6,7 NovaVcpuPinSet: "" ...
要将配置迁移到未固定配置,请设置
NovaComputeCpuSharedSet
参数,然后取消设置NovaVcpuPinSet
参数:parameter_defaults: ... NovaComputeCpuSharedSet: 1,2,3,5,6,7 NovaVcpuPinSet: "" ...
重要确保
NovaComputeCpuDedicatedSet
或NovaComputeCpuSharedSet
的配置与NovaVcpuPinSet
中定义的配置匹配。要更改其中任一个的配置,或配置NovaComputeCpuDedicatedSet
或NovaComputeCpuSharedSet
,请确保在更新配置前,使用固定配置的 Compute 节点不会运行任何实例。-
将
- 保存该文件。
运行部署命令,以使用新的 CPU 固定参数更新 overcloud。
(undercloud) $ openstack overcloud deploy \ --stack _STACK NAME_ \ --templates \ ... -e /home/stack/templates/<compute_environment_file>.yaml ...