背景
我有一個QEMU/KVM虛擬機,其虛擬磁碟是qcow2檔案。為了創建快照,我一直在使用
sudo virsh snapshot-create-as <vm_name> <snapshot_name>
現在我可以使用以下方式顯示它們virsh snapshot-list --tree
:
$ sudo virsh snapshot-list --tree my_vm
snapshot_001
|
+- snapshot_002
|
+- snapshot_003
我想重命名這些快照(例如從snapshot_00X
到my_snapshot_00X
),但沒有virsh snapshot-rename
命令。我能想到的兩種可能的解決方法似乎都有嚴重的缺陷,我很高興知道是否有更好的解決方法。
解決方法1
對於我想要重命名的每個快照,我可以這樣做:
sudo snapshot-edit <vm_name> <snapshot_name> --rename
然後編輯<name>
產生的 XML 中元素的內容。
然而,man virsh
似乎強烈警告不要這樣做(我的重點):
請注意,更改快照名稱必須小心,因為某些快照的內容,例如單一 qcow2 檔案中的內部快照,只能從原始名稱存取。
因為在我的例子中,快照確實是單一 qcow2 檔案中的內部快照,所以聽起來好像使用virsh snapshot-edit
可能會使它們無法存取。
解決方法2
我想,我可以用來qemu-img
將內部快照轉換為外部快照加一個支援文件,然後重命名它們,然後將它們重新組合成單個 qcow2 文件的內部快照。
但這並不簡單,而且還需要手動編輯虛擬機器來恢復我使用類似命令的能力virsh snapshot-revert
(如果沒有這些命令,快照實際上毫無用處)。如果沒有更好的方法,我會感到非常驚訝。
問題
與上面給出的解決方法相比,是否有更好的方法來重命名使用 創建的一系列 QEMU/KVM 內部 qcow2 快照virsh snapshot-create-as
,而不失去通過 運行它們的能力virsh snapshot-revert
?