안녕하세요, 관련하여 문의를 받은 내용이 있어 공유차 올립니다.
vSphere 6.5 환경 + EMC Xtrem IO 를 사용하시는 환경이고,
Auto Unmap 기능을 사용하기 위해서 VMFS5 –> VMFS6 로의 업그레이드를 진행한 케이스입니다.
요새 스토리지들도 자체적으로 Thin Provision 으로 LUN 을 생성하는 경우가 많은데요, Xtrem IO 도 그런 케이스로 보시면 되겠습니다.
VMFS5 –> VMFS6 로의 변환은 온라인상에서는 불가능하고, 해당 LUN 을 완전히 비우고, Datastore 삭제 후 VMFS6 데이터스토어로의 신규생성이 필요합니다.
문제는 이러한 과정을 거쳐 VMFS5 –> VMFS6 로 변환후에도 스토리지상에서 해당 디바이스의 용량을 봤을 때 Usage 가 기존에 비해 전혀 줄지 않는 것으로 보인다는 것이 문제의 내용입니다. Auto Unmap 이 돌기시작하면 변경되지 않을까 했지만 변동이 없었고요.
일단 제 의견으로 수동으로 Unmap 을 한번 돌려보는 것이 어떨지 하여 의견을 드렸었고, 실제 Unmap 수행결과 Xtrem IO 상에서 용량이 줄어듯는 것도 확인할 수 있었습니다.
당시 드는 생각으로는 VMFS6 변환 이전의 데이터에 대해서는 Auto Unmap 이 수행되지 않을 수도 있을것 같다라는 생각이 들었는데, 실제로 해당 문제에 대한 KB 가 있었습니다.
https://kb.vmware.com/s/article/60267
요지는 VMFS6 의 Auto Unmap 은 VMFS6 이후에 변환 이후에 쓰여진 데이터들에 대해서만 수행된다는 것입니다.
- This is because, when VMFS is deleted, blocks are still mapped in the backing array. Upon re-creation into VMFS6, there’s no efficient way for VMFS6 to know which blocks were earlier mapped by VMFS volume. So, VMFS6 will only unmap those blocks that are mapped (written) and then unmapped after creating VMFS6 volume.
따라서 VMFS6 로의 전환시 기존 디바이스를 삭제하고 새로 LUN 을 만들어서 변환을 하던가 하는 방식으로 계획을 세우심이 좋겠습니다.
1) Delete the data from the original VMFS datastore, manually unmap this datastore, delete this datastore, format the same lun as VMFS6 and create new datastore.
2) Do not use the same LUN again for a new VMFS6 datastore. On a fresh LUN, there’s nothing mapped. And VMFS6 Auto-Unmap is efficient in unmapping the blocks written and unmapped in VMFS6, so it works fine.
If the new VMFS6 datastore has already been created on a previously used LUN, write data to datastore using dd utility and create bogus file so that datastores usage reaches 100%, then delete that file and now auto-unmap will work as expected.
그럼 참고하세요~~
안녕하세요. 김병희 부장님. 해당 케이스 관련해서 도움 요청드렸던 엔지니어입니다. ^^
블로그 방문했다가 이 아티글 보고 답변 남깁니다. 도움주셨던 것 다시 한 번 감사드립니다.
저도 공유해주셨던 KB 보고 LUN을 재구성해야 하지 않을까 생각하였지만 해당 스토리지가 저희 유지보수 대상이 아니어서 선뜻 작업은 못하는 가운데 수동으로 언맵을 실행하고 나니 이후에는 자동 언맵이 수행되어서 용량 환원이 되는 것을 확인하였습니다. 모든 호스트에서 수행한 것은 아니지만 절반 이상 호스트에서 수행하였고, 테스트와 모니터링을 통해서 작동하더군요.
정확하게 완료되 것은 아니지만 함께 공유해봅니다. 감사합니다.
틈나는데로 공유부탁드립니다~ 감사합니다.