Hyper-V 프로세서 호환성 모드를 사용하면 프로세서 기능이 다른 호스트 간에 가상 머신을 마이그레이션할 수 있습니다. Hyper-V 호스트는 프로세서 기능을 통해 실행 중인 가상 머신에 전달하므로 게스트 운영 체제 및 애플리케이션이 호스트와 동일한 프로세서 기능을 활용할 수 있습니다.
라이브 VM(가상 머신) 또는 저장된 VM을 다른 프로세서 기능이 있는 호스트 또는 클러스터 간에 이동하거나 광범위한 하드웨어에서 실행해야 하는 애플리케이션을 개발하는 경우와 같이 전달되는 프로세서 기능을 제한해야 하는 경우가 있습니다. 이러한 경우 프로세서 호환성 모드를 사용할 수 있습니다. 마이그레이션 프로세스 중에만 프로세서 호환 모드를 사용하도록 설정한 다음, VM이 호스트 프로세서의 전체 기능을 활용할 수 있도록 사용하지 않도록 설정하는 것이 좋습니다.
프로세서 호환성 모드는 일반적인 프로세서 기능 집합이 있는 VM을 제공합니다. 프로세서 호환성에는 두 가지 모드가 있습니다.
동적 프로세서 호환성 모드: 클러스터의 Hyper-V 호스트의 경우 모든 노드에서 공통 프로세서 기능 집합을 동적으로 계산하여 VM이 클러스터 전체에서 사용할 수 있는 최대 기능을 활용할 수 있도록 합니다. 동적 프로세서 호환성 모드는 Windows Server 2025에서 도입되었습니다.
표준 프로세서 호환성 모드: 호스트 또는 클러스터의 기능에 관계없이 고정된 프로세서 기능 집합을 사용합니다.
이 문서에서는 프로세서 호환성 모드, 이 모드가 유용한 이유 및 작동 방식에 대해 설명합니다.
프로세서 호환성이 유용한 이유
프로세서 제조업체는 프로세서에 최적화 및 기능을 도입하는 경우가 많습니다. 이러한 기능은 특정 작업에 특수 하드웨어를 사용하여 성능 또는 보안을 향상시키는 경우가 많습니다. 예를 들어 많은 미디어 애플리케이션은 프로세서 기능을 사용하여 벡터 계산 속도를 향상합니다. 이러한 기능은 애플리케이션을 실행하는 데 거의 필요하지 않으며 성능을 향상시킵니다.
프로세서에서 사용할 수 있는 기능 집합은 제조, 모델 및 연령에 따라 달라집니다. 운영 체제 및 애플리케이션 소프트웨어는 일반적으로 처음 시작될 때 시스템의 프로세서 기능 집합을 열거합니다. 소프트웨어는 디바이스에서 사용 가능한 프로세서 기능이 수명 동안 변경되는 것을 기대하지 않습니다.
그러나 VM 모바일 기능을 사용하면 실행 중인 VM을 새 가상화 호스트로 마이그레이션할 수 있습니다. VM의 소프트웨어가 특정 프로세서 기능을 감지하고 사용하기 시작한 다음 VM이 해당 기능 없이 새 가상화 호스트로 이동되면 소프트웨어가 실패할 수 있습니다. 프로세서 기능이 다르면 애플리케이션 또는 VM이 충돌할 수 있습니다.
오류를 방지하기 위해 Hyper-V VM 실시간 마이그레이션 또는 저장/복원 작업이 시작될 때마다 초기 검사를 수행합니다. 이러한 검사는 원본 호스트의 VM에서 사용할 수 있는 프로세서 기능 집합과 대상 호스트에서 사용할 수 있는 기능 집합을 비교합니다. 이러한 기능 집합이 일치하지 않으면 마이그레이션 또는 복원 작업이 취소됩니다.
게스트 운영 체제가 VM을 다시 시작할 때 새 호스트에서 사용할 수 있는 프로세서 기능을 열거하므로 VM을 중지하고 다시 시작하려는 경우 프로세서 호환 모드를 사용하도록 설정할 필요가 없습니다.
프로세서 호환성 모드 작동 방식
프로세서 호환성 모드는 기본적으로 사용하도록 설정되지 않습니다. 사용하려는 각 VM에 대해 명시적으로 사용하도록 설정해야 합니다.
VM에서 프로세서 호환성 모드를 사용하도록 설정하면 가상 머신에 제한된 프로세서 기능 집합만 표시하여 서로 다른 가상화 호스트 집합에서 사용할 수 있는 프로세서 기능 집합이 일치하도록 합니다. 프로세서 호환성 모드는 최신 프로세서 명령 집합(일반적으로 지난 10년 이내에 도입된 프로세서)을 숨깁니다. 그러나 이러한 기능을 숨기면 게스트 운영 체제 및 애플리케이션 소프트웨어가 이러한 프로세서 명령 집합의 향상된 기능을 활용할 수 없습니다.
구성 버전 10.0 이상을 사용하는 VM용 Windows Server 2025에서 도입된 동적 프로세서 호환 모드는 VM이 클러스터의 모든 노드에서 공통적으로 사용되는 동적으로 계산된 프로세서 기능 집합을 사용할 수 있도록 하여 이전 버전의 프로세서 호환성 모드를 향상시킵니다. 즉, VM은 호스트 간에 VM을 이동할 때 호환성을 유지하면서 클러스터 전체에서 사용할 수 있는 최대 기능을 활용할 수 있습니다.
각 VM은 클러스터의 모든 서버에 있는 최대 프로세서 명령 집합 수를 받습니다. 이 프로세스는 자동으로 수행되며 항상 클러스터에서 사용하도록 설정되고 복제되므로 프로세스를 사용하거나 사용하지 않도록 설정하는 명령은 없습니다.
프로세서 호환성 모드의 전반적인 성능 효과를 정량화하기는 어렵습니다. 성능 손실은 주로 VM에서 실행되는 워크로드에 따라 달라집니다. 일부 워크로드는 영향을 받지 않을 수 있지만 다른 워크로드는 눈에 띄는 차이를 표시합니다. 하드웨어 최적화(예: 암호화, 압축 또는 집중적인 부동 소수점 계산)에 크게 의존하는 소프트웨어는 가장 큰 영향을 받게 됩니다. 프로세서 호환 모드의 성능 영향에 대해 우려하는 경우 VM 워크로드 성능과 프로세서 호환 모드를 사용하도록 설정하고 사용하지 않도록 설정하는 것이 가장 좋습니다.
프로세서 호환성을 사용하도록 설정한 경우에도 다른 프로세서 제조업체가 있는 호스트 간에 VM을 이동할 수 없습니다. 예를 들어 실행 중인 VM 또는 VM 저장된 상태를 Intel 프로세서가 있는 호스트에서 AMD 프로세서가 있는 호스트로 이동할 수 없습니다.
다음 단계
프로세서 호환 모드를 사용하도록 가상 머신을 구성하는 방법을 알아봅니다.