4.2. Hyper-V 경험 활성화
Hyper-V Enlightenments는 KVM이 Microsoft Hyper-V 하이퍼바이저를 에뮬레이션하여 Windows 가상 머신의 성능을 향상시킬 수 있는 방법을 제공합니다.
4.2.1. Windows 가상 머신에서 Hyper-V 활성화 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 10 호스트에서 실행 중인 Windows 가상 머신(VM)에서 더 나은 성능을 제공하는 Hyper-V 강화를 활성화할 수 있습니다.
프로세스
virsh edit명령을 사용하여 VM의 XML 구성을 엽니다. 예를 들면 다음과 같습니다.# virsh edit windows-vmXML의 <
;> 하위 섹션을 추가합니다.features> 섹션에 다음 <hyperv<features> [...] <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='KVM Hv'/> <vpindex state='on'/> <runtime state='on' /> <synic state='on'/> <stimer state='on'> <direct state='on'/> </stimer> <frequencies state='on'/> <reset state='on'/> <tlbflush state='on'/> <reenlightenment state='on'/> <ipi state='on'/> <evmcs state='on'/> </hyperv> [...] </features>XML에 이미 <
hyperv> 하위 섹션이 포함된 경우 위에 표시된 대로 수정합니다.다음과 같이 구성의
clock섹션을 변경합니다.<clock offset='localtime'> ... <timer name='hypervclock' present='yes'/> </clock>- XML 구성을 저장하고 종료합니다.
- VM이 실행 중인 경우 다시 시작합니다.
검증
virsh dumpxml명령을 사용하여 실행 중인 VM의 XML 구성을 표시합니다. 다음 세그먼트가 포함된 경우 VM에서 Hyper-V 권한 부여가 활성화됩니다.<hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='KVM Hv'/> <vpindex state='on'/> <runtime state='on' /> <synic state='on'/> <frequencies state='on'/> <reset state='on'/> <tlbflush state='on'/> <reenlightenment state='on'/> <stimer state='on'> <direct state='on'/> </stimer> <ipi state='on'/> <evmcs state='on'/> </hyperv> <clock offset='localtime'> ... <timer name='hypervclock' present='yes'/> </clock>
4.2.2. 구성 가능한 Hyper-V Enlightenments 링크 복사링크가 클립보드에 복사되었습니다!
특정 Hyper-V 기능을 구성하여 Windows VM을 최적화할 수 있습니다. 다음 표에서는 이러한 구성 가능한 Hyper-V 기능 및 해당 값에 대한 정보를 제공합니다.
| Enlightenment | 설명 | 값 |
|---|---|---|
| evmcs | L0(KVM)과 L1(Hyper-V) 하이퍼바이저 간에 반가상화 프로토콜을 구현하여 하이퍼바이저로 더 빠르게 L2를 종료할 수 있습니다. 참고 이 기능은 Intel 프로세서에서만 사용할 수 있습니다. | On, off |
| frequencies | MSR(Hyper-V frequency Machine Specific Registers)을 활성화합니다. | On, off |
| ipi | IPI( paravirtualized inter processor interrupts) 지원을 활성화합니다. | On, off |
| Reenlightenment | 마이그레이션 중에만 발생하는 타임스탬프(TSC) 빈도 변경 사항이 있는 경우 알립니다. 또한 게스트가 새 빈도로 전환할 준비가 될 때까지 이전 빈도를 계속 사용할 수 있습니다. | On, off |
| 완화됨 | VM이 많이 로드된 호스트에서 실행 중일 때 일반적으로 BSOD가 생성되는 Windows sanity 검사를 비활성화합니다. 이는 Linux 커널 옵션 no_timer_check와 유사합니다. 이 옵션은 Linux가 KVM에서 실행될 때 자동으로 활성화됩니다. | On, off |
| runtime | 게스트 코드를 실행하는 데 소비되는 프로세서 시간을 설정하고 게스트 코드를 대신하여 설정합니다. | On, off |
| Spinlocks |
| On, off |
| stimer | 가상 프로세서에 대한 합성 타이머를 활성화합니다. 이 종료가 제공되지 않는 경우 특정 Windows 버전은 HPET(또는 HPET를 사용할 수 없는 경우 RTC)를 사용하도록 되돌리므로 가상 CPU가 유휴 상태인 경우에도 상당한 CPU 소비가 발생할 수 있습니다. | On, off |
| stimer-direct | 만료 이벤트가 일반 인터럽트를 통해 전달될 때 합성 타이머를 활성화합니다. | On, off. |
| synic | stimer와 함께 합성 타이머를 활성화합니다. Windows 8에서는 이 기능을 주기 모드에서 사용합니다. | On, off |
| time | VM에서 사용할 수 있는 다음 Hyper-V 특정 클럭 소스를 활성화합니다.
| On, off |
| tlbflush | 가상 프로세서의 TLB를 플러시합니다. | On, off |
| vapic | 가상 APIC를 사용하면 고효율 MSR 액세스를 제공하는 고성능 메모리 매핑 Advanced Programmable Interrupt Controller(APIC) 레지스터에 액세스할 수 있습니다. | On, off |
| vendor_id | Hyper-V 벤더 ID를 설정합니다. |
|
| vpindex | 가상 프로세서 인덱스를 활성화합니다. | On, off |