4.10. 고성능 가상 머신, 템플릿 및 풀 구성
가능한 베어 메탈에 가까운 성능 지표로 실행되도록 고성능을 위해 가상 머신을 구성할 수 있습니다. 고성능 최적화를 선택하면 가상 머신이 자동으로 권장되는 수동 세트로 구성되므로 효율성을 극대화할 수 있습니다.
고성능 옵션은 Edit 또는 New virtual machine, template 또는 pool 창의 드롭다운 목록에서 High Performance (고성능) 를 선택하여 관리 포털에서만 액세스할 수 있습니다. 이 옵션은 VM 포털에서 사용할 수 없습니다.
Red Hat Virtualization 4.2 이상에서는 고성능 옵션을 지원합니다. 이전 버전에서는 사용할 수 없습니다.
가상 머신
실행 중인 가상 머신의 최적화 모드를 고성능으로 변경하는 경우 일부 구성을 변경하려면 가상 머신을 다시 시작해야 합니다.
새 가상 시스템 또는 기존 가상 시스템의 최적화 모드를 고성능으로 변경하려면 먼저 클러스터와 고정된 호스트 구성을 수동으로 변경해야 할 수 있습니다.
고성능 가상 머신에는 특정 제한 사항이 있습니다. 향상된 성능은 유연성 저하로 인해 절충이 발생하기 때문입니다.
- CPU 스레드, I/O 스레드, 에뮬레이터 스레드 또는 NUMA 노드에 고정이 설정된 경우 권장 설정에 따라 클러스터 호스트의 하위 집합만 고성능 가상 시스템에 할당할 수 있습니다.
- 많은 장치가 자동으로 비활성화되어 가상 시스템의 유용성이 제한됩니다.
템플릿 및 풀
고성능 템플릿과 풀은 가상 시스템과 동일한 방식으로 생성 및 편집할 수 있습니다. 고성능 템플릿 또는 풀을 사용하여 새 가상 시스템을 생성하는 경우 해당 가상 시스템은 이 특성과 해당 구성을 상속합니다. 그러나 특정 설정은 상속되지 않으므로 수동으로 설정해야 합니다.
- CPU 고정
- 가상 NUMA 및 NUMA 고정 토폴로지
- I/O 및 에뮬레이터 스레드 고정 토폴로지
- 페스쓰루(Pass-through) 호스트 CPU
4.10.1. 고성능 가상 머신, 템플릿 또는 풀 생성
고성능 가상 머신, 템플릿 또는 풀을 생성하려면 다음을 수행합니다.
새로 생성 또는 편집 창의 Optimized for (최적화 대상) 드롭다운 메뉴에서 High Performance (고성능)를 선택합니다.
이 옵션을 선택하면 이 가상 머신의 특정 구성 변경 사항이 자동으로 수행되며, 다른 탭을 클릭하여 볼 수 있습니다. 원래 설정으로 다시 변경하거나 재정의할 수 있습니다. (자세한 내용은 자동 고성능 구성 설정을 참조하십시오.) 설정을 변경하면 최신 값이 저장됩니다.
OK(확인)를 클릭합니다.
수동 구성을 설정하지 않은 경우 권장 수동 구성을 설명하는 고성능 가상 머신/풀 설정 화면이 표시됩니다.
수동 구성을 설정한 경우 High Performance Virtual Machine/Pool Settings(고성능 가상 머신/ 풀 설정) 화면에 수행되지 않은 설정이 표시됩니다.
권장되는 수동 구성을 모두 설정한 경우 High Performance Virtual Machine/Pool Settings(고성능 가상 시스템/ 풀 설정) 화면이 표시되지 않습니다.
High Performance Virtual Machine/Pool Settings(고성능 가상 시스템/ 풀 설정) 화면이 나타나면 Cancel(취소 )을 클릭하여 New (새로 생성) 또는 Edit( 새로 만들기) 창으로 돌아가 수동 구성을 수행합니다. 자세한 내용은 권장 수동 설정 구성을 참조하십시오.
또는 OK(확인 )를 클릭하여 권장 사항을 무시합니다. 결과는 성능 수준이 저하될 수 있습니다.
OK(확인)를 클릭합니다.
가상 머신, 풀 또는 템플릿의 세부 정보 보기의 General(일반 ) 탭에서 최적화 유형을 볼 수 있습니다.
특정 구성은 고성능 설정을 재정의할 수 있습니다. 예를 들어 Optimized for (최적화 대상) 드롭다운 메뉴에서 High Performance (고성능)를 선택하고 수동 구성을 수행하기 전에 가상 시스템의 인스턴스 유형을 선택하면 인스턴스 유형 구성이 고성능 구성에 영향을 미치지 않습니다. 그러나 고성능 구성 후에 인스턴스 유형을 선택한 경우 다른 탭에서 최종 구성을 확인하여 고성능 구성이 인스턴스 유형으로 재정의되지 않았는지 확인해야 합니다.
마지막 저장 구성은 일반적으로 우선 순위를 가집니다.
인스턴스 유형에 대한 지원은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
4.10.1.1. 자동 고성능 구성 설정
다음 테이블에는 자동 설정이 요약되어 있습니다. Enabled(Y/N) 열은 활성화 또는 비활성화된 구성을 나타냅니다. Applies to column은 관련 리소스를 나타냅니다.
- VM - 가상 머신
- T - 템플릿
- P - 풀
- C - 클러스터
표 4.3. 자동 고성능 구성 설정
설정 | 활성화됨 (Y/N) | 적용 대상 |
---|---|---|
헤드리스 모드 (Console 탭) |
|
|
USB 사용 가능 (Console 탭) |
|
|
스마트 카드 사용 (Console 탭) |
|
|
사운드 카드 사용 (Console 탭) |
|
|
VirtIO 직렬 콘솔 활성화 (Console 탭) |
|
|
수동 마이그레이션만 허용 (호스트 탭) |
|
|
Pass-Through Host CPU (Host 탭) |
|
|
고가용성 [1] (High Availability 탭) |
|
|
no-watchdog (High Availability 탭) |
|
|
메모리 balloon 장치 (Resource Allocation 탭) |
|
|
I/O Threads Enabled [2] (Resource1.8.0 탭) |
|
|
반가상화 임의 번호 생성기 PCI (virtio-rng) 장치 (Random generator 탭) |
|
|
I/O 및 에뮬레이터 스레드 고정 토폴로지 |
|
|
CPU 캐시 계층 3 |
|
|
-
고가용성이
자동으로 활성화되지 않습니다. 수동으로 선택하는 경우 고정된 호스트에 대해서만 고가용성을 활성화해야 합니다. - I/O 스레드 수 = 1.
4.10.1.2. I/O 및 에뮬레이터 스레드 고정 토폴로지(자동 설정)
I/O 및 에뮬레이터 스레드 고정 토폴로지는 Red Hat Virtualization 4.2의 새로운 구성 설정입니다. I/O 스레드, NUMA 노드, NUMA 고정을 활성화하고 가상 머신에 대해 설정해야 합니다. 그렇지 않으면 엔진 로그에 경고가 표시됩니다.
토폴로지 고정:
- 각 NUMA 노드의 처음 두 개의 CPU가 고정됩니다.
모든 vCPU가 호스트의 하나의 NUMA 노드에 적합한 경우:
- 처음 두 vCPU는 자동으로 예약/정정됩니다.
- 나머지 vCPU는 수동 vCPU 고정에 사용할 수 있습니다.
가상 머신이 두 개 이상의 NUMA 노드에 걸쳐 있는 경우 다음을 수행합니다.
- 가장 많은 고정이 있는 NUMA 노드의 처음 두 CPU는 예약되어 있습니다.
- 나머지 고정된 NUMA 노드는 vCPU 고정 전용입니다.
풀은 I/O 및 에뮬레이터 스레드 고정을 지원하지 않습니다.
호스트 CPU가 vCPU 및 I/O 및 에뮬레이터 스레드에 모두 고정되면 로그에 경고가 표시되며 이러한 상황을 방지하기 위해 CPU 고정 토폴로지 변경을 고려해야 합니다.
4.10.1.3. 고성능 아이콘
다음 아이콘은 Compute → Virtual Machines (가상 시스템) 화면에서 고성능 가상 시스템의 상태를 나타냅니다.
표 4.4. 고성능 아이콘
아이콘 | 설명 |
---|---|
| 고성능 가상 머신 |
| Next Run(다음 실행) 구성의 고성능 가상 머신 |
| 상태 비저장 고성능 가상 머신 |
| 상태 비저장 고성능 가상 머신 (다음 실행 구성 포함) |
| 고성능 풀의 가상 머신 |
| 다음 실행 구성이 포함된 고성능 풀의 가상 머신 |
4.10.2. 권장 수동 설정 구성
새 창 또는 편집 창에서 권장 수동 설정을 구성할 수 있습니다.
권장 설정을 수행하지 않으면 리소스를 저장할 때 High Performance Virtual Machine/Pool Settings (고성능 가상 머신/풀 설정) 화면에 권장되는 설정이 표시됩니다.
권장 수동 설정은 다음과 같습니다.
4.10.2.1. 고성능 구성 수동 설정
다음 테이블에는 권장되는 수동 설정이 요약되어 있습니다. Enabled(Y/N) 열은 활성화 또는 비활성화해야 하는 구성을 나타냅니다. Applies to column은 관련 리소스를 나타냅니다.
- VM - 가상 머신
- T - 템플릿
- P - 풀
- C - 클러스터
표 4.5. 고성능 구성 수동 설정
설정 | 활성화됨 (Y/N) | 적용 대상 |
---|---|---|
NUMA 노드 개수 (호스트 탭) |
|
|
Tune Mode (NUMA 고정 화면) |
|
|
NUMA 고정( 호스트 탭) |
|
|
CPU 고정 토폴로지 (Resource Allocation 탭) |
|
|
hugepages (Custom Properties 탭) |
|
|
KSM (Optimization 탭) |
|
|
4.10.2.2. CPU 고정
vCPU를 특정 호스트의 물리적 CPU에 고정하려면 다음을 수행합니다.
- Host(호스트 ) 탭에서 Specific Host(s)(특정 호스트) 라디오 버튼을 선택합니다.
Resource Allocation(리소스 할당 ) 탭에서 CPU 고정 토폴로지 를 입력하고 구성이 고정된 호스트의 구성에 맞는지 확인합니다. 이 필드의 구문에 대한 정보는 가상 머신 리소스 할당 설정을 참조하십시오.
이 필드는 자동으로 채워지고 자동 NUMA 고정이 활성화되면 CPU 토폴로지가 업데이트됩니다.
가상 머신 구성이 호스트 구성과 호환되는지 확인합니다.
- 가상 시스템의 소켓 수는 호스트의 소켓 수보다 크면 안 됩니다.
- 가상 소켓당 가상 시스템의 코어 수는 호스트의 코어 수보다 크면 안 됩니다.
- 호스트와 가상 시스템에서 동일한 캐시 사용량을 예상할 때 CPU 사용량이 많은 워크로드가 가장 효과적입니다. 최상의 성능을 달성하려면 코어당 가상 시스템의 스레드 수가 호스트보다 크면 안 됩니다.
CPU 고정 요구 사항은 다음과 같습니다.
- 호스트가 NUMA를 사용하는 경우 가상 시스템이 호스트의 NUMA 구성에 적합하므로 호스트의 NUMA 설정(메모리 및 CPU)을 고려해야 합니다.
- I/O 및 에뮬레이터 스레드 고정 토폴로지 를 고려해야 합니다.
- CPU 고정은 가상 시스템 및 풀에 대해서만 설정할 수 있지만 템플릿에는 사용할 수는 없습니다. 따라서 고성능 템플릿을 기반으로 하는 경우에도 고성능 가상 시스템 또는 풀을 만들 때마다 수동으로 CPU 고정을 설정해야 합니다.
4.10.2.3. NUMA 고정 정책 설정
NUMA 고정 정책을 설정하려면 2개 이상의 NUMA 노드가 있는 NUMA 사용 고정 호스트가 필요합니다.
NUMA 고정 정책을 수동으로 설정하려면 다음을 수행합니다.
- NUMA 고정을 클릭합니다.
- NUMA 토폴로지 창에서 가상 NUMA 노드를 오른쪽에 있는 상자에서 필요에 따라 왼쪽의 호스트의 물리적 NUMA 노드로 끌어 옵니다.
-
각 NUMA 노드의 Tune Mode 드롭다운 목록에서 Strict,Preferred 또는 Interleave 를 선택합니다. 선택한 모드가 Preferred 인 경우 NUMA 노드 개수를
1
로 설정해야 합니다. - OK(확인)를 클릭합니다.
NUMA 고정 정책을 자동으로 설정하려면 다음을 수행합니다.
-
ResourceECDHE 탭 의 CPU group 의 CPU Pinning Policy 드롭다운 목록에서
Resize 및 Pin NUMA
를 선택합니다. - OK(확인)를 클릭합니다.
선언된 가상 NUMA 노드 및 NUMA 고정 정책을 고려해야 합니다.
- 호스트의 NUMA 설정(메모리 및 CPU)
- 호스트 장치가 선언되는 NUMA 노드
- CPU 고정 토폴로지
- IO 및 에뮬레이터 스레드 고정 토폴로지
- 대규모 페이지 크기
- NUMA 고정은 풀 또는 템플릿이 아닌 가상 시스템에 대해서만 설정할 수 있습니다. 템플릿을 기반으로 고성능 가상 머신을 생성할 때 NUMA 고정을 수동으로 설정해야 합니다.
4.10.2.4. 대규모 페이지 구성
대규모 페이지는 가상 머신 실행을 시작할 때 사전 할당됩니다(기본적으로 동적 할당은 비활성화됨).
대규모 페이지를 구성하려면 다음을 수행합니다.
- Custom Properties(사용자 정의 속성 ) 탭의 사용자 정의 속성 목록에서 hugepages 를 선택합니다. 키를 선택하십시오. 기본적으로.
대규모 페이지 크기를 KB 단위로 입력합니다.
대규모 페이지 크기를 고정 호스트에서 지원하는 가장 큰 크기로 설정해야 합니다. x86_64에 권장되는 크기는 1GiB입니다.
대규모 페이지 크기에는 다음과 같은 요구 사항이 있습니다.
- 가상 시스템의 대규모 페이지 크기는 고정된 호스트의 대규모 페이지 크기와 같아야 합니다.
- 가상 시스템의 메모리 크기는 고정된 호스트의 사용 가능한 대규모 페이지의 선택된 크기에 적합해야 합니다.
- NUMA 노드 크기는 선택한 대규모 페이지 크기의 배수여야 합니다.
대규모 페이지의 동적 할당을 활성화하려면 다음을 수행합니다.
- 스케줄러에서 HugePages 필터를 비활성화합니다.
/etc/vdsm/vdsm.conf의
[performance]
섹션에서 다음을 설정합니다.use_dynamic_hugepages = true
동적 hugepage와 정적 hugepage 간 비교
다음 표에는 동적 정적 hugepage의 장단점과 단점이 요약되어 있습니다.
표 4.6. 동적 vs 정적 hugepages
설정 | 이점 | 단점 | 권장 사항 |
---|---|---|---|
동적 hugepages |
| 조각화로 인해 할당되지 않음 | 2MB hugepages 사용 |
정적 hugepages | 예측 가능한 결과 |
|
다음과 같은 제한 사항이 적용됩니다.
- 메모리 핫플러그/언플러그가 비활성화되어 있습니다
- 호스트의 메모리 리소스가 제한되어 있습니다.
4.10.2.5. KSM 비활성화
클러스터에 대한 KSM(커널 동일 페이지 병합)을 비활성화하려면 다음을 수행합니다.
- Compute(컴퓨팅) → Clusters (클러스터)를 클릭하고 클러스터를 선택합니다.
- Edit(편집 )를 클릭합니다.
- Optimization(최적화 ) 탭에서 Enable KSM (KSM 활성화) 확인란을 지웁니다.