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
大きな問題じゃないとすみません。必要に応じて追加情報を提供できます。私はこの問題で2日間苦労しました。助けてくれてありがとう。
答え1
私も同じ問題があります。--file=/home/qemu/file.img
virt-installを指定してこの問題を解決できます。 (またはファイルシステムイメージを保存したい場所)
しかし、これはbtrfsファイルシステムが必要なCOWを必要とするvirshのバグのようです。そしてCOWを無効にする方法はありません。
私はこれをバグとして提起しています。https://gitlab.com/libvirt/libvirt/-/issues/73
そしてすでに修正が完了し、新しいバージョンが世界にリリースされるのを待っています...
答え2
virt-manager(GUIコンソール)でソリューションを見つけました。デフォルトでは、新しいVMを作成すると、ISOファイルをロードするときにディレクトリストレージプール(dir:Fileesytem 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