다음을 통해 공유


동적 프로세서 호환성 모드

적용 대상: Windows Server 2025

적용 대상: Azure Stack HCI, 버전 22H2

동적 프로세서 호환성 모드는 클러스터형 환경에서 새로운 프로세서 기능을 활용하도록 업데이트됩니다. 프로세서 호환성은 클러스터의 각 개별 노드에 대해 지원되는 프로세서 기능을 결정하고 모든 프로세서에서 공통 분모를 계산하여 작동합니다. VM(가상 머신)은 클러스터의 모든 서버에서 사용할 수 있는 최대 기능 수를 사용하도록 구성됩니다. 이렇게 하면 기본값이 최소의 고정된 프로세서 기능 집합으로 설정된 이전 버전의 프로세서 호환성에 비해 성능이 향상됩니다.

프로세서 호환성 모드를 사용하는 경우

프로세서 호환 모드를 사용하면 라이브 VM(실시간 마이그레이션)을 이동하거나 프로세스 기능 집합이 다른 노드 간에 저장된 VM을 이동할 수 있습니다. 그러나 프로세서 호환성을 사용하는 경우에도 다른 프로세서 제조업체가 있는 호스트 간에 VM을 이동할 수 없습니다. 예를 들어 실행 중인 VM 또는 저장된 상태 VM을 Intel 프로세서가 있는 호스트에서 AMD 프로세서가 있는 호스트로 이동할 수 없습니다. 이러한 방식으로 VM을 이동해야 하는 경우 먼저 VM을 종료한 다음 새 호스트에서 다시 시작합니다.

Important

최신 구성 버전(10.0)을 사용하는 Hyper-V VM만 동적 구성의 이점을 누릴 수 있습니다. 이전 버전이 있는 VM은 동적 구성의 이점을 활용하지 않으며 이전 버전의 고정 프로세서 기능을 계속 사용하지 않습니다.

Azure Stack HCI에서 실행되는 VM에 프로세서 호환성 모드를 사용하도록 설정하는 것이 좋습니다. 이는 최고 수준의 기능을 제공하며, 새 하드웨어로 마이그레이션할 때 VM을 이동해도 가동 중지 시간이 필요하지 않습니다.

참고 항목

VM을 중지하고 다시 시작하려는 경우 프로세서 호환 모드를 사용할 필요가 없습니다. VM이 다시 시작될 때마다 게스트 운영 체제는 새 호스트 컴퓨터에서 사용할 수 있는 프로세서 호환성을 열거합니다.

프로세서 호환성 모드가 필요한 이유

프로세서 제조업체는 프로세서에 최적화 및 기능을 도입하는 경우가 많습니다. 이러한 기능은 특정 작업에 특수 하드웨어를 사용하여 성능 또는 보안을 향상시키는 경우가 많습니다. 예를 들어 많은 미디어 애플리케이션은 프로세서 기능을 사용하여 벡터 계산 속도를 향상합니다. 이러한 기능은 애플리케이션을 실행하는 데 거의 필요하지 않습니다. 성능을 향상시킵니다.

프로세서에서 사용할 수 있는 기능 집합은 제조, 모델 및 연령에 따라 달라집니다. 운영 체제 및 애플리케이션 소프트웨어는 일반적으로 처음 시작될 때 시스템의 프로세서 기능 집합을 열거합니다. 프로세서가 업그레이드되지 않는 한 프로세서 기능이 정적이므로 소프트웨어는 사용 가능한 프로세서 기능이 실제 컴퓨터에서 실행될 때 발생하지 않는 수명 동안 변경될 것으로 기대하지 않습니다.

그러나 VM 모바일 기능을 사용하면 실행 중인 VM을 새 가상화 호스트로 마이그레이션할 수 있습니다. VM의 소프트웨어가 특정 프로세서 기능을 감지하고 사용하기 시작한 다음 VM이 해당 기능 없이 새 가상화 호스트로 이동되면 소프트웨어가 실패할 수 있습니다. 이로 인해 애플리케이션 또는 VM이 충돌할 수 있습니다.

