vSAN 용량 들여다보기

vSAN 환경을 경험해보신 분은 알겠지만, 이게 용량을 표시하는 부분이 모호한 곳이 몇곳 있습니다.

그중에 하나가 VM summary 에서 보여지는 Storage Usage 값입니다.

스샷을 보시면 알겠지만, 40GB 의 VM 인데 25.24GB 를 사용중이라고 되어있죠. 여기까지 보면 음 뭐 Thin Provision 이니까 실제로 사용중인 용량은 저렇겠지 라고 생각하실 수 있습니다. 

진짜 그런지 한번 보죠.

음 Virtual Disk 의 크기가 약 22G 니까.. 얼핏보면 비슷하긴 한데, 3GB 가량 차이가 납니다. 이 3GB 는 어디에 있을까요?

또 문제가 되는 부분이 있습니다.

여기서는 21.02 GB 가 used storage space 라고 되어있네요. 위에는 80GB 가 disk size on datastore 라고도 되어있습니다. 이건 또 무슨 이야기인가 싶으실 겁니다. 심지어 used storage space 가 disk size on datastore 보다 커지는 경우도 있습니다. 이게 대체 어떻게 된 일일까요?

여기서 잠시 방향을 틀어서.. vSAN Storage Policy 를 변경해보도록 하겠습니다. FTT=1 SW=1 인 설정을 SW=2 로 바꾸어보죠. stripe width 만 늘리는거니까 당연히 용량은 변화가 없어야 정상일 것입니다. 한번 보죠

변경 직후의 스샷입니다. 어라 수치에 변화가 있습니다. 한 10초뒤에 다시한번 확인해보겠습니다.

또 변화가 있습니다. 또 한번 확인해보겠습니다.

또  변화가 있네요. 이게 어떻게 된 일일까요? 분명 바꾼것은 SW=2 설정밖에 없습니다. Component 배치가 제대로 되었는지 한번 볼까요. 예상되는 것은 FTT=1 에 SW=2 니까 witness 를 제외하고 컴포넌트 4개가 있어야겠죠? 그런데..

무려 현재 존재하는 컴포넌트가 6개 입니다. 그중에 4개는 Reconfiguring 중이네요. 이게 무슨일일까요.

Resync 상태를 보면.. 

SW=2 로 변경하기 위한 Resync 가 진행되고 있습니다.

여기서 말하고 싶은 내용은 이겁니다. SW 를 변경한다면, SW=1 에서 2로 변경하기 위해서 SW=2 에 해당되는 컴포넌트를 임시적으로 새로 만든다는 것입니다. 위에서 Component 의 상태가 Reconfiguring 인것이 이러한 이유때문입니다.

즉 이과정에서 실제로 VM 이 vSAN 에서 사용하는 용량이 일시적으로 증가할 수 있습니다. 

SW=2 가 적용된 컴포넌트들의 생성이 끝나면, SW=1 상태에서 생성이 되었던 Component 들은 삭제됩니다.

아직 Resync 가 끝나지 않은 상태입니다. used storage space 가 계속 늘어나는것이 보입니다. Resync 가 끝날때까지 기다려보겠습니다. 

Resync 가 끝난 상태입니다. 변경전의 21.02 와 거의 비슷한 수준으로 다시 내려왔습니다. 여기서 한번 FTT 를 줄여보겠습니다. SW=2 는 두고, FTT 만 1 에서 0 으로 변경입니다. 

변경이 끝났습니다. 그리고 다시 edit setting 을 보면..

SW 를 변경했을때와 달리, disk size on datastore 와 used storage space 가 모두 줄었습니다. 대충 이유가 짐작이 되시나요? 

즉 disk size on datastore 는 VMDK 의 최대 그기 x FTT 설정값으로 이해하시면 됩니다. FTT=1 일때는 40GB 짜리가 FTT=1 설정으로 인하여 2개가 생기니까 80GB 가 되는것이죠. FTT 를 0 으로 하면 Mirror 가 없기 때문에 최대 40GB 만 사용하는 것입니다.

used storage space 는 현재의 “component” 크기라고 보시면 됩니다. 

VMDK 크기를 보면..

