libvirt는 "오류: 'cgroup.subtree_control'에 대한 잘못된 값 '+cpu': 잘못된 인수"로 인해 가상 머신을 시작하지 않습니다.

libvirt는 "오류: 'cgroup.subtree_control'에 대한 잘못된 값 '+cpu': 잘못된 인수"로 인해 가상 머신을 시작하지 않습니다.

내가 가지고 있는 한 워크스테이션에서 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부터 지원되어야 함). 활성화된 컨트롤러는 메모리와 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에서.
커널: 4.19.0-5-amd64, 여전히 데비안.

이 컴퓨터에서 libvirt를 다시 실행하려면 어떻게 해야 합니까?

답변1

(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 패치와 함께 제공됩니다.

마츠모토 류타로

관련 정보