重新命名使用 virsh snapshot-create-as 建立的 qcow2 內部快照

重新命名使用 virsh snapshot-create-as 建立的 qcow2 內部快照

背景

我有一個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_00Xmy_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

相關內容