오류를 방지하기 위해 Hyper-V는 VM 실시간 마이그레이션 또는 저장/복원 작업이 시작될 때마다 "실행 전" 검사를 수행합니다. 이러한 검사는 원본 호스트의 VM에서 사용할 수 있는 프로세서 기능 집합과 대상 호스트에서 사용할 수 있는 기능 집합을 비교합니다. 이러한 기능 집합이 일치하지 않으면 마이그레이션 또는 복원 작업이 취소됩니다.

프로세서 호환성 모드의 새로운 기능

과거에는 모든 새 프로세서 명령 집합이 숨겨져 있었습니다. 즉, 게스트 운영 체제 및 애플리케이션 소프트웨어가 프로세서 명령 집합 개선 사항을 사용하여 애플리케이션 및 VM의 성능을 유지할 수 없습니다.

이러한 제한을 극복하기 위해 프로세서 호환성 모드는 이제 SLAT(두 번째 수준 주소 변환)가 가능한 프로세서에서 향상된 동적 기능을 제공합니다. 이 새로운 기능은 클러스터의 노드에서 지원하는 CPU 기능의 공통 분모를 계산하고 이전 하드 코딩된 기능 집합 대신 동적으로 계산된 기능 집합을 사용하도록 VM의 기존 프로세서 호환성 모드를 업데이트합니다.

새 프로세서 호환성 모드를 사용하면 클러스터의 모든 서버에서 공통 기능 집합을 제공하여 가상화 호스트에서 VM에 사용할 수 있는 프로세서 기능 집합이 일치하도록 합니다. 각 VM은 클러스터의 모든 서버에 있는 최대 프로세서 명령 집합 수를 받습니다. 이 프로세스는 자동으로 수행되며 항상 클러스터에서 사용하도록 설정되고 복제되므로 프로세스를 사용하거나 사용하지 않도록 설정하는 명령은 없습니다.

프로세서 호환 모드 사용

Hyper-V에서 프로세서 호환 모드를 사용할 때 이해해야 할 중요한 개념이 있습니다.

  • 실행 중인 VM은 동일한 제조업체의 프로세서를 사용하는 가상화 호스트 간에만 마이그레이션할 수 있습니다.

  • 프로세서 호환 모드를 사용하거나 사용하지 않도록 설정하려면 먼저 VM을 종료해야 합니다.

  • VM의 중지 및 다시 시작을 포함하는 VM 이동에는 프로세서 호환성 모드가 필요하지 않습니다.

  • VM을 다시 시작할 때마다 게스트 운영 체제는 새 호스트 컴퓨터에서 사용할 수 있는 프로세서 기능을 열거합니다.

참고 항목

Windows Server에서 Microsoft는 VM 마이그레이션 시나리오 전에 프로세서 호환성 모드를 켜고 마이그레이션이 완료되면 해제하는 것이 좋습니다.

클러스터 간에 실행 중인 VM 마이그레이션

각 클러스터의 모든 서버가 동일한 하드웨어를 실행한다고 가정하면 클러스터 간에 실행 중인 VM을 실시간 마이그레이션할 수 있습니다. 세 가지 일반적인 시나리오가 있습니다.

  • 새 프로세서가 있는 클러스터에서 동일한 프로세서가 있는 클러스터로 VM을 실시간 마이그레이션합니다. VM 기능은 대상 클러스터로 전송됩니다. 이 시나리오에서는 프로세서 호환 모드를 사용하도록 설정할 필요가 없습니다. 그러나 활성화된 상태로 두면 문제가 발생하지 않습니다.

  • 이전 프로세서가 있는 클러스터에서 최신 프로세서가 있는 클러스터로 VM을 실시간 마이그레이션합니다. VM 기능은 대상 클러스터로 전송됩니다. 이 시나리오에서 VM이 다시 시작되면 대상 클러스터의 최신 계산된 기능을 받습니다.

  • 최신 프로세서가 있는 클러스터에서 이전 프로세서가 있는 클러스터로 VM을 실시간 마이그레이션합니다. PowerShell의 매개 변수에 사용할 MinimumFeatureSet VM 프로세서를 설정하거나 가상 머신 > 설정 > 프로세서 아래의 Windows Admin Center에서 동일한 CPU 제조업체가 있는 다른 호스트에서 호환 가능을 선택해야 합니다CompatibilityForMigrationMode. 이 설정은 서버에 제공되는 최소 프로세서 기능에 VM을 할당합니다. 호환성이 클러스터 간 호환성(권장)으로 이동되고 VM이 다시 시작되면 대상 클러스터의 최신 계산 기능을 받습니다.

