私が持っている1つのワークステーションで、libvirtが機能しなくなりました。 VMは起動しなくなります。
$ virsh --connect qemu:///system 'start westerley-pool'
error: Failed to start domain westerley-pool
error: Invalid value '+cpu' for 'cgroup.subtree_control': Invalid argument
このマシンは、cgroupv2統合階層を使用しています(これは 4.9.0以降でサポートされると想定されています )。有効なコントローラーはメモリとpid(cat /sys/fs/cgroup/cgroup.subtree_control
でチェック)であるため、CPUが機能しないのは当然のことです。しかし、 libvirt cgroupsのドキュメント は、コントローラーは必須ではなく、使用できない場合は使用されないことを示しています。
念のため、libvirtd.serviceを再起動してみました。変化なし。
ドキュメントには、使用するコントローラーを明示的に設定できるとも記載されているため、cgroup_controllers = [ "memory" ]
に/etc/libvirt/qemu.conf
を設定してみました(以前は設定されていませんでした)。再度libvirtd.serviceを再起動しました。それでも動作しません。
上記のエラーメッセージが繰り返される以外、ログには何も表示されませんでした。
パフォーマンスコストがかかると思うので、CPUコントローラーを有効にしたくありません。必要ありません。
OS:Debianテスト
libvirt:5.0.0-3、Debianから。
kernel:4.19.0-5-AMD64、これもDebian。
このマシンでlibvirtを再び動作させるにはどうすればよいですか?
(6月30日更新)Make /etc/systemd/system/libvirtd.service.d/cpu.conf
その内容
[Service]
CPUQuota=10000%
そして、私の環境ではすべてが正常に機能します。これは、アップストリーム開発者によって認識および修正されたアップストリームバグです: https://libvirt.org/git/?p=libvirt.git;a=commit;h=1d49cdcd116186e079db5668893da17f56141652
詳細なバグレポートを https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93124 パッチとともにDebianに送信しました。
松本竜太郎