요새 VMware 말고 다른 3rd-party vendor 들도 본인들의 제품을 가상머신 형태, OVA/OVF 형태, 또는 vmdk 파일 형태로 제공하는 경우가 있습니다.
최근에 경험한 사례를 말씀드리면.. Arista 에서 CVX (CloudVision eXchange)? 라는 것을 VM 형태로 제공을 하는데, OVA 형태로 제공하는 것이 아닌, 하드디스크만 별도로 vmdk 파일을 제공하는 것 같습니다. 이때에는 일반적인 방법으로 VM 을 생성하되, 디스크를 추가할 때 new hard disk 가 아닌 existing hard disk 를 붙이게 됩니다. 즉 이때는 VM 이름과 VMDK file 의 이름이 같지 않겠죠.
그러나 스토리지가 vSAN 환경일 경우, 문제가 될 수 있는 소지가 있는데, 그 이유는 다음과 같습니다.
Arista 에서 제공하는 vmdk 는 vSAN 내에서 생성된 vmdk 파일이 아닙니다. 즉 이러한 vmdk 는 vSAN datastore 로 upload 하더라도 vSAN Storage Policy 가 제공하는 Protection (FTT 등) 에 의해 보호받지 못합니다. 다음 스크린샷을 보시죠.
vmdk 를 따로 업로드해서 existing hard disk 로 VM 에 추가한 경우입니다.
Policy 상태를 보면 None 으로 되어있고, Physical Disk Placement 에도 아무것도 표시되지 않습니다. 즉, Storage Policy 가 정상적으로 apply 되지 못하는 상태라는 것을 의미합니다. 이 경우에는 host reboot 등이 발생하면 HA failover 가 trigger 되더라도 VM Power on 이 되지 않는 경우가 발생할 수 있습니다. 그렇다면 어떻게 해야할까요?
두가지 방법이 있습니다. VM 을 생성한 뒤,
- Storage vMotion 을 한다.
- Clone 을 뜬다.
다른 Datastore 가 있을 경우에는 Storage vMotion 을 하는 것이 방법이 될 수 있겠고, 다른 Datastore 가 없는 경우라면 Clone 을 하는 것이 방법이 될 수 있겠습니다. Clone 을 통해 똑같은 VM 을 생성을 하면 다음과 같이 적용됩니다.
위와 같이 VM home 과 hard disk 둘다 Storage Policy 가 Compliant 상태인것을 확인할 수 있습니다. Physical Disk Placement 도 정상적으로 보입니다.
정리하면
vSAN Datastore 에서 생성되지 않은 vmdk file 을 vSAN datastore 에서 사용해야 할 경우, 바로 사용하면 안된다.
Clone 또는 Storage vMotion 을 통해 vSAN 에서 사용하는 vmdk 형태로 변환하는 과정이 필요하다. 이 과정을 거치지 않으면 해당 VMDK 에는 Storage Policy 가 적용되지 않기 때문에 vSAN 의 Protection 에 의해 보호 받을 수 없다
vSAN 에서는 VMDK 를 제외한 다른 것 (ISO file 등) 은 Policy 에 의해 보호되지 않기 때문에 그런 파일들을 vSAN datastore 내에 저장하는 것은 권장하지 않는다.(2018.06.18 Update : Storage Policy for non-VMDK file on vSAN 참조)
정도로 정리할 수 있겠네요.
그럼 참고하시기 바랍니다.