오늘 진땀흘린 얘기를 하나 하겠습니다.
사내에 도입중인 VMware ESXi Server를 만지작만지작(?) 하다가 스냅숏을 꽤나 많이 만들어놓은 서버가 있길래, 몇개의 스냅숏을 지웠습니다. 지우던 도중에 서버가 멈추는거 같아서 VI Client를 죽이고 다시 띄웠는데... 허걱...
스냅숏을 지웠던 가상머신이 다음과 같은 에러로 기동은 안하더군요. 흐흐
"VMware Cannot open the disk ~~~ .vmdk or one of the snapshot disks it depends on.
Reason: The parent virtual disk has been modified since the child was created."
Reason: The parent virtual disk has been modified since the child was created."
왠 날벼락...
부랴부랴 해결 방법을 찾은 결과, 다음과 같은 페이지를 찾았습니다.
대충읽어보니 스냅숏의 차분화일이 제대로 인식되지 않았던 탓에 위와 같은 에러가 발생했던 것 같더군요.
어떤 가상머신의 스냅숏을 작성했다고 가정하죠. 스냅숏을 작성하면 가상머신의 디스크화일인 XXXX.vmdk의 차분이 XXXX-000001.vmdk란 화일로 생성됩니다. 여기서 또다시 스냅숏을 작성하면 이번에는 XXXX-000001.vmdk 화일의 차분이 XXXX-000002.vmdk란 화일로 생성되죠. 이렇듯 작성된 스냅숏 화일은 부모화일을 인식할 필요가 있으며, 부모화일을 인식하기 위해 ParentCID라는 파라메터(8자리의 랜덤화된 문자열)가 지정되어있죠. 다음과 같이 말입니다. XXXX-000001.vmdk의 내용입니다.
#Disk DescriptorFile
version=1
CID=0a483d22 <---------------------------------자신의 CID
parentCID=5db942c2 <---------------------------부모화일의 CID
createType="vmfsSparse"
parentFileNameHint="XXXX.vmdk" <-------------부모화일
#Extent description
RW 125829120 VMFSSPARSE="XXXX-000001-delta.vmdk"
#The Disk Data Base
#DDB
ddb.toolsVersion="7303"
version=1
CID=0a483d22 <---------------------------------자신의 CID
parentCID=5db942c2 <---------------------------부모화일의 CID
createType="vmfsSparse"
parentFileNameHint="XXXX.vmdk" <-------------부모화일
#Extent description
RW 125829120 VMFSSPARSE="XXXX-000001-delta.vmdk"
#The Disk Data Base
#DDB
ddb.toolsVersion="7303"
이번에는 XXXX-000002.vmdk의 내용입니다.
#Disk DescriptorFile
version=1
CID=1ccc66f5 <---------------------------------자신의 CID
parentCID=0a483d22 <---------------------------부모화일의 CID
createType="vmfsSparse"
parentFileNameHint="XXXX-000001.vmdk" <------부모화일
#Extent description
RW 125829120 VMFSSPARSE="XXXX-000002-delta.vmdk"
#The Disk Data Base
#DDB
ddb.toolsVersion="7303"
version=1
CID=1ccc66f5 <---------------------------------자신의 CID
parentCID=0a483d22 <---------------------------부모화일의 CID
createType="vmfsSparse"
parentFileNameHint="XXXX-000001.vmdk" <------부모화일
#Extent description
RW 125829120 VMFSSPARSE="XXXX-000002-delta.vmdk"
#The Disk Data Base
#DDB
ddb.toolsVersion="7303"
위와같이 XXX-000001.vmdk의 자신의 CID가 XXX-000002.vmdk에서는 부모화일의 CID로 설정되어있는 것을 확인할 수 있습니다. 바로 이 부모화일의 CID가 제대로 인식되지않았기에 가상머신이 기동을 하지않았던거죠.
그래서 일일이 각 스냅숏의 vmdk화일을 텍스트 에디터로 확인을 하고, 잘못설정되어있던 vmdk화일의 부모화일의 CID를 고쳐주었더니 무사히 기동되었습니다. 흐흐
원인으로써는 일련의 스냅숏을 중간중간(예를들어 6/1부터 일주일동안 매일 스냅숏을 작성한 뒤에 6/2, 6/5의 스냅숏을 삭제) 삭제하다보니 부모화일의 CID가 제대로 링크되지않았던 것 같습니다. 흐흐
아, vmdk화일은 용량이 적다면 텍스트 에디터로도 편집이 가능합니다만, 수GB~수십GB라면 바이너리 에디터를 이용해야됩니다. 바이너리 에디터로 편집을 할 경우에는 주의하시길 바랍니다. 작업전에 백업 아시죠? 흐흐
'virtualization > VMware' 카테고리의 다른 글
VMware가 Google Chrome OS를 서포트 (0) | 2009.07.22 |
---|---|
[VMware 에러] Insufficient video RAM (0) | 2009.07.16 |
[vSphere PowerCLI] 인스톨 (0) | 2009.07.02 |
VMware Fault Tolerance (2) | 2009.06.29 |
vSphere 4의 Hot-Add기능 (0) | 2009.06.15 |
vSphere ESX 4 인스톨 (0) | 2009.06.03 |
VMware vSphere 4 Evaluator’s Guide (0) | 2009.05.30 |
VMware vSphere 4.0 평가판 제공개시 (0) | 2009.05.29 |