SR(Storage Repository) 사용량이 VM 디스크 합계보다 훨씬 크다면 대개 고아 VDI 와 남은 스냅샷 때문이다. VM 을 지웠는데 디스크가 함께 지워지지 않았거나, 백업 작업이 만든 스냅샷이 회수되지 않고 남은 경우다. 이런 VDI 는 어느 VM 에도 붙어 있지 않아 화면 어디에서도 눈에 띄지 않지만 공간은 그대로 차지한다.
마지막 항목은 성격이 다르다. XAPI 는 스냅샷 삭제 후 백그라운드에서 체인을 병합하는데, SR 여유 공간이 부족하거나 VM 이 계속 쓰기를 하면 병합이 진행되지 않고 체인이 쌓인다. 이 상태의 VDI 는 고아가 아니라 병합 대기 중이므로 지워서는 안 된다.
Xen Orchestra 는 대시보드의 Health 화면에 정리 대상을 모아 보여 준다.
여기서 항목을 골라 삭제할 수 있다. VDIs to coalesce 에 항목이 쌓여 있으면 삭제보다 먼저 병합이 끝나도록 SR 여유 공간을 확보하는 것이 순서다.
Xen Orchestra 에 "Prune" 이라는 단일 버튼은 없다. 정리는 Health 화면에서 목록을 확인하고 지우는 방식이다.
호스트에서 xe 로 직접 볼 수도 있다. 화면을 믿기 전에 실제 상태를 확인하는 용도로 쓴다.
# SR 목록과 사용량
xe sr-list params=uuid,name-label,physical-utilisation,physical-size
# VBD 가 하나도 없는 VDI = 어느 VM 에도 붙어 있지 않다
xe vdi-list params=uuid,name-label,virtual-size,sr-uuid,is-a-snapshot
# 특정 VDI 가 붙어 있는지
xe vbd-list vdi-uuid=<VDI-UUID> params=uuid,vm-name-label,currently-attached
붙어 있지 않은 VDI 를 지운다.
xe vdi-destroy uuid=<VDI-UUID>
병합 상태는 SR 스캔으로 재확인한다. 스캔이 끝나면 실제 사용량이 갱신된다.
xe sr-scan uuid=<SR-UUID>
xe vdi-destroy 는 되돌릴 수 없다. 지우기 전에 반드시 다음을 확인한다.
xe vbd-list vdi-uuid=<UUID> 가 비어 있는가. 하나라도 있으면 어딘가에 붙어 있는 것이다.is-a-snapshot=true 이면서 snapshot-of 가 살아 있는 VM 을 가리키지 않는가.name-label 이 base copy 인 VDI 는 스냅샷 체인의 중간 노드다. 직접 지우지 않는다. 체인이 끊어져 상위 VDI 가 읽을 수 없게 된다.CBT(Changed Block Tracking)를 쓰는 백업 구성에서는 데이터가 지워진 뒤에도 메타데이터만 남은 VDI 가 정상적으로 존재한다. 이것을 지우면 다음 증분 백업이 전체 백업으로 떨어진다.