8.3. 플레이버 메타데이터
플레이버를 생성할 때 --property
옵션을 사용하여 플레이버 메타데이터를 지정합니다. 플레이버 메타데이터를 추가 사양 이라고도 합니다. 플레이버 메타데이터는 인스턴스 배치, 인스턴스 제한 및 성능에 영향을 미치는 인스턴스 하드웨어 지원 및 할당량을 결정합니다.
인스턴스 리소스 사용
다음 표의 속성 키를 사용하여 인스턴스별로 CPU, 메모리 및 디스크 I/O 사용량에 대한 제한을 구성합니다.
표 8.3. 리소스 사용을 위한 플레이버 메타데이터
키 | 설명 |
---|---|
|
도메인의 CPU 시간의 비례 가중치 공유를 지정합니다. 기본적으로 제공되는 OS 기본값입니다. 계산 스케줄러는 동일한 도메인의 다른 인스턴스에서 이 속성의 설정을 기준으로 이 값의 가중치를 적용합니다. 예를 들어 |
|
|
|
각
$ openstack flavor set cpu_limits_flavor \ --property quota:cpu_quota=10000 \ --property quota:cpu_period=20000 |
인스턴스 디스크 튜닝
다음 표의 속성 키를 사용하여 인스턴스 디스크 성능을 조정합니다.
Compute 서비스는 계산 서비스에서 프로비저닝한 스토리지(예: 임시 스토리지)에 다음과 같은 서비스 설정을 적용합니다. Block Storage(cinder) 볼륨의 성능을 조정하려면 볼륨 유형에 대해 QoS(Quality-of-Service) 값도 구성해야 합니다. 자세한 내용은 스토리지 가이드 의 서비스 품질 사양 사용을 참조하십시오.
표 8.4. 디스크 튜닝을 위한 플레이버 메타데이터
키 | 설명 |
---|---|
| 인스턴스에서 사용할 수 있는 최대 디스크 읽기 수를 초당 바이트 단위로 지정합니다. |
| IOPS에서 인스턴스에서 사용할 수 있는 최대 디스크 읽기를 지정합니다. |
| 인스턴스에 사용할 수 있는 최대 디스크 쓰기 수를 초당 바이트 단위로 지정합니다. |
| IOPS에서 인스턴스에서 사용할 수 있는 최대 디스크 쓰기 수를 지정합니다. |
| 인스턴스에 사용할 수 있는 최대 I/O 작업(초당 바이트)을 지정합니다. |
| IOPS에서 인스턴스에서 사용할 수 있는 최대 I/O 작업을 지정합니다. |
인스턴스 네트워크 트래픽 대역폭
다음 표의 속성 키를 사용하여 VIF I/O 옵션을 구성하여 인스턴스 네트워크 트래픽에 대한 대역폭 제한을 구성합니다.
할당량 :vif_*
속성은 더 이상 사용되지 않습니다. 대신 Networking(neutron) 서비스 품질(QoS) 정책을 사용해야 합니다. QoS 정책에 대한 자세한 내용은 네트워킹 가이드 의 QoS(Quality of Service) 정책 구성을 참조하십시오. quota:vif_*
속성은 NeutronOVSFirewallDriver가
메커니즘 드라이버를 사용하는 경우에만 지원됩니다.
iptables_hybrid
로 설정된 ML2/OVS
표 8.5. 대역폭 제한에 대한 플레이버 메타데이터
키 | 설명 |
---|---|
| (폐기됨) kbps에서 인스턴스로 들어오는 트래픽에 필요한 평균 비트 속도를 지정합니다. |
| (더 이상 사용되지 않음) 최대 수신 트래픽 양을 KB 단위로 최고 속도로 버스트할 수 있습니다. |
| (폐기됨) 인스턴스가 kbps에서 들어오는 트래픽을 수신할 수 있는 최대 속도를 지정합니다. |
| (폐기됨) 인스턴스에서 나가는 트래픽에 필요한 평균 비트 속도를 kbps로 지정합니다. |
| (더 이상 사용되지 않음) 최고 속도(KB)로 버스트할 수 있는 나가는 트래픽의 최대 양을 지정합니다. |
| (폐기됨) 인스턴스가 kbps에서 나가는 트래픽을 보낼 수 있는 최대 속도를 지정합니다. |
하드웨어 비디오 RAM
다음 표의 속성 키를 사용하여 비디오 장치에 사용할 인스턴스 RAM에 대한 제한을 구성합니다.
표 8.6. 비디오 장치의 플레이버 메타데이터
키 | 설명 |
---|---|
|
비디오 장치에 사용할 최대 RAM(MB)을 지정합니다. |
워치독 동작
다음 표의 속성 키를 사용하여 인스턴스에서 가상 하드웨어 워치독 장치를 활성화합니다.
표 8.7. 워치독 동작의 플레이버 메타데이터
키 | 설명 |
---|---|
|
가상 하드웨어 워치독 장치를 활성화하고 동작을 설정하도록 를 지정합니다. 인스턴스가 중지되거나 실패한 경우 워치독 장치는 구성된 작업을 수행합니다. 워치독은 PCI Intel 6300ESB를 에뮬레이트하는 i6300esb 장치를 사용합니다. 다음 유효한 값 중 하나로 설정합니다.
|
임의 번호 생성기 (RNG)
다음 표의 속성 키를 사용하여 인스턴스에서 RNG 장치를 활성화합니다.
표 8.8. RNG의 플레이버 메타데이터
키 | 설명 |
---|---|
|
이미지 속성을 통해 인스턴스에 추가된 RNG 장치를 비활성화하려면
기본값: |
| 인스턴스가 호스트의 엔트로피에서 읽을 수 있는 최대 바이트 수를 기간별로 지정합니다. |
| 읽기 기간(밀리초)을 지정합니다. |
가상 성능 모니터링 단위(vPMU)
다음 표의 속성 키를 사용하여 인스턴스에 vPMU를 활성화합니다.
표 8.9. vPMU의 플레이버 메타데이터
키 | 설명 |
---|---|
|
인스턴스에 vPMU를 활성화하려면
|
인스턴스 CPU 토폴로지
다음 테이블의 속성 키를 사용하여 인스턴스에서 프로세서의 토폴로지를 정의합니다.
표 8.10. CPU 토폴로지의 플레이버 메타데이터
키 | 설명 |
---|---|
| 인스턴스의 기본 소켓 수를 지정합니다. default: 요청된 vCPU 수 |
| 인스턴스의 소켓당 기본 코어 수를 지정합니다.
기본값: |
| 인스턴스의 기본 코어 수를 지정합니다.
기본값: |
| 이미지 속성을 사용하여 사용자가 해당 인스턴스에 대해 선택할 수 있는 최대 소켓 수를 지정합니다.
Example: |
| 사용자가 이미지 속성을 사용하여 해당 인스턴스에 대해 선택할 수 있는 소켓당 최대 코어 수를 지정합니다. |
| 사용자가 이미지 속성을 사용하여 인스턴스에 대해 선택할 수 있는 코어당 최대 스레드 수를 지정합니다. |
직렬 포트
다음 표의 속성 키를 사용하여 인스턴스당 직렬 포트 수를 구성합니다.
표 8.11. 직렬 포트의 플레이버 메타데이터
키 | 설명 |
---|---|
| 인스턴스당 최대 직렬 포트 수. |
CPU 고정 정책
기본적으로 인스턴스 가상 CPU(vCPU)는 하나의 코어와 하나의 스레드가 있는 소켓입니다. 속성을 사용하여 인스턴스의 vCPU를 호스트의 물리적 CPU 코어(pCPU)에 고정하는 플레이버를 만들 수 있습니다. 하나 이상의 코어에 스레드 스레딩이 있는 SMT(동시 멀티스레딩) 아키텍처에서 하드웨어 CPU 스레드 동작을 구성할 수도 있습니다.
다음 테이블의 속성 키를 사용하여 인스턴스의 CPU 고정 정책을 정의합니다.
표 8.12. CPU 고정을 위한 플레이버 메타데이터
키 | 설명 |
---|---|
| 사용할 CPU 정책을 지정합니다. 다음 유효한 값 중 하나로 설정합니다.
|
|
|
인스턴스 PCI NUMA 선호도 정책
다음 표에서 속성 키를 사용하여 PCI 패스스루 장치 및 SR-IOV 인터페이스에 대한 NUMA 선호도 정책을 지정하는 플레이버를 만듭니다.
표 8.13. PCI NUMA 선호도 정책의 플레이버 메타데이터
키 | 설명 |
---|---|
| PCI 통과 장치 및 SR-IOV 인터페이스에 대한 NUMA 선호도 정책을 지정합니다. 다음 유효한 값 중 하나로 설정합니다.
|
인스턴스 NUMA 토폴로지
속성을 사용하여 인스턴스 vCPU 스레드에 대한 호스트 NUMA 배치 및 호스트 NUMA 노드에서 인스턴스 vCPU 및 메모리 할당을 정의하는 플레이버를 생성할 수 있습니다.
인스턴스의 NUMA 토폴로지를 정의하면 메모리 및 vCPU 할당이 계산 호스트의 NUMA 노드 크기보다 큰 플레이버의 인스턴스 OS의 성능이 향상됩니다.
계산 스케줄러는 이러한 속성을 사용하여 인스턴스에 적합한 호스트를 결정합니다. 예를 들어 클라우드 사용자는 다음 플레이버를 사용하여 인스턴스를 시작합니다.
$ openstack flavor set numa_top_flavor \ --property hw:numa_nodes=2 \ --property hw:numa_cpus.0=0,1,2,3,4,5 \ --property hw:numa_cpus.1=6,7 \ --property hw:numa_mem.0=3072 \ --property hw:numa_mem.1=1024
계산 스케줄러는 3GB RAM과 CPU 6개를 실행하는 기능과 1GB의 RAM과 CPU 2개가 있는 2개의 NUMA 노드가 있는 호스트를 검색합니다. 호스트에 8개의 CPU와 4GB RAM을 실행하는 기능이 있는 단일 NUMA 노드가 있는 경우 Compute 스케줄러는 유효한 일치 것으로 간주하지 않습니다.
플레이버에서 정의하는 NUMA 토폴로지는 이미지에서 정의하는 NUMA 토폴로지로 재정의할 수 없습니다. 이미지 NUMA 토폴로지가 플레이버 NUMA 토폴로지와 충돌하는 경우 계산 서비스에서 ImageNUMATopologyForbidden
오류가 발생합니다.
이 기능을 사용하여 특정 호스트 CPU 또는 NUMA 노드로 인스턴스를 제한할 수 없습니다. 이 기능은 광범위한 테스트 및 성능 측정을 완료한 후에만 사용하십시오. 대신 hw:pci_numa_affinity_policy
속성을 사용할 수 있습니다.
다음 테이블의 속성 키를 사용하여 인스턴스 NUMA 토폴로지를 정의합니다.
표 8.14. NUMA 토폴로지의 플레이버 메타데이터
키 | 설명 |
---|---|
| 인스턴스 vCPU 스레드의 실행을 제한할 호스트 NUMA 노드 수를 지정합니다. 지정하지 않으면 vCPU 스레드를 사용 가능한 호스트 NUMA 노드 수에서 실행할 수 있습니다. |
| 인스턴스 NUMA 노드 N에 매핑할 인스턴스 vCPU의 쉼표로 구분된 목록입니다. 이 키를 지정하지 않으면 사용 가능한 NUMA 노드 간에 vCPU가 균등하게 나뉩니다. N은 0부터 시작합니다. *.N 값을 주의해서 사용하고 2개 이상의 NUMA 노드가 있는 경우에만 사용합니다.
이 속성은 |
| 인스턴스 NUMA 노드 N에 매핑할 인스턴스 메모리의 수입니다. 이 키를 지정하지 않으면 사용 가능한 NUMA 노드 간에 메모리가 균등하게 나뉩니다. N은 0부터 시작합니다. *.N 값을 주의해서 사용하고 2개 이상의 NUMA 노드가 있는 경우에만 사용합니다.
이 속성은 |
hw:numa_cpus.N
또는 hw:numa_mem.N
의 결합된 값이 각각 사용 가능한 CPU 또는 메모리 수보다 크면 계산 서비스에서 예외가 발생합니다.
인스턴스 메모리 암호화
다음 표의 속성 키를 사용하여 인스턴스 메모리의 암호화를 활성화합니다.
표 8.15. 메모리 암호화를 위한 플레이버 메타데이터
키 | 설명 |
---|---|
|
인스턴스의 메모리 암호화를 요청하려면 |
CPU 실시간 정책
다음 테이블의 속성 키를 사용하여 인스턴스에서 프로세서의 실시간 정책을 정의합니다.
- 대부분의 인스턴스 vCPU는 실시간 정책으로 실행할 수 있지만 최소 하나 이상의 vCPU를 비실시간 게스트 프로세스 및 에뮬레이터 오버헤드 프로세스에 사용하도록 표시해야 합니다.
- 이 추가 사양을 사용하려면 고정된 CPU를 활성화해야 합니다.
표 8.16. CPU 실시간 정책의 플레이버 메타데이터
키 | 설명 |
---|---|
|
인스턴스 vCPU에 실시간 정책을 할당하는 플레이버를 만들려면
기본값: |
| 실시간 정책을 할당하지 않을 vCPU를 지정합니다. 마스크 값 앞에 캐럿 기호(^)를 추가해야 합니다. 다음 예제는 vCPU 0과 1을 제외한 모든 vCPU에 실시간 정책이 있음을 나타냅니다. $ openstack flavor set <flavor> \ --property hw:cpu_realtime="yes" \ --property hw:cpu_realtime_mask=^0-1 참고
이미지에 |
에뮬레이터 스레드 정책
인스턴스에 pCPU를 할당하여 에뮬레이터 스레드에 사용할 수 있습니다. 에뮬레이터 스레드는 인스턴스와 직접 관련이 없는 에뮬레이터 프로세스입니다. 실시간 워크로드에는 전용 에뮬레이터 스레드 pCPU가 필요합니다. 에뮬레이터 스레드 정책을 사용하려면 다음 속성을 설정하여 고정된 CPU를 활성화해야 합니다.
--property hw:cpu_policy=dedicated
다음 테이블에서 속성 키를 사용하여 인스턴스의 에뮬레이터 스레드 정책을 정의합니다.
표 8.17. 에뮬레이터 스레드 정책의 플레이버 메타데이터
키 | 설명 |
---|---|
| 인스턴스에 사용할 에뮬레이터 스레드 정책을 지정합니다. 다음 유효한 값 중 하나로 설정합니다.
|
인스턴스 메모리 페이지 크기
다음 테이블의 속성 키를 사용하여 명시적 메모리 페이지 크기가 있는 인스턴스를 생성합니다.
표 8.18. 메모리 페이지 크기에 대한 플레이버 메타데이터
키 | 설명 |
---|---|
|
인스턴스를 백업하는 데 사용할 큰 페이지 크기를 지정합니다. 이 옵션을 사용하면
|
PCI 통과
다음 표의 속성 키를 사용하여 그래픽 카드 또는 네트워크 장치와 같은 물리적 PCI 장치를 인스턴스에 연결합니다. PCI 패스스루 사용에 대한 자세한 내용은 PCI 패스스루 구성을 참조하십시오.
표 8.19. PCI 패스스루의 플레이버 메타데이터
키 | 설명 |
---|---|
| 다음 형식을 사용하여 인스턴스에 할당할 PCI 장치를 지정합니다. <alias>:<count>
|
하이퍼바이저 서명
다음 표의 속성 키를 사용하여 인스턴스에서 하이퍼바이저 서명을 숨깁니다.
표 8.20. 하이퍼바이저 서명을 숨기기 위한 플레이버 메타데이터
키 | 설명 |
---|---|
|
인스턴스에서 하이퍼바이저 서명을 숨기려면 |
인스턴스 리소스 특성
각 리소스 프로바이더에는 일련의 특성이 있습니다. 특성은 리소스 프로바이더의 질적 측면입니다(예: 스토리지 디스크 유형 또는 Intel CPU 명령 집합 확장). 인스턴스에서 이러한 특성 중 필요한 특성을 지정할 수 있습니다.
지정할 수 있는 특성은 os-traits
라이브러리에 정의되어 있습니다. 예제 특성에는 다음이 포함됩니다.
-
COMPUTE_TRUSTED_CERTS
-
COMPUTE_NET_ATTACH_INTERFACE_WITH_TAG
-
COMPUTE_IMAGE_TYPE_RAW
-
HW_CPU_X86_AVX
-
HW_CPU_X86_AVX512VL
-
HW_CPU_X86_AVX512CD
os-traits
라이브러리 사용 방법에 대한 자세한 내용은 https://docs.openstack.org/os-traits/latest/user/index.html 을 참조하십시오.
다음 테이블의 속성 키를 사용하여 인스턴스의 리소스 특성을 정의합니다.
표 8.21. 리소스 특성의 플레이버 메타데이터
키 | 설명 |
---|---|
| 컴퓨팅 노드 특성을 지정합니다. 특성을 다음 유효한 값 중 하나로 설정합니다.
예제: $ openstack flavor set --property trait:HW_CPU_X86_AVX512BW=required avx512-flavor |
인스턴스 베어메탈 리소스 클래스
다음 테이블의 속성 키를 사용하여 인스턴스에 대한 베어 메탈 리소스 클래스를 요청합니다.
표 8.22. 베어 메탈 리소스 클래스의 플레이버 메타데이터
키 | 설명 |
---|---|
| 이 속성을 사용하여 표준 베어 메탈 리소스 클래스를 지정하여 해당 값을 재정의하거나 인스턴스에 필요한 사용자 지정 베어 메탈 리소스 클래스를 지정합니다.
재정의할 수 있는 표준 리소스 클래스는
사용자 정의 리소스 클래스의 이름은
예를 들어 $ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_SMALL=1 \ --property resources:VCPU=0 --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 compute-small |