
libvirt を使用して VM を作成しようとすると、ストレージ スペースを割り当てる画面が表示されると、常に使用できない 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
私も同じ問題を抱えています。virt-install に を指定することで回避できます--file=/home/qemu/file.img
。(またはファイルシステム イメージを保存したい場所)
しかし、これは COW を必要とする virsh のバグのようですが、これには btrfs ファイルシステムが必要です。そして、COW を無効にする方法はありません。
ここでバグとして報告しました:gitlab.com/libvirt/libvirt/-/issues/73 を参照してください。
すでに修正されており、新しいリリースが世界に公開されるのを待つだけです...
答え2
GUI コンソールの virt-manager で回避策を見つけました。基本的に、新しい VM を作成する場合、ISO ファイルをロードするときにディレクトリ ストレージ プール (dir: Filesytem Directory) を作成できます。これを機能させるには、ISO をダウンロードし、ストレージ プールとして使用するディレクトリ (例: ) に配置する必要があります~/VMs/pool1
。
virtmanagerで、新しい仮想マシンを作成する。
- 選ぶローカルインストールメディア(ISOイメージまたはCDROM)。
- 「ISOまたはCDROMインストールメディアを選択」の場合は、ブラウズ...
- 一番下には、ローカルを閲覧。
- ISO が配置されているディレクトリに移動します。このディレクトリも、ストレージ プール パスとして使用するディレクトリになります (例: )
~/VMs/pool1
。ISO で [開く] をクリックします。 - オペレーティング システムを選択: ISO に対応するものを選択します。
この時点で、CPU、メモリなどの VM を作成するという道を進みました。それが私の目標だったからです。しかし、それは必ずしも必要ないかもしれません。
次に、ストレージ プールのダイアログに戻ります。編集->接続の詳細->ストレージタブをクリックすると、左側に ISO が保存されていたディレクトリ ( ~/VMs/pool1
) が表示されます。この時点で、このストレージ プールにボリュームと VM を追加できます。また、ISO ファイルをそこから削除/移動することもできます。
ホストの OS は Debian テスト版 (bulleye) で、バージョンは次のとおりです。
- libvirt = 6.6.0
- 仮想マネージャ = 2.2.1