[번역] Enhanced vMotion Compatibility (EVC) Explained

출처 : https://blogs.vmware.com/vsphere/2019/06/enhanced-vmotion-compatibility-evc-explained.html

vSphere Enhanced vMotion Compatibility (EVC)를 통해 서로 다른 CPU 세대를 실행하는 클러스터의 ESXi 호스트 간에 워크로드를 실시간 마이그레이션할 수 있다. 일반적으로 EVC를 사용하도록 설정하는 것이 좋다. 새로운 CPU 모델이 포함될 수 있는 새 호스트로 클러스터를 확장하는 데 도움이 될 것이기 때문이다. 브라운필드(brownfield) 시나리오에서 EVC를 활성화하는 것은 어려울 수 있다. 그래서 우리는 처음부터 그것을 가능하게 해야 한다고 강조한다. 이 블로그 게시물은 EVC 및 VM당 EVC 기능에 대한 세부 정보를 제공한다.

EVC는 어떻게 작동하는가?

EVC가 동일한 vMotion 호환성을 허용하는 방법은 ESXi 호스트에서 실행 중인 가상 시스템에 CPUID(명령어) 기준선을 적용하는 것이다. 즉, EVC는 선택한 호환성 수준과 지원되는 호환성 수준에 따라 CPU 명령 집합을 VM에 허용하고 노출한다. 새로운 CPU 패키지를 포함하는 새로운 호스트를 클러스터에 추가하는 경우 EVC는 잠재적으로 VM에 새 CPU 명령어를 숨긴다. 이렇게 함으로써 EVC는 클러스터의 모든 VM이 동일한 CPU 명령으로 실행되어 가상 시스템이 ESXi 호스트 간에 실시간 마이그레이션(vMotion)될 수 있도록 보장한다.

EVC는 CPUID를 사용하여 게스트 OS에서 마스킹할 명령어를 결정한다. 기본적으로 CPUID는 CPU용 API로 볼 수 있다. 이를 통해 EVC는 CPU가 수행할 수 있는 명령 집합과 구성된 EVC 기준선에 따라 마스킹해야 하는 명령어를 배울 수 있다. 클러스터에서 EVC를 사용하도록 설정한 경우 클러스터의 모든 ESXi 호스트가 해당 설정을 준수해야 한다.

VMware KB 문서에서는 현재 모든 EVC 기준선과 이 기준선이 VM에 노출되는 CPU 명령어에 대해 자세히 설명되어 있다.

Per-VM EVC

EVC는 클러스터 내에서 VM 이동성을 지원하는 클러스터 수준 설정이다. 가상 시스템을 사내 또는 하이브리드 클라우드 환경 중 하나에서 다른 클러스터로 이동하면 대상 환경에 따라 EVC 구성이 손실된다. 그 다음으로, 실시간 워크로드가 있는 환경에서 클러스터 EVC 기준선을 변경하는 것은 어렵다.

Per-VM EVC를 구현함으로써 EVC 모드는 클러스터에서 부팅되는 특정 프로세서 생성 대신 VM의 속성이 된다. 이는 EVC 지원 및 기준선을 통해 보다 유연하게 사용할 수 있도록 도와준다. 우리는 vSphere 6.7에서 Per-VM EVC 기능을 소개하였다. Per-VM EVC를 사용하려면 VM 하드웨어 버전 14 이상이 필요하다. 가상 시스템의 전원이 꺼진 경우 Per-VM EVC 기준선을 변경할 수 있다.