이 절차에 따라 KVM을 사용하여 라이브 스냅 샷을 작성하려고 합니다 .
내가 이해할 수없는 상태에 있기 때문에 어느 시점에서 엉망이되었을 것입니다.
내 VM을이라고 prod
합니다. 파일로 작성되었습니다 /srv/vm/prod.qcow2
.
분명히, 실행중인 스냅 샷이 없습니다 : 기본 파일에서 작업하고 있습니다. 파일 수정 날짜가 /srv/vm/prod.qcow2
1 분마다 바뀌기 때문에 추측 할 수 있습니다 . 게다가,이 명령은 그것을 확인합니다 :
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
그리고 블록 커밋은 없습니다 :
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
그러나 libvirt는 오래된 스냅 샷을 추적합니다.
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
디스크립터 파일은 /var/lib/libvirt/qemu/snapshot/prod/snap.xml
다음과 같습니다.
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source file='/srv/vm/snap.qcow2'/>
</disk>
</disks>
[...]
소스 파일 /srv/vm/snap.qcow2
이 삭제되었습니다.
구현하려는 방법을 고려할 때이 스냅 샷은 다음 명령으로 생성되었을 가능성이 큽니다.
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
제거 할 수 없습니다 :
# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
따라서 스냅 샷이 생성 된 상태이고 더 이상 사용되지 않으며 삭제할 수 없습니다.
내가 할 수있는 일이 있습니까?
신경 써야합니까 아니면 무시해도됩니까?
편집하다
방금 스냅 샷 파일 설명자를 제거했습니다.
# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt
내 VM이 다시 가동되어 더 이상 스냅 샷에 대한 참조가 표시되지 않습니다.
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
virt-manager에도 아무것도 없습니다.
괜찮습니까? 아니면 여전히 하우스 키핑이 있습니까?
편집 2
분명히, 통과 -–no-metadata
하기 virsh snapshot-create-as
때문에 스냅 샷의 흔적을 유지하지 .xml 파일을 생성하지 않음으로써이 문제를 방지한다.
qemu-img info /srv/vm/prod.qcow2
. 그러나 나는 그 흔적을 스스로 제거하는 방법을 잘 모르겠다 ...