가상 머신 부하 분산
적용 대상: Azure Stack HCI, 버전 23H2 및 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
참고
Azure Stack HCI 23H2에서 VM을 만들고 관리하는 권장 방법은 Azure Arc 컨트롤 플레인을 사용하는 것입니다. 아래에 설명된 메커니즘을 사용하여 Azure Arc VM에서 사용할 수 없는 기능이 필요한 경우에만 VM을 관리합니다.
HCI 배포의 주요 고려 사항은 프로덕션에 들어가는 데 필요한 CapEx(자본 지출)입니다. 프로덕션에서 트래픽이 가장 많은 동안 용량이 부족하지 않도록 중복성을 추가하는 것이 일반적이지만, 이렇게 하면 CapEx가 증가합니다. 클러스터의 일부 서버가 더 많은 VM(가상 머신)을 호스팅하는 반면 다른 서버는 사용량이 부족하기 때문에 이러한 중복성이 필요한 경우가 많습니다.
Azure Stack HCI, Windows Server 2022, Windows Server 2019 및 Windows Server 2016 기본적으로 사용하도록 설정된 VM 부하 분산은 클러스터에서 서버 사용률을 최적화할 수 있는 기능입니다. 오버 커밋된 서버를 식별하고 VM을 해당 서버에서 커밋된 서버로 실시간 마이그레이션합니다. 선호도 방지, 장애 도메인(사이트) 및 가능한 소유자와 같은 오류 정책이 적용됩니다.
VM 부하 분산은 다음 추론에 따라 서버의 부하를 평가합니다.
- 현재 메모리 압력: 메모리는 Hyper-V 호스트에서 가장 일반적인 리소스 제약 조건입니다.
- CPU 사용률은 5분 동안 평균됩니다. 클러스터의 모든 서버가 과도하게 커밋되는 것을 완화합니다.
VM 부하 분산은 어떻게 작동하나요?
VM 부하 분산은 클러스터에 새 서버를 추가할 때 자동으로 발생하며 주기적인 반복 부하 분산을 수행하도록 구성할 수도 있습니다.
클러스터에 새 서버가 추가되는 경우
클러스터에 새 서버를 조인하는 경우 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*
다음 단계
관련 정보는 다음을 참조하세요.