Xenserver Import 실패 시 VM과 VBD 정보 제거하기

원격 서버에서 xe 명령으로 vm-import 등을 수행할 때 xenserver 와 xe api 버전이
다를 경우 정상적으로 import 가 안될때가 존재한다.

이때 이미 Import 시작과 동시에 Meta 에 등록된 VM 정보가 계속 존재하는 문제가
발생한다. VM을 강제로 중지를 시켜도 안되고, 해당 VM 이미지의 디스크(VBD)도
이미 등록되어 삭제되지도 않는다.

이럴 경우 대처 방법이다.

앞서 VM 강제 종료 방법에 대해서는 얘기한바 있다.

# xe vm-reset-powerstate vm=<vm_name>

# xe vm-destory vm=<vm_name>

이렇게 하면 대부분의 VM 은 종료상태로 변경되거나 자동으로 목록에서 제거될것이다.

 

이제 Xenserver SR 에 storage 탭으로 가면 해당 VM 의 디스크가 존재하는데
삭제하고 싶어도 delete 버튼이 비활성화 되어 삭제 되지 않는다.

이때는 Xenserver Command Console 로 들어가서 ..

1) 해당 디스크의 vdi uuid 를 찾아낸다.

# xe vdi-list
uuid ( RO) : a035d2ce-13aa-4937-83f9-d114ddf63557
name-label ( RW): Citrix License Server Virtual Appliance 11.13.1 Storage
name-description ( RW): Citrix License Server Virtual Appliance 11.13.1 Storage 8GB
sr-uuid ( RO): e7633440-1475-9c46-7e03-2da95358b80e
virtual-size ( RO): 8589934592
sharable ( RO): false
read-only ( RO): false

 

# xe vdi-list uuid=a035d2ce-13aa-4937-83f9-d114ddf63557 params=all
uuid ( RO) : a035d2ce-13aa-4937-83f9-d114ddf63557
name-label ( RW): Citrix License Server Virtual Appliance 11.13.1 Storage
name-description ( RW): Citrix License Server Virtual Appliance 11.13.1 Storage 8GB
is-a-snapshot ( RO): false
snapshot-of ( RO): <not in database>
snapshots ( RO):
snapshot-time ( RO): 19700101T00:00:00Z
allowed-operations (SRO): forget; update; resize; destroy; clone; copy; snapshot
current-operations (SRO):
sr-uuid ( RO): e7633440-1475-9c46-7e03-2da95358b80e
sr-name-label ( RO): Local storage
vbd-uuids (SRO): e3a61fa1-a47a-15b1-0a48-e7f953876fe0
crashdump-uuids (SRO):
virtual-size ( RO): 8589934592
physical-utilisation ( RO): 8615100416
location ( RO): a035d2ce-13aa-4937-83f9-d114ddf63557
type ( RO): System
sharable ( RO): false
read-only ( RO): false
storage-lock ( RO): false
managed ( RO): true
parent ( RO): <not in database>
missing ( RO): false
is-tools-iso ( RO): false
other-config (MRW): content_id: 76a39225-6e8e-ac6b-0e62-5e1d137f4d6c
xenstore-data (MRO):
sm-config (MRO): read-caching-reason-844c2166-e2a2-47b0-81e7-4ed65b3dc92a: LICENSE_RESTRICTION; read-caching-enabled-on-844c2166-e2a2-47b0-81e7-4ed65b3dc92a: false; import_task: OpaqueRef:7a6ddbcb-cc38-7211-3d32-bd4772a8fb5e; vdi_type: vhd
on-boot ( RW): persist
allow-caching ( RW): false
metadata-latest ( RO): false
metadata-of-pool ( RO): <not in database>
tags (SRW):

 

2) 해당 vdi 를 제거한다.

xe vdi-forget 명령으로 제거할 수 있는데, 그냥 하면 아래와 같이 제거가 안된다.

# xe vdi-forget uuid=a035d2ce-13aa-4937-83f9-d114ddf63557

This operation cannot be performed because this VDI is in use by some other operation

실제 disk 객체인 vbd를 제거해도 제거가 안된다.

# xe vbd-destroy uuid=e3a61fa1-a47a-15b1-0a48-e7f953876fe0
You attempted an operation that was not allowed.

먼저 해당 vbd를 떼어내고(unplug) 그 다음 vdi를 제거하면 된다.

# xe vbd-unplug uuid=e3a61fa1-a47a-15b1-0a48-e7f953876fe0 force=true
# xe vdi-forget uuid=a035d2ce-13aa-4937-83f9-d114ddf63557

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.