10.2. 인스턴스의 CPU 기능 플래그 구성
특정 vCPU 모델이 있는 인스턴스에 CPU 기능 플래그를 적용하도록 계산 서비스를 구성합니다.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. stackrc
파일을 소싱합니다.[stack@director ~]$ source ~/stackrc
- 컴퓨팅 환경 파일을 엽니다.
인스턴스 CPU 모드를 구성합니다.
parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: <cpu_mode>
<cpu_mode>
를 Compute 노드에 있는 각 인스턴스의 CPU 모드로 바꿉니다. 다음 유효한 값 중 하나로 설정합니다.-
host-model
: (기본값) 호스트 컴퓨팅 노드의 CPU 모델을 사용합니다. 이 CPU 모드를 사용하여 중요한 CPU 플래그를 인스턴스에 자동으로 추가하여 보안 결함으로부터 완화를 제공합니다. custom
: 를 사용하여 각 인스턴스에서 사용해야 하는 특정 CPU 모델을 구성합니다.참고CPU 모드를
host-passthrough
로 설정하여 해당 컴퓨팅 노드에 호스팅된 인스턴스의 컴퓨팅 노드와 동일한 CPU 모델 및 기능 플래그를 사용할 수도 있습니다.
-
선택 사항:
NovaLibvirtCPUMode
를사용자 정의로 설정하면 사용자 정의
하려는 인스턴스 CPU 모델을 구성합니다.parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: <cpu_model>
<cpu_model>
을 호스트에서 지원하는 CPU 모델 쉼표로 구분된 목록으로 바꿉니다. 목록에 일반적인 및 덜 고급 CPU 모델을 배치하고 더 많은 기능이 풍부한 CPU 모델을 순서대로 나열하십시오(예:SandyBridge, IvyBridge,swell, Broadwell
). 모델 이름 목록은/usr/share/libvirt/cpu_map.xml
을 참조하거나 호스트 컴퓨팅 노드에 다음 명령을 입력합니다.$ sudo podman exec -it nova_libvirt virsh cpu-models <arch>
<arch>
를 컴퓨팅 노드의 아키텍처 이름으로 바꿉니다(예:x86_64)
.지정된 CPU 모델을 사용하여 인스턴스의 CPU 기능 플래그를 구성합니다.
parameter_defaults: ComputeParameters: ... NovaLibvirtCPUModelExtraFlags: <cpu_feature_flags>
<cpu_feature_flags>
를 활성화 또는 비활성화할 쉼표로 구분된 기능 플래그 목록으로 바꿉니다. 각 플래그 앞에 "+"를 추가하여 플래그를 활성화하거나 "-"를 추가하여 비활성화합니다. 접두사를 지정하지 않으면 플래그가 활성화됩니다. 지정된 CPU 모델에 대해 사용 가능한 기능 플래그 목록은/usr/share/libvirt/cpu_map/*.xml
을 참조하십시오.다음 예제에서는
IvyBridge
및Cascadelake-Server
모델에 대해 CPU 기능 플래그pcid
및ssbd
를 활성화하고 기능 플래그mtrr
를 비활성화합니다.parameter_defaults: ComputeParameters: NovaLibvirtCPUMode: 'custom' NovaLibvirtCPUModels: 'IvyBridge','Cascadelake-Server' NovaLibvirtCPUModelExtraFlags: 'pcid,+ssbd,-mtrr'
다른 환경 파일을 사용하여 스택에 Compute 환경 파일을 추가하고 오버클라우드를 배포합니다.
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml