11.2. 为实例配置 CPU 功能标记
配置计算服务,以将 CPU 功能标记应用到具有特定 vCPU 模型的实例。
流程
-
以
stack用户的身份登录 undercloud。 Source
stackrc文件:source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 打开您的 Compute 环境文件。
配置实例 CPU 模式:
parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: <cpu_mode>parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: <cpu_mode>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<cpu_mode> 替换为 Compute 节点上每个实例的 CPU 模式。设置为以下有效值之一:-
Host-model:(默认)使用主机 Compute 节点的 CPU 模型。使用此 CPU 模式为实例自动添加关键 CPU 标记,以提供针对安全漏洞的缓解方案。 Custom:使用 来配置每个实例应使用的特定 CPU 型号。注意您还可以将 CPU 模式设置为
host-passthrough,以使用与该 Compute 节点上托管的实例的 Compute 节点相同的 CPU 模型和功能标记。
-
可选: 如果您将
NovaLibvirtCPUMode设置为自定义,请配置您要自定义的实例 CPU 型号:parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: <cpu_model>parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: <cpu_model>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<cpu_model> 替换为主机支持的 CPU 型号的逗号分隔列表。按顺序列出 CPU 型号,将更常见和不太高级 CPU 型号放在列表中,最后是功能丰富的 CPU 模型,例如SandyBridge,IvyBridge,Haswell,Broadwell。有关模型名称列表,请参阅/usr/share/libvirt/cpu_map.xml,或者在主机 Compute 节点上输入以下命令:sudo podman exec -it nova_libvirt virsh cpu-models <arch>
$ sudo podman exec -it nova_libvirt virsh cpu-models <arch>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<arch> 替换为 Compute 节点的架构的名称,如x86_64。为具有指定 CPU 型号的实例配置 CPU 功能标记:
parameter_defaults: ComputeParameters: ... NovaLibvirtCPUModelExtraFlags: <cpu_feature_flags>parameter_defaults: ComputeParameters: ... NovaLibvirtCPUModelExtraFlags: <cpu_feature_flags>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<cpu_feature_flags> 替换为以逗号分隔的功能标记列表,以启用或禁用。使用 "+" 前缀每个标记以启用标志,或 "-" 禁用它。如果没有指定前缀,则会启用 标志。有关给定 CPU 模型的可用功能标记列表,请参阅/usr/share/libvirt/cpu_map configured.xml。以下示例为
IvyBridge和Cascadelake-Server模型启用 CPU 功能标记pcid和sbd,并禁用功能标记mtrr。parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: 'IvyBridge','Cascadelake-Server' NovaLibvirtCPUModelExtraFlags: 'pcid,+ssbd,-mtrr'parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: 'IvyBridge','Cascadelake-Server' NovaLibvirtCPUModelExtraFlags: 'pcid,+ssbd,-mtrr'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:
openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow