윈도우 가상 머신의 최강자 VMware 와 VMDK 가상 디스크 이미지 포맷

윈도우에서 가상 머신하면 VirtualBox 도 있고 VirtualPC(XP 모드, Hyper-V) 도 있지만, 역시나 VMware 패밀리가 가장 널리, 가장 많이 사용된다고 할 수 있죠. 그리하여 VMware 의 가상 머신에서 사용하는 VMDK 가상 디스크 이미지 또한 많이 사용되고 있습니다. 이렇게 많이, 널리 사용되면 지원을 해주는 게 인지상정이죠. 그래서 고스트는 11.5.x 버전부터 VMDK 가상 디스크 이미지 파일을 기본으로 지원하기 시작했습니다.

VMDK 이미지 파일은 고스트에서 세 가지 방법으로 활용이 가능합니다.

첫 째, VMDK 이미지 파일을 GHO 이미지 파일과 같이 백업 이미지로 활용
둘 째, VMDK 이미지 파일을 직접 디스크로 활용
셋 째, VMDK 이미지 파일을 가상 디스크로 마운트하여 활용



사실 따지고 보면 그게 그건데 어쨌든 모두 알아보도록 하겠습니다. 지금까지 고스트 강좌를 잘 따라오셨고, VMware 에 대해 잘 알고 계신다는 가정하에 가도록 하겠습니다.

* 참고로 예제에서 사용된 VMware 가상 머신과 VMDK 가상 디스크 이미지 파일은 VMware Workstation 9.0 버전에서 생성한 것입니다.





VMDK 이미지 파일을 백업 이미지처럼 사용하기

고스트에서 VMDK 이미지 파일을 활용하는 가장 간단한 방법은 GHO 이미지 파일을 사용하듯 VMDK 이미지 파일을 하나의 백업 이미지로 놓고 이를 통해 복원을 진행하는 방식으로 사용하는 것입니다.



1. VMDK 이미지를 통한 디스크 복원

그럼 간단하게 실제로 예를 보죠. 일단 아래는 제가 현재 VMware Workstation 에서 사용 중인 가상 디스크입니다. 디스크들 중에 세 번째 디스크를 대상으로 하겠습니다. 디스크의 모습과 해당 디스크의 파티션들에 포함된 파일들은 아래와 같습니다. [스크린 샷들은 일부로 축소 안 하고 원본 사이즈로 올리니 잘 안 보이시면 확대해서 보세요.]





해당 디스크의 VMDK 이미지 파일은 실제(Host) 시스템에서 T:\VMware.vmdk 파일입니다.




자~ 그럼 위와 같은 T:\VMware.vmdk 디스크의 모든 내용을 그대로 제 실제 로컬 시스템의 일곱 번째 디스크로 옮겨보도록 하겠습니다.




작업은 매우 간단합니다. 해당 VMDK 이미지 파일을 그대로 백업 이미지 파일처럼 사용하시면 됩니다. 아래와 같이 말이죠.

* 이 때 해당 가상 머신은 종료된 상태여야 합니다. (VMDK 이미지가 가상 머신에서 사용 중이지 않아야 합니다.)

ghost64 -clone,mdoe=restore,src=T:\VMware.vmdk,dst=7 -sure -fx





그럼 아래와 같이 VMDK 가상 디스크의 모든 내용이 실제 디스크로 복원된 것을 확인할 수 있습니다.




간단하죠? 작업상 복원이지 실제로는 VMDK 가상 디스크를 그대로 실제 디스크로 복사한 것과 다름 없죠. 지금까지 VMDK 이미지를 백업 이미지처럼 사용하여 실제 디스크에 복원을 진행해 봤습니다. 여기까진 문제가 없죠. 다음이 문제입니다.



2. VMDK 이미지를 통한 파티션 복원

위에서 VMDK 이미지를 백업 이미지처럼 활용하여 디스크를 복원한 것처럼 파티션도 같은 방식으로 복원할 수 있습니다. 근데 이게 좀 문제가 있습니다.


