[번역] DRS migration threshold in vSphere 7

출처 : https://frankdenneman.nl/2020/05/08/drs-migration-threshold-in-vsphere-7/

vSphere 7의 DRS에는 새로운 알고리즘이 장착되어 있다. 이전 알고리즘은 클러스터의 각 호스트의 로드를 측정하고 워크로드의 차이를 특정 범위 내에서 유지하려고 했다. 그리고 그 범위, 즉 대상 호스트 부하 표준 편차는 마이그레이션 임계값(migration threshold)을 통해 조정되었다.

새로운 알고리즘은 다른 워크로드의 잠재적인 동작을 고려하면서 워크로드에 필요한 리소스를 제공할 수 있는 VM용 효율적인 호스트를 찾기 위해 설계되었다. 일련의 기사들을 통해, 나는 알고리즘의 작용에 대해 더 자세히 설명할 것이다.

변경으로 인해 마이그레이션 임계값의 동작도 변경되었다. 일반적으로, 이동 임계값은 여전히 은유적인 가스 페달의 역할을 한다. 오른쪽으로 미끄러지면서 가스 페달을 바닥에 밟는다. DRS에 대해 공격적으로 대응하여 특정 임계값을 줄이거나 완화하도록 지시한다. 이불 속에서는 사정이 많이 달라졌다. 비교할 호스트 로드 표준 편차는 없지만 DRS는 워크로드 수요 변화와 허용할 호스트 비효율성의 양을 이해해야 한다. 좀 더 자세히 살펴봅시다.

마이그레이션 임계값(Migration Threshold)

각 마이그레이션 임계값을 설명하는 텍스트를 크게 개선하는 것 외에 vSphere 7에서는 MT(Migration Threshold)의 모양과 동작이 크게 변경되지 않았다. 기본적으로 슬라이더는 보통 "3" 설정으로 설정된다. 더 공격적인 로드 밸런싱 설정이 두 가지 더 있는데, 4, 5. 가장 공격적인 설정이다. 기본값 왼쪽에는 1과 2의 두 가지 설정이 있다. 그러나 2 설정만 로드 밸런싱 권장사항을 생성한다. 슬라이더를 가장 보수적인 옵션인 1로 설정하면 DRS는 필수 사항으로 간주되는 마이그레이션 권장 사항만 생성한다. 몇 가지 이벤트에 대해 필수 이동이 생성되며, 세 가지 일반적인 이유는 호스트가 유지 보수 모드로 전환될 때, 사전 예방적인 HA 제거가 발생할 때 또는 VM이 (반) 선호도 규칙을 위반할 때입니다. 기사의 나머지 부분은 숫자를 참고하여 슬라이더의 설정을 기술하고 있다.

적절한 마이그레이션 임계값 설정 선택

MT 설정 2는 작업 부하가 대부분 안정적인 클러스터를 위한 것이다. 고장률이 아닌 워크로드 변동 측면에서 안정적 ;). 워크로드가 연속 워크로드를 생성할 때, 워크로드를 공격적으로 이동하는 것은 의미가 없다. MT 3은 안정적인 워크로드와 버스트 워크로드가 적절히 혼합된 반면, MT 4와 MT5는 워크로드 급증과 버스트에 대응하도록 설계되어 있다.

Migration-Threshold-3.png

헤드룸 임계값

DRS는 밸런싱 이동에 영향을 미치기 위해 호스트 내에서 특정 수준의 헤드룸(사용 용량)을 식별하는 임계값을 사용한다. 지적하자면, 이것은 엄격한 어드미션 콘트롤(admission control) 기능이 아니다.

임계값은 전체 호스트 활용률이 호스트의 관련 워크로드에 (일부) 성능 손실을 도입하기 시작하는 지점을 식별한다. 새로운 DRS 알고리즘은 VM 수요를 고려하도록 설계되었기 때문에 가능한 최고의 호스트를 찾는 데 초점을 맞추고 있다. DRS는 각 호스트의 전반적인 호스트 사용률을 비교하고 VM을 마이그레이션하여 워크로드가 충분히 버스트할 수 있도록 지원한다.

기본적으로 DRS는 호스트 로드가 50%를 초과하면 호스트의 효율성이 떨어진다고 생각하기 시작한다. 임계값을 초과하면 DRS는 가능한 마이그레이션을 검토하여 워크로드가 더 효율적인 호스트를 찾도록 돕는다. 기존 알고리즘과 마찬가지로 마이그레이션 비용도 효율성 향상을 넘어설 필요가 있다. 보다 적극적인 마이그레이션 임계값 설정(MT4, MT5)을 선택하면 호스트 로드에 대한 허용 오차가 30%로 낮아진다. 그 시점부터 DRS는 특정 수준의 비효율성을 고려하여 다른 호스트에 배치함으로써 특정 워크로드가 이점을 얻을 수 있는지 여부를 파악하기 위해 다른 호스트를 분석하기 시작한다. 또 다른 방법은 DRS가 이 상황에서 70%의 여유 공간을 제공하려고 시도한다는 것이다. 따라서 MT4 또는 MT5를 선택할 때 더 많은 워크로드 마이그레이션이 발생할 수 있다.

