virtualization/VMware

[VMware] Horizon View 7 - Instant Clone (0)

yueisu 2016. 7. 11. 20:27

3월 Horizon View 7이 릴리스되었죠. 메이저 버전인만큼 Horizon View 7은 많은 기능을 탑재하고 있습니다만, 이중에서도 개인적으로 흥미를 갖고 있었던 것은 인스턴트 클론입니다.


간단히 말하자면 ESXi 호스트의 메모리상에서 고속으로 클론을 만들어내는 기능입니다. 


저도 공부할 겸 이것저것 조사한 결과를 종합해보자면...


이 "인스턴트 클론"은 "Project Fargo"나 "VMFork"로 불리던 기능입니다. 


리눅스 환경을 다루는 분이라면 "VMFork"가 이해하기 쉬우실지 모르겠습니다.

부모 프로세스를 복사하여 자식 프로세스를 생성하는 fork의 '가상머신판'이라고 할까요. 부모 가상머신의 정지점(스냅숏)을 메모리상에서 자식 가상머신(클론)으로 복사합니다. 복사되는 자식 가상머신은 부모 가상머신의 메모리와 디스크를 공유합니다. 메모리상에서의 복사, 부모 가상머신의 디스크와 메모리를 공유로 많은 자식 가상머신을 고속으로 복사할 수 있게 됩니다. 여기에 Copy-on-Write방식을 채용하여 자식 가상머신에 쓰기가 발생하는 타이밍에 차분(delta) 디스크와 메모리 영역을 확보하게 됩니다. 쓰기에 의한 차분 디스크와 메모리 확보를 가능한 늦춤으로써 스토리지의 영역이나 메모리의 소비를 억제할 수 있는거죠. 클론을 ESXi 호스트의 메모리상에서 작성을 하기때문에 View Storage Accelerator와 6.0부터 디폴트, 무효화된 TPS가 자동적으로 유효화됩니다.




위의 그림은 인스턴트 클론의 동작을 나타낸 것입니다. 

"인스턴트 클론" 풀을 작성하면 '마스터 이미지'의 스냅숏을 복사하여 '템플릿'을 작성합니다. 이 '템플릿'은 '마스터 이미지'의 이른바 링크드 클론으로 동일한 데이터스토어에 저장된다고 합니다. '템플릿'의 작성이 끝나면 이번에는 '템플릿'을 이용하며 '레플리카'를 작성하게 됩니다. 이 '레플리카'는 풀작성시 설정한 가상 데스크톱용 데이터스토어에 저장되어 가상 데스크톱의 읽기용 디스크로 공유되어지게 됩니다. 이 '레플리카'를 바탕으로 각 ESXi 호스트에 '부모 가상머신'을 메모리상에 작성을 하게 됩니다. '마스터 이미지'부터 '레플리카'까지는 정지된 상태로 처리되지만, 이 '부모 가상머신'은 전원이 켜진 상태로 각 ESXi 호스트의 메모리상에 상주를 하게됩니다. ESXi 호스트가 10대 있다면 10개의 '부모 가상머신'이 작성됩니다. 이 '부모 가상머신'으로부터 수초에 한 대씩 '자식 가상머신(인스턴트 클론 가상 데스크톱)'이 작성됩니다.


실제로 인스턴트 클론 풀을 작성하면 vCenter상에서는 '템플릿', '레플리카' 그리고 '부모 가상머신'과 '자식 가상머신(인스턴트 클론 가상 데스크톱)'이 각각 생성된 것을 확인할 수 있습니다.



이렇듯 가상 데스크톱의 전개에 필요한 시간과 메모리, 스토리지 등의 리소스 절감이 확실하다면 "모든 가상 데스크톱 풀을 인스턴트 클론 풀로~!"라는 식으로 간단하지는 않습니다. 우선 제한 사항이 의외로 많습니다. 흐흐


현재 버전의 제약은 다음과 같습니다.

  • 자동 & 부동 데스크톱 풀만 작성이 가능합니다. 전용 데스크톱 풀은 지원하지 않습니다.
  • 링크드 클론처럼 영구 디스트(Persistent Disk)를 이용할 수 없으며 Persona Management도 지원을 하지않습니다.
  • 지원하는 가상 데스크톱의 OS는 Windows 7, Windows 10뿐으로 그외의 Windows OS나 리눅스 가상 데스크톱, RDSH는 지원을 하지않습니다.
  • Sysprep을 이용할 수 없습니다. 아울러 Quickprep도 이용할 수 없습니다. 대신 인스턴트 클론용 커스터마즈용으로 Cloneprep이 제공됩니다.
  • 데이터스토어로 Vvols와 NFS, 로컬 데이터스토어는 지정할 수 없습니다.
  • IPv6는 지원을 하지않습니다.


인스턴트 클론은 유저가 가상 데스크톱에서 로그오프할 경우 해당 가상 데스크톱을 삭제, 새롭게 클론을 작성하기 때문에 사용자 프로필을 포함한 유저가 작성한 데이터를 보존할 방법이 필요합니다. Persona Management는 이용을 할 수 없으므로 로밍 사용자 프로필이나 VMware사에서 추천하는 App Volumes를 이용할 필요가 있습니다. 시간이 되면 App Volumes를 이용한 방법도 검증을 해봐야겠네요.



다음에는 간단하게나마 Horizon View에서 인스턴트 클론 풀을 작성하는 방법에 대해서 소개를 하도록 하겠습니다.