디스크 2 는 VMDK 이미지(T:\VMware.vmdk) 입니다. 디스크 6 은 제 실제 시스템의 디스크(7)이고요. 위와 똑같은 디스크들입니다. 헷갈리지 마세요. 아무튼 VMDK 이미지의 두 번째 파티션을 실제 시스템의 일곱 번째 디스크의 첫 번째 파티션으로 복원해보도록 하겠습니다.




그럼 고스트로 파티션 복원 작업을 진행해보죠. 아래와 같습니다.

ghost64 -clone,mode=prestore,src=T:\VMware.vmdk:2,dst=7:1 -sure -fx





결과는 아래와 같이 나왔습니다.




뭐가 문제인지 아시겠나요?




그러니까 VMDK 를 백업 이미지처럼 활용하면 디스크 복원 작업에선 문제가 없는데, 파티션 복원 작업에선 첫 번째 파티션을 제외한 두 번째 세 번째... 파티션들은 제대로 인식을 하지 못하고 첫 번째 파티션을 선택해버리는 문제가 있습니다. 이게 가상 머신이 최신 버전이라서 그런건지는 모르겠지만 아무튼 이런 현상이 발생한 건 맞으니까요.

그래서 이러한 문제도 확인했으니 전 VMDK 이미지를 백업 이미지처럼 복원 작업으로 사용하는 것은 별로 추천하고 싶지 않습니다. VMDK 이미지는 그냥 이미지 포맷에 맞게 디스크로 활용하는 게 좋을 듯 하네요. 어떻게?




VMDK 이미지 파일을 곧바로 디스크로 사용하기

VMDK 이미지 파일을 디스크로 활용하는 방법은 별거 없습니다. 그냥 복사로 작업하면 됩니다.

ghost64 -clone,mode=pcopy,src=T:\VMware.vmdk:2,dst=7:1 -sure -fx





그러면 복원에서 사용할 때와는 다르게 정상적으로 이미지 파일 내의 첫 번째 파티션 외 다른 파티션들도 잘 인식하여 원하던대로 결과가 나온 것을 확인할 수 있습니다.





결론을 이야기하자면 VMDK 이미지로 디스크 복원, 파티션 복원을 하기 보다는 디스크 복사, 파티션 복사를 하는 게 낫다는 겁니다. 간단하게 몇 줄로 끝내려다가 기왕하는거 이미지 좀 자세하게 첨부하자 했더니 뭐가 이렇게 길어 보이죠? 흠... 다음으로 넘어가죠.




VMDK 이미지를 고스트에 마운트하여 사용하기

먼저 미리 말해두자면 VMDK 이미지를 고스트에서 활용하는 건 사실 이게 원형입니다. 위에서 미리 알아 본 복사 작업과 복원 작업에서 활용하는 건 현재 이야기하려는 마운트 기능을 고스트가 자동으로 처리하는 거죠. [그래서 실제 작업이 이루어지는 스크린 샷들을 잘 보시면 50 번 디스크로 인식이 되어 있는 걸 보실 수 있습니다. 문제가 생긴 파티션 복원만 빼고요.] 

아무튼 고스트에서는 VMDK 는 물론 이전 글에서 알아보았던 V2I, IV2I, PQI 이미지도 마운트하여 디스크처럼 사용할 수 있습니다. 물론 마운트된 디스크는 고스트에서만 사용이 가능하며 읽기 전용으로 마운트 됩니다. [* 단! V2I, IV2I, PQI 는 V2iDiskLib.dll 이 필요하며 이 때문에 32비트 버전에서만 사용 가능]


고스트에서 이러한 이미지 파일의 마운트는 -ad 스위치가 담당합니다. [-adddisk 스위치도 같은 스위치입니다.]

ghost64 -ad=T:\VMware.vmdk



그럼 아래와 같이 해당 이미지가 고스트 내에서 50 번 디스크로 마운트 됩니다.

VMDK 이미지가 50 번 디스크로 마운트된 모습.


즉, 고스트에 -ad 를 통해 VMDK 이미지를 마운트하면 이제 해당 이미지는 50 번 디스크로 사용할 수 있게 되는 겁니다. 디스크이기 때문에 해당 디스크(파티션)을 복사나 백업의 원본(SRC)으로 삼을 수 있죠. [하지만 읽기 전용이기 때문에 복사의 대상(DST)이나 복원의 대상(DST)으로는 사용할 수 없습니다.]