실제로도 처음과 달리 절반 사이즈로 줄었지요. 

여기서 보여주는 VMDK 의 사이즈는 Storage Policy 를 통해 최종적으로 소요되는 공간을 보여준다라는 것입니다.

그런데… 이 상태에서 다시 VM summary 화면으로 돌아가면

Storage Usage 가 처음과 똑같은 크기입니다. FTT 를 바꾸던 SW 를 바꾸던 변경되지가 않습니다. 

RVC 를 통해서 실제 component size 를 보면,

Disk backing: [vsanDatastore] 3a03e759-f565-a83f-9e30-78e3b51bf0e0/Win2012 Svr Base_0.vmdk
DOM Object: 3c03e759-43ab-739d-7b90-78e3b51bf0e0 (v3, owner: esxi01-tam.psolab.local, proxy owner: None, policy: forceProvisioning = 0, hostFailuresToTolerate = 0, spbmProfileId = fe20861c-166f-4e9c-9179-3f896c9427ce, proportionalCapacity = 0, spbmProfileGenerationNumber = 1, cacheReservation = 0, stripeWidth = 2)
RAID_0
Component: e03cc65a-4a39-d788-e0dc-78e3b51bf0e0 (state: ACTIVE (5), host: esxi02-tam.psolab.local, md: naa.600508b1001c58626c34074d3ebc3699, ssd: naa.600508b1001c98fe5f6debc2309cf49d,
votes: 2, usage: 5.4 GB, proxy component: false)
Component: 173dc65a-3b4e-f332-f356-78e3b51bf0e0 (state: ACTIVE (5), host: esxi01-tam.psolab.local, md: naa.600508b1001cd1f30a63f55a3210d204, ssd: naa.600508b1001ce9d3709b4b1a140d5832,
votes: 1, usage: 5.4 GB, proxy component: false)

 

component size 가 5.4GB 짜리가 2개가 있는것으로 확인이 되네요. 10.8GB 정도니까 edit setting 화면에서 보이는것과 비슷합니다. 여기에 뭐 namespace 에서 사용하는 component 크기까지 합하면 얼추 비슷합니다.

근데 왜 VM summary 는 25.24 GB 냐는거죠. 당최 왜?

제가 마법을 한번 부려보겠습니다.

얼래? 바뀌었네요. 제가 무엇을 했는지는 나중에 따로 적겠습니다.

일단 여기서 다시 FTT=1, SW=1 로 원복해보겠습니다.

다시 돌아왔습니다.. 그런데 VM summary  를 다시보면

숫자가 이상합니다.

RVC 로 vmdk 사이즈를 확인해봐도  21GB 정도로 보이는게 맞습니다.

근데 왜 또 이상한 용량이난 말이죠.. 

제가 아까 했던걸 또 해보겠습니다.

다시 바뀌었습니다. ^^;;

제가 여기서 말씀드리고 싶은것은 vSAN 환경에서는 VM summary 에서 보이는 Storage Usage 값을 신경쓰지 마시라는 겁니다. 저게 값이 refresh 가 잘 안됩니다. ^^;  RVC 상에서 별도로 Refresh 하는 방법이 있는데.. 굳이 이걸 통해서 Refresh 하실필요가 없어서 따로 적진 않겠습니다.

refresh 하고 난뒤에 표시되는 용량은 제가 테스트한바로는 실제 VMDK 크기 + 스왑 파일의 크기로 보입니다. 문제는 그것도 정확하진 않습니다. vSAN 6.1 까지는 스왑파일에 대해 무조건 100% OSR 를 사용했습니다. (thick) 

4GB 메모리 VM 이라면 4GB 크기의 vswap 파일이 같이 생성되었죠. 6.2 부터는 sparse swap 파일이 생겨서 thick 이 아닌 thin 으로 생성이 되기 때문에 4GB 의 VM 이더라도 실제로 4GB 크기가 무조건 생기지 않습니다. 또 FTT 를 고려했을때의 용량도 달라지죠. 

vSAN 환경에서는 저 Storage Usage 가 정상적으로 표시되지 못하고 있는것 같습니다. 암튼 VM summary 에서 나오는 Storage Usage 는 신경쓰지 마세요!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다