프로세서 호환성 모드 사용의 파급 효과

프로세서 호환성 모드의 전반적인 성능 효과를 정량화하기는 어렵습니다. 성능 손실은 주로 VM에서 실행되는 워크로드에 따라 달라집니다. 일부 워크로드는 영향을 받지 않을 수 있지만 다른 워크로드는 눈에 띄는 차이를 표시합니다. 하드웨어 최적화(예: 암호화, 압축 또는 집중적인 부동 소수점 계산)에 크게 의존하는 소프트웨어는 가장 큰 영향을 미칩니다.

많은 양의 데이터를 암호화하거나 암호 해독하는 애플리케이션은 이 프로세서 기능의 이점을 활용하므로 프로세서 호환 모드를 사용하도록 설정하여 해제하면 이러한 특정 작업의 성능에 영향을 줍니다.

프로세서 호환 모드의 성능 영향에 대해 우려하는 경우 VM 워크로드 성능과 프로세서 호환 모드를 사용하도록 설정하고 사용하지 않도록 설정하는 것이 가장 좋습니다.

프로세서 호환성 모드를 사용하도록 VM 구성

이 섹션에서는 프로세서 호환성 모드를 사용하도록 VM을 구성하는 방법을 설명합니다. 동일한 클러스터에서 호환성 모드를 사용 또는 사용하지 않고 VM을 실행할 수 있습니다.

Important

프로세서 호환 모드를 사용하거나 사용하지 않도록 설정하려면 먼저 VM을 종료해야 합니다.

Windows Admin Center를 사용하여 프로세서 호환성 모드 사용

Windows Admin Center를 사용하여 프로세서 호환성 모드를 사용하도록 설정하려면 다음을 수행합니다.

  1. 클러스터에 연결한 다음 도구 창에서 가상 머신을 선택합니다.

  2. 인벤토리에서 프로세서 호환 모드를 사용하도록 설정할 VM을 선택하고 전원 메뉴를 확장한 다음 종료를 선택합니다.

  3. 설정을 선택한 다음 프로세서를 선택하고 프로세서 호환성 확인란을 선택합니다.

프로세서 호환성을 사용하도록 설정하는 확인란의 스크린샷

  1. VM의 CPU 기능을 클러스터의 모든 서버에서 지원하는 최대 수준으로 설정하려면 클러스터 전체에서 호환을 선택합니다 (권장). 이렇게 하면 실행 중인 VM을 클러스터의 다른 서버로 이동하는 기능을 유지하면서 VM 성능을 최대화합니다. Azure Stack HCI 21H2 클러스터에서 실행되는 모든 VM에 대해 사용하도록 설정하는 것이 좋습니다. 사용하지 않도록 설정된 경우 지원되는 CPU 명령의 다른 수준을 사용하여 호스트로 이동하려면 VM을 다시 시작해야 하며, 여러 세대의 CPU에서 공통적으로 적용됩니다.

    또는 동일한 CPU 제조업체가 있는 한 실행 중인 VM을 클러스터 외부의 다른 Hyper-V 호스트로 이동할 수 있도록 VM의 CPU 기능을 최소한으로 설정하려면 동일한 CPU 제조업체를 사용하는 다른 호스트에서 호환성을 선택합니다.

    참고 항목

    동적 프로세서 호환 모드와 마찬가지로 클러스터 전체에서 호환 가능은 Azure Stack HCI 21H2에서만 사용할 수 있으며 다른 운영 체제에서는 지원되지 않습니다.

  2. 프로세서 설정 저장을 선택하고 VM을 다시 시작합니다.

