가상 머신 부하 분산
적용 대상: Azure Local, 버전 23H2 및 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
참고 항목
Azure Local 버전 23H2에서 VM을 만들고 관리하는 권장 방법은 Azure Arc 컨트롤 플레인을 사용하는 것입니다. Azure Arc VM에서 사용할 수 없는 기능이 필요한 경우에만 아래에 설명된 메커니즘을 사용하여 VM을 관리합니다.
Azure 로컬 배포의 주요 고려 사항은 프로덕션 환경에 들어가는 데 필요한 자본 지출(CapEx)입니다. 일반적으로 프로덕션에서 최대 트래픽이 발생하는 동안 용량이 부족하지 않도록 중복성을 추가하는 것이 일반적이지만, 이렇게 하면 CapEx가 증가합니다. 시스템의 일부 컴퓨터가 더 많은 VM(가상 머신)을 호스팅하는 반면 다른 컴퓨터는 사용이 부족하기 때문에 이러한 중복성이 필요한 경우가 많습니다.
VM 부하 분산은 Azure 로컬 시스템에서 머신 사용률을 최적화할 수 있는 기능입니다. 과도하게 커밋된 컴퓨터를 식별하고 해당 컴퓨터에서 커밋된 컴퓨터로 VM을 실시간 마이그레이션합니다. 선호도 방지, 장애 도메인(사이트) 및 가능한 소유자와 같은 오류 정책이 적용됩니다.
VM 부하 분산은 다음 추론에 따라 컴퓨터의 부하를 평가합니다.
- 현재 메모리 압력: 메모리는 Hyper-V 호스트에서 가장 일반적인 리소스 제약 조건입니다.
- 평균 5분 동안 CPU 사용률: 시스템의 모든 컴퓨터가 과도하게 커밋되는 것을 완화합니다.
VM 부하 분산은 어떻게 작동하나요?
VM 부하 분산은 Azure 로컬에 새 컴퓨터를 추가할 때 자동으로 발생하며 주기적이고 반복적인 부하 분산을 수행하도록 구성할 수도 있습니다.
새 컴퓨터가 추가되는 경우
새 컴퓨터를 시스템에 조인하면 VM 부하 분산 기능은 다음 순서대로 기존 컴퓨터에서 새로 추가된 컴퓨터로 용량을 자동으로 분산합니다.
- 메모리 압력 및 CPU 사용률은 시스템의 기존 컴퓨터에서 평가됩니다.
- 임계값을 초과하는 모든 컴퓨터가 식별됩니다.
- 메모리 압력 및 CPU 사용률이 가장 높은 컴퓨터는 분산의 우선 순위를 결정하기 위해 식별됩니다.
- VM은 임계값을 초과하는 컴퓨터에서 시스템에서 새로 추가된 컴퓨터로 실시간 마이그레이션됩니다(가동 중지 시간 없음).
되풀이 부하 분산
기본적으로 VM 부하 분산은 주기적 분산을 위해 구성됩니다. 시스템의 각 컴퓨터에서 메모리 압력 및 CPU 사용률은 30분마다 분산되도록 평가됩니다. 단계의 흐름은 다음과 같습니다.
- 메모리 압력 및 CPU 사용률은 시스템의 모든 컴퓨터에서 평가됩니다.
- 임계값을 초과하는 모든 컴퓨터와 임계값 미만의 컴퓨터가 식별됩니다.
- 메모리 압력 및 CPU 사용률이 가장 높은 컴퓨터는 분산의 우선 순위를 결정하기 위해 식별됩니다.
- VM은 임계값을 초과하는 컴퓨터에서 최소 임계값 미만인 다른 컴퓨터로 실시간 마이그레이션됩니다(가동 중지 시간 없음).
Windows Admin Center를 사용하여 VM 부하 분산 구성
VM 부하 분산을 구성하는 가장 쉬운 방법은 Windows Admin Center를 사용하는 것입니다.
시스템에 연결하고 도구 > 설정으로 이동합니다.
설정에서 가상 머신 부하 분산을 선택합니다.
가상 머신의 부하 분산에서 컴퓨터 조인 시 부하를 분산하려면 항상을 선택하고, 30분마다 서버를 조인하여 컴퓨터 조인 시 부하를 분산하거나, VM 부하 분산 기능을 사용하지 않도록 설정하지 않습니다. 기본 설정은 Always입니다.
공격성에서 컴퓨터가 80% 이상 로드된 경우 VM을 실시간 마이그레이션하려면 낮음, 컴퓨터가 70% 이상 로드된 경우 마이그레이션하는 중간, 시스템의 컴퓨터를 평균으로 낮추기 위해 높음, 컴퓨터가 평균보다 5% 이상인 경우 마이그레이션을 선택합니다. 기본 설정은 낮음입니다.
Windows PowerShell을 사용하여 VM 부하 분산 구성
클러스터 공통 속성을 AutoBalancerMode
사용하여 부하 분산이 발생하는 경우와 시기를 구성할 수 있습니다. 클러스터의 균형을 조정하는 시기를 제어하려면 PowerShell에서 다음을 실행하여 아래 표의 값을 대체합니다.
(Get-Cluster).AutoBalancerMode = <value>
AutoBalancerMode | 동작 |
---|---|
0 | 사용 안 함 |
1 | 컴퓨터 조인 시 부하 분산 |
2 (기본값) | 컴퓨터 조인 시 부하 분산 및 30분마다 |
클러스터 공통 속성을 AutoBalancerLevel
사용하여 분산의 공격성을 구성할 수도 있습니다. 공격성 임계값을 제어하려면 PowerShell에서 다음을 실행하여 아래 표의 값을 대체합니다.
(Get-Cluster).AutoBalancerLevel = <value>
AutoBalancerLevel | 강도 | 동작 |
---|---|---|
1(기본값) | 낮음 | 호스트가 80% 이상 로드된 경우 이동 |
2 | 중간 | 호스트가 70% 이상 로드된 경우 이동 |
3 | 높음 | 시스템의 평균 머신 및 호스트가 평균보다 5% 이상인 경우 이동 |
속성 및 AutoBalancerMode
설정 방법을 AutoBalancerLevel
확인하려면 PowerShell에서 다음을 실행합니다.
Get-Cluster | fl AutoBalancer*
다음 단계
관련 정보는 다음을 참조하세요.