
當我嘗試使用 libvirt 建立虛擬機器時,在到達分配儲存空間的螢幕時,它總是說它有不可用的 GiB 量,並且不允許我分配空間。當我嘗試通過控制台執行此操作時,它會返回:
couldn’t create default storage pool ‘/var/lib/libvirt/images’: could not build storage pool: unable to control COW flag on /var/lib/libvirt/images not btrfs: function not implemented.
這是我所看到的圖像: https://ibb.co/4pRTV4
抱歉,如果這沒什麼大不了的,如果需要,我可以提供更多資訊。我兩天來一直在努力解決這個問題,非常感謝您的幫助。
答案1
我也有同樣的問題。您可以指定--file=/home/qemu/file.img
virt-install 來解決這個問題。 (或您想要儲存檔案系統映像的任何地方)
但這看起來像是 virsh 需要 COW 的錯誤,而 COW 需要 btrfs 檔案系統。並且沒有辦法禁用 COW。
我在這裡將其作為錯誤提出:https://gitlab.com/libvirt/libvirt/-/issues/73
而且它已經修復了,只是等待新版本發佈到世界各地...
答案2
我在 virt-manager(GUI 控制台)中找到了解決方法。基本上,如果建立新的VM,則可以在載入ISO檔案時建立目錄儲存池(dir:Filesytem Directory)。為此,您需要下載 ISO 並將其放置在您要用作儲存池的目錄中,例如~/VMs/pool1
.
在virtmanager中,點擊建立新的虛擬機。
- 選擇本機安裝媒體(ISO 映像或 CDROM)。
- 對於“選擇 ISO 或 CDROM 安裝媒體”,請按一下瀏覽...
- 在底部,瀏覽本地。
- 導航到 ISO 所在的目錄,這應該是您想要作為儲存池路徑的目錄,例如
~/VMs/pool1
.按一下 ISO 上的「開啟」。 - 選擇作業系統:選擇ISO對應的作業系統。
此時我繼續沿著創建虛擬機器的道路前進:CPU、記憶體等,因為那是我的目標。但這可能沒有必要。
然後如果返回儲存池對話框:編輯->連線詳情->貯存~/VMs/pool1
選項卡,您應該在左側看到 ISO 所在的目錄 ( )。此時,您可以將磁碟區和虛擬機器新增至該儲存池。並且也刪除/移出 ISO 檔。
主機的作業系統是Debian測試(bulleye),版本:
- libvirt = 6.6.0
- virt-manager = 2.2.1