그러니까 위에서 VMDK 이미지 자체를 곧바로 SRC 의 디스크에 놓고 복사 작업을 진행했던 것을, 원래대로 마운트 기능을 통해 50 번 디스크로 일단 인식을 시켜놓고 작업을 하면 아래와 같이 되는 겁니다.

ghost64 -clone,mode=pcopy,src=T:\VMware.vmdk:2,dst=7:1 -sure -fx



ghost64 -ad=T:\VMware.vmdk -clone,mode=pcopy,src=50:2,dst=7:1 -sure -fx




간단하죠? 그런데 VMDK 이미지 디스크(파티션)의 데이터를 로컬의 디스크로 바로 복사하려는 경우에는 이렇게 마운트하여 작업하는 것이 불편합니다. 그냥 마운트없이 SRC 의 디스크 부분에서 곧바로 사용하는 게 여러모로 생각해보아도 편리하죠.


하지만 이렇게 VMDK 이미지를 직접 마운트해야만 비로소 가능해지는 작업이 있습니다. 바로 VMDK 이미지 디스크(파티션)을 곧바로 GHO 이미지로 백업하는 작업입니다.

ghost64 -ad=T:\VMware.vmdk -clone,mode=pcreate,src=50:2,dst=T:\VMBackup.gho -sure -z2 -fx





이러한 고스트의 VMDK 마운트 기능을 활용할 수 있는 작업이라면 일단 저는 그게 생각나네요. 흔히 VMware 가상 머신에서 작업한 윈도우를 필요에 의해 GHO 백업 이미지 파일로 저장하여 로컬에서 사용하려면, [예를 들어 Sysprep 봉인 결과물?] 가상 머신 안에서 백업하고 이를 다시 로컬로 복사해와야 하죠. [VMware 의 자체 기능인 Map Virtual Disks 를 통해 로컬로 마운트한 드라이브는 고스트 및 이런 류의 프로그램에서는 인식하지 못하기 때문에] 뭐 물론 좀 단순 무식하게 해결하자면 VMware 에서 로컬 디스크를 Physical Disk 로 직접 물려서 작업해도 되긴 하지만, 그게 아시는 분들은 아시겠지만 좀 위험 부담이 있잖아요?

그런데 이러한 작업이 고스트 11.5.x 버전에 들어서면서 지금 이 단락에서 설명한 것과 같이 VMDK 를 고스트에서 직접 마운트하여 사용 가능해짐에 따라 굉장히 간단하게 작업할 수 있게 된 것이죠. 뭐... 그렇습니다. 근데 Sysrep 봉인 작업은 고스트보다는 ImageX 가 좋아서...

흠... 여기까지 하죠. 이상입니다. ^^

* 윈도우의 기본 가상 디스크 이미지 포맷인 VHD 는 왜 지원을 하지 않나요? 그건 그냥 윈도우에서 마운트하면 로컬 디스크와 같이 인식되고, 고스트에서도 바로 사용 가능하잖아요. 지금 작성하고 있는 고스트 정리들에서 계속 사용하고 있는 게 VHD 가상 디스크입니다. ^^;;

근데 이 글이 이렇게 길게 나올 게 아닌데... 원래는 몇 줄로 짧게 끝내려던 건데... 이게 왜 이렇게 됐죠? ㅜ_ㅜ 그리고 이렇게 작성해놓고 보니 목차에서 너무 앞부분에 뺀 감이 있네요. 좀 뒤에 놓았어야 한 건데......



 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 돌산 2012.10.20 15:04 신고  댓글주소  수정/삭제  댓글쓰기
    이전 글에 이어서 vmdk를 사용하는 방법이군요.아무래도 익숙한 포맷이다보니 v2i,pqi보다는 친근하게 느껴지네요.그런데..."원래는 짧게 몇 줄로 끝내려던 건데,이게 왜 이렇게 됐죠?"...가 저에게는 다행이네요.덕분에 더 상세한 예를 보면서 이해하게 되었으니까요..ㅎㅎㅎ

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com