[번역] Introducing Scalable Shares – vSphere 7

출처 : http://www.yellow-bricks.com/2020/03/12/introducing-scalable-shares-vsphere-7/

2015년 초, Frank Denneman과 나는 샌프란시스코로 가는 비행기에서 토론을 했다. 우리는 VM 수와 풀의 우선 순위에 따라 공유 수가 결정되는 리소스 풀에 대해 이 개념을 고안했다. 즉, 우리는 자원 풀이 있는 환경에서 공유가 희석되는 것을 피하고 여기에 기술된 자원 풀 파이 역설 문제를 기본적으로 해결하고자 했다. 우리는 DRS 팀과 함께 그 개념을 설명하기 위해 일했고, 특허를 출원했고, 2019년에 특허를 받았다. 오늘 나는 이 기능이 출시되었고 vSphere 7.0의 일부가 될 것이라는 것을 알게 되어 기쁘다.

49651470453_dfbbfbd333_z.png

확장 가능한 공유는 DRS 기능 중 일부다. 클러스터에서 실행하거나 리소스 풀에서 실행한다. 개인적으로 나는 항상 리소스 풀 수준에서 그것을 사용하도록 설정할 것이다. 그렇다면, 어떻게 동작할까? 보통 우선순위가 높고 우선순위가 보통인 리소스 풀을 생성할 때 우선 순위가 높은 RP는 8000의 공유값을 가지며 우선 순위가 보통인 RP는 4000의 공유값을 얻게 된다. 즉, High와 Normal 사이의 2:1의 비율이다.

CPU 타임 중 High 리소스풀은 66%, Normal 리소스풀 33%를 사용함

이제 High에 VM이 8개, Normal에 1개가 있는 경우, 1개만 있는 VM이 리소스를 공유하지 않는 동안 8개가 풀의 리소스를 공유한다는 것만으로 ,경합이 있을 때 Normal의 단일 VM이, VM이 8개보다 더 많은 리소스를 얻을 수 있다고 가정해 보자.

리소스풀이 비율대로 CPU 타임을 가져가게 되고, 그것을 다시 VM 수 만큼 나누어 갖는다. 그 결과 리소스풀이 High이기는 하지만, 8개가 나누어 갖는 쪽은 VM 1개당 66%/8 = 8.25%를 할당 받게 된다. 리소스풀이 Normal이기는 하지만 VM이 1개 밖에 없는 쪽은 33%를 사용하게 된다.
( 나라가 부자라고 내가 부자는 꼭 아닌 뭐 그런... )

Scalable Share를 사용하도록 설정한 경우 DRS는 비율(4:2:1 – High:Normal:Low)과 VM 수를 계산한다. 즉,  High 안의 Share 1000인 VM은 * 4, Normal의 Share 1000인 VM은 * 2가 된다. 그 결과:

Normal = (1*1000)*2=2000
High = (8*1000)*4=32000

비율 계산에 VM 갯수를 포함시킴으로서 이전과 다른 방식으로 계산 됨

그게 말이 됐으면 좋겠는데? 완전히 파악하는데 시간이 좀 걸렸다. 만약 여러분이 이 제품이 어떻게 생겼는지, 그리고 여러분이 "전통적"에서 "Scalable Share"로 전환할 때 어떤 영향을 미칠지 궁금하다면, 나는 이것을 아래에 보여주는 데모를 만들었다.

어찌 보면 합리적으로도 보이나, VM이 많은 경우 리소스를 지나치게 증폭해서 독차지하는게 아닌가 하는 생각도 듬.