이 섹션에서는 Hyper-V 관리자 또는 PowerShell을 사용하여 프로세서 호환 모드를 사용하도록 VM을 구성하는 방법을 설명합니다. 동일한 클러스터에서 호환성 모드를 사용 또는 사용하지 않고 VM을 실행할 수 있습니다.

Important

프로세서 호환 모드를 사용하거나 사용하지 않도록 설정하려면 먼저 VM을 종료해야 합니다.

Hyper-V 관리자를 사용하여 프로세서 호환 모드 사용

Hyper-V 관리자를 사용하여 VM에 프로세서 호환성 모드를 사용하도록 설정하려면 다음을 수행합니다.

  1. VM을 종료합니다.

  2. 시작을 선택하고 관리 도구를 가리킨 다음 Hyper-V 관리자를 선택합니다.

  3. Hyper-V를 실행하는 서버와 원하는 VM을 선택합니다.

  4. VM이 실행 중인 경우 프로세서 호환성 모드 설정을 사용하도록 설정하려면 VM을 종료해야 합니다.

  5. 작업 창에서 설정을 선택한 다음 프로세서를 선택합니다.

  6. 프로세서를 확장하고 호환성을 선택합니다.

  7. 다른 프로세서가 있는 물리적 컴퓨터로 마이그레이션을 선택한 다음 확인을 선택합니다.

  8. VM을 다시 시작합니다.

Hyper-V 관리자를 사용하여 프로세서 호환 모드 사용 안 함

Hyper-V 관리자를 사용하여 VM에 대한 프로세서 호환성 모드를 사용하지 않도록 설정하려면 다음을 수행합니다.

  1. VM을 종료합니다.

  2. 시작을 선택하고 관리 도구를 가리킨 다음 Hyper-V 관리자를 선택합니다.

  3. Hyper-V를 실행하는 서버와 원하는 VM을 선택합니다.

  4. VM이 실행 중인 경우 프로세서 호환 모드 설정을 사용하지 않도록 설정하려면 VM을 종료해야 합니다.

  5. 작업 창에서 설정을 선택한 다음 프로세서를 선택합니다.

  6. 프로세서를 확장하고 호환성을 선택합니다.

  7. 다른 프로세서 확인란이 있는 물리적 컴퓨터로 마이그레이션을 선택 해제한 다음 확인을 선택합니다.

  8. VM을 다시 시작합니다.

PowerShell을 사용하여 프로세서 호환성 모드 사용

프로세서 호환성 모드를 사용하도록 설정하려면 다음 cmdlet을 실행합니다.

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true 

VM의 CPU 기능을 클러스터의 모든 서버에서 지원하는 최대 수준으로 설정하는 것이 좋습니다. 이렇게 하면 실행 중인 VM을 클러스터의 다른 서버로 이동하는 기능을 유지하면서 VM 성능을 최대화합니다.

VM에서 클러스터 노드 공통 기능을 사용하도록 설정하려면 다음 cmdlet을 실행합니다.

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet

또는 VM의 CPU 기능을 최소한으로 설정하여 실행 중인 VM을 동일한 CPU 제조업체가 있는 경우 클러스터 외부의 다른 Hyper-V 호스트로 이동할 수 있도록 할 수 있습니다.

VM이 기본 최소 기능을 사용하여 클러스터 간에 마이그레이션할 수 있도록 하려면 다음 cmdlet을 실행합니다.

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet

PowerShell을 사용하여 프로세서 호환 모드 사용 안 함

PowerShell을 사용하여 VM에 대한 프로세서 호환성 모드를 사용하지 않도록 설정하려면 VM을 종료하고 cmdlet을 Set-VMProcessor 실행하여 $false 설정합니다CompatibilityForMigrationEnabled.

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $false

그런 다음, VM을 다시 시작합니다.