刪除“孤兒”libvirt 快照
我正在嘗試按照此過程使用 KVM 進行實時快照。
我一定是在某個時候搞砸了,因為我處於我不理解的狀態。
我的虛擬機被稱為
prod
. 它是在文件中創建的/srv/vm/prod.qcow2
。顯然,沒有執行快照:我正在處理基本文件。我可以猜測是因為文件的修改日期
/srv/vm/prod.qcow2
每分鐘左右都會更改一次。此外,此命令確認它:# 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
我的虛擬機再次啟動,我不再看到對快照的任何引用。
# virsh snapshot-list prod Name Creation Time State ------------------------------------------------------------
virt-manager 中也沒有任何內容。
我還好還是還有一些家務要做?
編輯 2
顯然,傳遞
-–no-metadata
給virsh snapshot-create-as
將通過不創建 .xml 文件來避免此問題,從而不保留快照的痕跡。
正確的方法是
virsh snapshot-delete prod --metadata snap
(這個命令可以在 wiki上找到。我在這裡問之前嘗試過,但由於錯字已被更正,它失敗了。)
我不知道在 libvirtd 關閉時刪除 .xml 文件沒有涵蓋的功能。也許唯一的區別是不需要停止 libvirtd。即便如此,也許這可能會在未來發展。無論如何,建議使用 libvirt 的 API 而不是直接玩文件。
如果快照是使用參數創建的,則確實不需要此呼叫
--no-metadata
。我在libvirt-users mailing-list的這個執行緒中獲得了這個澄清。
任何願意通過實時快照進行備份的人都應該閱讀上述 wiki 頁面,並且可能對回答我的菜鳥問題的論壇主題感興趣,並指向Eric Blake 的幻燈片,以及此部落格文章和以下評論。