2-Headroom-Threshold.png

수요 예측

효율적인 호스트를 찾으려면 DRS가 vSphere 포드 또는 VM의 요구 사항을 이해해야 한다. DRS는 워크로드 요구 사항을 제대로 파악하기 위해 여러 통계를 사용한다. 이러한 통계는 ESXi 호스트에서 제공된다. DRS는 분리된 이벤트를 기반으로 가상 시스템을 이동하지 않기 때문에 보수적이도록 설계되어 있다. 급격한 수요 증가를 관리하는 것이 ESXi 호스트의 역할이다. 이것이 구조적 동작이 되면 이 VM에 적합한 지점을 찾는 것이 DRS 작업이다.

vSphere 파드는 마이그레이션되지 않는다는 점에 유의한다. DRS는 전체 용량 사용을 개선하기 위해 vSphere 파드 로드 밸런싱을 수행하지는 않지만 호스트에서 실행되는 다른 워크로드(VM 및 포드)의 성능에 영향을 줄 수 있으므로 vSphere 파드 수요를 추적할 것이다. vSphere 파드에 대한 자세한 내용은 "Initial Placement of a vSphere Pod" 문서를 참조한다.

기본적으로 DRS는 각 워크로드의 평균 요구량을 40분 이상 계산한다. 이 기간은 VM 메모리 구성 및 마이그레이션 임계값에 따라 달라진다. DRS는 메모리 설치 공간이 더 작은 vSphere 포드 또는 VM의 동작을 더 잘 포착하기 위해 더 작은 VM에 대해 더 짧은 기록을 사용해야 한다는 것을 알게 되었다. 아래는 마이그레이션 임계값 설정과 각 워크로드의 수요를 결정하는 데 사용되는 시간(분)에 대한 개요를 보여준다.

3-Lookback-window-for-stats.png

비용편익

DRS는 클러스터의 상태, 모든 vSphere 포드 및 VM의 워크로드 요구 사항을 고려해야 하며, 어떤 작업이든 가상 인프라의 기본 목표에 방해가 되지 않도록 해야 하며, 이는 워크로드에 리소스를 제공하는 것이어야 한다. 모든 동작은 CPU 자원을 소비한다. 그것은 대역폭을 흡수하고, 어떤 경우에는 메모리 공유 이익에 영향을 미칠 수 있다. DRS는 모든 가능성을 따져봐야 한다. vSphere 7의 DRS에서는 이러한 기능을 비용 편익 필터링이라고 한다. 마이그레이션 임계값을 오른쪽으로 이동하면 특정 비용 필터링 측면이 감소하는 동시에 일부 편익 요구사항이 완화된다. 이를 통해 DRS는 버스트에 대한 응답성을 높일 수 있다. 따라서 MT4 또는 MT5를 선택할 때 더 많은 워크로드 마이그레이션이 발생할 수 있다.

DRS 책임

vSphere는 모두 긴밀하게 협력하는 많은 스케줄러 계층으로 구성되어 있다는 점을 기억하자. DRS는 특정 vSphere 파드 또는 VM에 가장 적합한 호스트를 찾아 배치할 책임을 갖는다. 그러나 물리적 리소스에 워크로드가 예약되도록 하는 것은 실제 ESXi 호스트 스케줄러의 책임이다. ESXi 스케줄러는 요리사 및 웨이터인 반면 DRS를 레스토랑의 호스트 또는 호스티스로 간주하여 적합한 테이블로 안내한다.

개별 워크로드 동작은 상당히 갑작스럽게 변경되거나 리소스 가용성에 급격한 변화가 있을 수 있다. DRS는 가능한 모든 시나리오에서 모든 워크로드와 해당 동작을 조정하고 균형을 맞춰야 한다. 새로운 DRS 알고리즘은 완전히 새롭게 디자인되었고, 나는 이것이 놀라운 진보라고 생각한다.

그러나 새로운 알고리즘은, 새로운 트위커블(tweakable) 파라미터를 가지고, 우리가 다른 행동을 기대할 수 있다는 것을 의미하기도 한다. MT 선택과 상관없이 기존 알고리즘에 비해 vMotion이 더 많이 나타날 것으로 예상된다. 향후 기사에서는 알고리즘의 선택 과정에 대해 설명할 것이다. 항상 그렇듯이, 통제된 환경에서 새로운 소프트웨어를 테스트하는 것이 좋다. 해당 동작을 파악하고 워크로드에 가장 적합한 마이그레이션 임계값을 테스트해 보기 바란다.