Kvm

libvirt 不會以“錯誤:‘cgroup.subtree_control’ 的無效值 ‘+cpu’:無效參數”啟動 VM

  • June 30, 2019

在我擁有的一個工作站上,libvirt 已停止工作;它不再啟動虛擬機:

$ 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 開始支持)。啟用的控制器是記憶體和 pids(通過檢查cat /sys/fs/cgroup/cgroup.subtree_control),所以 cpu 不起作用也就不足為奇了。但是libvirt cgroups 文件說控制器不是強制性的,如果不可用,它將不會被使用。

我已經嘗試重新啟動 libvirtd.service,以防萬一它修復它。不用找了。

文件還說我可以明確設置要使用的控制器,所以我嘗試設置cgroup_controllers = [ "memory" ]/etc/libvirt/qemu.conf以前沒有設置)。我再次重新啟動了 libvirtd.service;還是不行。

除了重複上述錯誤消息外,我沒有在日誌中看到任何內容。

我寧願不啟用 cpu 控制器,因為我認為它有性能成本,而且我不需要它。

作業系統:Debian 測試

libvirt:5.0.0-3,來自 Debian。

核心:4.19.0-5-amd64,同樣是 Debian。

我怎樣才能讓 libvirt 再次在這台機器上工作?

(6 月 30 日更新)/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=931243的形式向 Debian 送出了一份

帶有更新檔的詳細錯誤報告。

松本龍太郎

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