Files

Qemu 支持文件問題

  • August 31, 2017

如果我正在基於一個支持文件(稱為 base.qcow2)創建一個 new.qcow2 qcow2 映像,並且該支持文件位於一個 nfs 共享上。如果有人試圖修改、替換或刪除 base.qcow2 會發生什麼?

是否有防止這種情況的鎖定機制?在刪除或修改 base.qcow2 之前,是否會將所有塊複製到 new.qcow2 映像?

場景如下:

qemu-img create -f qcow2 -b /mnt/nfs/base.qcow2 /localdisk/new.qcow2

在 nfs 伺服器或其他客戶端上:

rm nfs/base.qcow2

從 base.qcow2 創建的 new.qcow2 會發生什麼?

如果有人試圖修改、替換或刪除 base.qcow2 會發生什麼?

基於基礎鏡像的鏡像變得不相關/損壞/無用。當然,完整的複製將繼續工作。

是否有防止這種情況的鎖定機制?

內置於 qemu - 沒有。oVirt/RHEV 等管理系統將配備這些系統。

在刪除或修改 base.qcow2 之前,是否會將所有塊複製到 new.qcow2 映像?

僅當您手動執行qemu-img rebase. 如果您只是簡單地編輯基本文件,或者直接將其與 VM 一起使用,而不是快照鏈中的最後一個派生映像,您將破壞整個快照樹。

至於實際場景,該-b選項將僅創建一個增量映像,其中僅包含新快照和基礎映像之間的差異。如果刪除基礎,快照將變得無用,因為它沒有參考。瀏覽 http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html獲得更好的參考。

引用自:https://unix.stackexchange.com/questions/128226