vSphere 에서 DRS 를 설정하다보면, 아래와 같이 Migration Threshold 라는 항목이 있습니다.
해당 내용에 대한 설명이니 참고하시기 바랍니다.
아래 내용은 Automation Level이 Fully Automated 이라고 가정하고 설명드리겠습니다. (자동으로 수행)
Conservative 부터 Aggresive 까지 5단계가 있습니다.
1. Conservative 일 경우 Priority 1 에 해당하는 두가지 경우만 Migration 을 수행합니다.
–> Host 가 Mainternance Mode 로 동작할 경우 다른 호스트로 자동으로 vMotion
–> Affinity Rule 설정이 되어 있을 경우 해당 룰 적용 (keep virtual machine together, separate virtual machine, virtual machine to host)
DRS Cluster Summary 페이지를 보면 아래와 같은 두가지 값을 보실 수 있습니다.
1. Target host load standard deviation
2. Current host load standard deviation
LoadImbalanceMetric 값은 현재 호스트의 Load standard deviation 값입니다. 이 값이 0 일 경우 Cluster 의 자원 분배는 완전히 Balanced 한 상태라고 보시면 됩니다.
Migration Threshold 값을 변경할 경우 1번의 Target host load standard deviation 이 변경되는 것을 보실 수 있습니다.
즉 Target 값보다 Current 이 낮을 경우는 DRS 에서 별도의 Recommandation 이 생성되지 않습니다. Current 가 Target 값보다 높을 경우는 Cluster 가 imbalanced 하다고 판단하여 target 값 이하로 낮추기 위한 Migration 을 수행하게 됩니다.
Threshold 값이 높아질 경우 (Aggresive 방향) 에는 Target Host Load Deviation 의 값이 낮아지게 되어 imbalanced 상태에 좀 더 민감하게 반응하게 됩니다.
2. Proirity 2 ~ 5 까지는 호스트의 LoadImbalanceMetric 의 계산을 통하여 기준으로 결정됩니다.
VMware KB https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007485 를 참조하면 LoadImbalanceMetric 과 Proirity Level 의 계산공식이 나와있는데, 현재버전까지도 변경된 부분은 없습니다. 해당 내용을 참조하시기 바랍니다.
다음과 같이 가정하고, 위의 KB 의 공식을 적용하면
Target host load standard deviation 이 <= 0.163
Current host load standard deviation 이 0.050 이고 클러스터의 호스트의 수가 3 이다 라고 가정한다면 (SQRT 는 제곱근 입니다)
6 – ceiling(0.050/0.1*SQRT(3)) = 5 라는 Priority Level 이 나오게 됩니다. 그러나 Target 값보다 Current 값이 작은 상태이기 때문에 Cluster 는 balanced 한 상태라고 판단합니다. 만약 여기서 Target 값이 작아진다면 imbalanced 하다고 판단하게 될 수도 있겠지요.
즉 Balancing 을 하게 될경우 위의 계산을 거쳐 Priority Level 에 따른 권장 값들을 생성하는데 2 ~ 5단계의 Recommandation 이 생성되는 것입니다. 즉 Aggresive 로 설정하게 되면 5단계의 Recommandation 을 수행하게 됩니다. 아마도 잦은 vMotion 이 발생할 것입니다. Default 는 중간단계인데 이 경우, Priority 1, 2, 3 에 해당하는 Recommandation 을 수행하게 됩니다.