KVM/QEMU cgroup.controllers - No such file or directory

Hello everyone,

suddenly, from one day to another, I cannot start any VM using KVM.

I can prepare the VM (RAM, diskspace, network etc...), but as soon I try to start the VM, a prompt appears with the following message:

Installation konnte nicht fertiggestellt werden: 
«Kann nicht von '/sys/fs/cgroup/machine.slice/machine-qemu\x2d1\x2dslackware14.2.scope/libvirt/cgroup.controllers' lesen: Datei oder Verzeichnis nicht gefunden»

What I already tried out:

  1. I restart libvirtd and make shure it runs. I can see the errors there:
╰─λ sudo systemctl status libvirtd
[sudo] Passwort für mband008:    
● libvirtd.service - Virtualization daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2021-09-26 10:49:54 CEST; 13min ago
TriggeredBy: ● libvirtd-admin.socket
             ● libvirtd-ro.socket
             ● libvirtd.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
   Main PID: 646 (libvirtd)
      Tasks: 25 (limit: 32768)
     Memory: 56.9M
        CPU: 1.029s
     CGroup: /system.slice/libvirtd.service
             ├─ 646 /usr/bin/libvirtd --timeout 120
             ├─4250 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/br10.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             ├─4251 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/br10.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             ├─4272 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/network.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             ├─4273 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/network.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             ├─4345 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
             └─4347 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper

Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: libvirt version: 7.7.0
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: hostname: garuda-hppav580
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: Konnte Datei '/sys/fs/cgroup/machine.slice/machine-qemu\x2d1\x2dslackware14.2.scope/libvirt/cgroup.controllers' nicht öffnen: Datei oder Verzeichnis nicht gefunden
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: Kann nicht von '/sys/fs/cgroup/machine.slice/machine-qemu\x2d1\x2dslackware14.2.scope/libvirt/cgroup.controllers' lesen: Datei oder Verzeichnis nicht gefunden
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
Sep 26 10:51:04 garuda-hppav580 libvirtd[646]: cannot parse process status data
  1. I removed and reinstalled virt-manager, qemu, kvm alltogether including all dependencies.

  2. I ran linux-zen, linux-lts and linux-cacule

Do you have any idea, how to solve the issue?

 ╰─λ inxi -Faz
System:    Kernel: 5.14.6-1-cacule x86_64 bits: 64 compiler: gcc v: 11.1.0 
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cacule root=UUID=d72e68e5-bb6f-46d2-8d33-d15ef3e2ce11 rw 
           rootflags=subvol=@ quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 
           systemd.unified_cgroup_hierarchy=1 loglevel=3 
           Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux 
           base: Arch Linux 
Machine:   Type: Desktop System: HP product: HP Pavilion Power Desktop 580-1xx v: N/A serial: <filter> Chassis: type: 3 
           serial: <filter> 
           Mobo: HP model: 8399 v: 1.00 serial: <filter> UEFI: AMI v: F.20 date: 11/02/2017 
CPU:       Info: 6-Core model: AMD Ryzen 5 1600 bits: 64 type: MT MCP arch: Zen family: 17 (23) model-id: 1 stepping: 1 
           microcode: 8001126 cache: L2: 3 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 76723 
           Speed: 2990 MHz min/max: 1550/3200 MHz boost: enabled Core speeds (MHz): 1: 2990 2: 2723 3: 2890 4: 2952 5: 3027 
           6: 2728 7: 2726 8: 2723 9: 2728 10: 3080 11: 3222 12: 3173 
           Vulnerabilities: Type: itlb_multihit status: Not affected 
           Type: l1tf status: Not affected 
           Type: mds status: Not affected 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full AMD retpoline, STIBP: disabled, RSB filling 
           Type: srbds status: Not affected 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 
           vendor: Hewlett-Packard driver: amdgpu v: kernel bus-ID: 09:00.0 chip-ID: 1002:67df class-ID: 0300 
           Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: amdgpu,ati unloaded: modesetting 
           alternate: fbdev,vesa display-ID: :0 screens: 1 
           Screen-1: 0 s-res: 3200x1080 s-dpi: 96 s-size: 846x285mm (33.3x11.2") s-diag: 893mm (35.1") 
           Monitor-1: DisplayPort-0 res: 1280x1024 hz: 60 dpi: 86 size: 376x301mm (14.8x11.9") diag: 482mm (19") 
           Monitor-2: HDMI-A-0 res: 1920x1080 hz: 60 dpi: 82 size: 598x336mm (23.5x13.2") diag: 686mm (27") 
           OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.42.0 5.14.6-1-cacule LLVM 12.0.1) v: 4.6 Mesa 21.2.2 
           direct render: Yes 
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] vendor: Hewlett-Packard driver: snd_hda_intel 
           v: kernel bus-ID: 09:00.1 chip-ID: 1002:aaf0 class-ID: 0403 
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel 
           bus-ID: 12:00.3 chip-ID: 1022:1457 class-ID: 0403 
           Device-3: C-Media Anua Mic CM 900 type: USB driver: hid-generic,snd-usb-audio,usbhid bus-ID: 3-3.4:6 
           chip-ID: 0d8c:0134 class-ID: 0300 
           Sound Server-1: ALSA v: k5.14.6-1-cacule running: yes 
           Sound Server-2: JACK v: 1.9.19 running: no 
           Sound Server-3: PulseAudio v: 15.0 running: yes 
           Sound Server-4: PipeWire v: 0.3.37 running: yes 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Hewlett-Packard driver: r8169 v: kernel 
           port: f000 bus-ID: 01:00.0 chip-ID: 10ec:8168 class-ID: 0200 
           IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           Device-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter vendor: Hewlett-Packard driver: rtw_8821ce 
           v: N/A modules: rtw88_8821ce port: e000 bus-ID: 05:00.0 chip-ID: 10ec:c821 class-ID: 0280 
           IF: wlp5s0 state: down mac: <filter> 
           IF-ID-1: br10 state: down mac: <filter> 
           IF-ID-2: docker0 state: up speed: 10000 Mbps duplex: unknown mac: <filter> 
           IF-ID-3: vethc774f36 state: up speed: 10000 Mbps duplex: full mac: <filter> 
           IF-ID-4: virbr0 state: down mac: <filter> 
           IF-ID-5: virbr1 state: down mac: <filter> 
Bluetooth: Device-1: Realtek Realtek Bluetooth 4.2 Adapter type: USB driver: btusb v: 0.8 bus-ID: 1-8:2 chip-ID: 0bda:b00a 
           class-ID: e001 serial: <filter> 
           Report: bt-adapter ID: hci0 rfk-id: 0 state: down bt-service: enabled,running rfk-block: hardware: no software: yes 
           address: <filter> 
Drives:    Local Storage: total: 1.82 TiB used: 215.44 GiB (11.6%) 
           SMART Message: Unable to run smartctl. Root privileges required. 
           ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 970 EVO 1TB size: 931.51 GiB block-size: 
           physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 2B2QEXE7 temp: 43.9 C 
           scheme: GPT 
           ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST1000DM003-1SB102 size: 931.51 GiB block-size: physical: 4096 B 
           logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter> rev: HPH4 scheme: GPT 
Partition: ID-1: / raw-size: 685.14 GiB size: 685.14 GiB (100.00%) used: 215.41 GiB (31.4%) fs: btrfs dev: /dev/nvme0n1p5 
           maj-min: 259:5 
           ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%) used: 25.5 MiB (26.6%) fs: vfat dev: /dev/nvme0n1p1 
           maj-min: 259:1 
           ID-3: /home raw-size: 685.14 GiB size: 685.14 GiB (100.00%) used: 215.41 GiB (31.4%) fs: btrfs dev: /dev/nvme0n1p5 
           maj-min: 259:5 
           ID-4: /var/log raw-size: 685.14 GiB size: 685.14 GiB (100.00%) used: 215.41 GiB (31.4%) fs: btrfs 
           dev: /dev/nvme0n1p5 maj-min: 259:5 
           ID-5: /var/tmp raw-size: 685.14 GiB size: 685.14 GiB (100.00%) used: 215.41 GiB (31.4%) fs: btrfs 
           dev: /dev/nvme0n1p5 maj-min: 259:5 
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) 
           ID-1: swap-1 type: partition size: 7.45 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p6 maj-min: 259:6 
           ID-2: swap-2 type: zram size: 15.52 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0 
Sensors:   System Temperatures: cpu: 62.6 C mobo: 30.0 C gpu: amdgpu temp: 65.0 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 1238 
Info:      Processes: 347 Uptime: 7m wakeups: 0 Memory: 15.52 GiB used: 2.59 GiB (16.7%) Init: systemd v: 249 tool: systemctl 
           Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1788 lib: 495 Shell: fish v: 3.3.1 default: Bash v: 5.1.8 
           running-in: konsole inxi: 3.3.06 
2 Likes

How did you configure this

VM?

2 Likes

I tried diffrent configurations, VNC instead of SPICE; VirtIO, SATA, UEFI, BIOS. I also tried diffrent OSs, like Ubuntu, Mint, OpenSUSE. The error stays the same.

Here the actual config (Overview):

<domain type="kvm">
  <name>slackware14.2</name>
  <uuid>bfed7605-af8b-48e8-b425-5c0cdf3bedc4</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://slackware.com/slackware/14.2"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory>8192000</memory>
  <currentMemory>8192000</currentMemory>
  <vcpu>6</vcpu>
  <os>
    <type arch="x86_64" machine="pc-i440fx-6.1">hvm</type>
    <bootmenu enable="yes"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state="off"/>
  </features>
  <cpu mode="host-model"/>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
  </clock>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/var/lib/libvirt/images/slackware14.2-1.qcow2"/>
      <target dev="vda" bus="virtio"/>
      <boot order="1"/>
    </disk>
    <disk type="file" device="cdrom">
      <target dev="sda" bus="sata"/>
      <readonly/>
      <boot order="2"/>
    </disk>
    <controller type="usb" model="ich9-ehci1"/>
    <controller type="usb" model="ich9-uhci1">
      <master startport="0"/>
    </controller>
    <controller type="usb" model="ich9-uhci2">
      <master startport="2"/>
    </controller>
    <controller type="usb" model="ich9-uhci3">
      <master startport="4"/>
    </controller>
    <interface type="network">
      <source network="br10"/>
      <mac address="52:54:00:6f:98:61"/>
      <model type="virtio"/>
    </interface>
    <console type="pty"/>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
    </channel>
    <input type="tablet" bus="usb"/>
    <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
      <gl enable="no"/>
      <image compression="off"/>
    </graphics>
    <sound model="ich6"/>
    <video>
      <model type="qxl"/>
    </video>
    <redirdev bus="usb" type="spicevmc"/>
    <redirdev bus="usb" type="spicevmc"/>
  </devices>
</domain>

Boot-Options:

<domain type="kvm">
  <name>slackware14.2</name>
  <uuid>bfed7605-af8b-48e8-b425-5c0cdf3bedc4</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://slackware.com/slackware/14.2"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory>8192000</memory>
  <currentMemory>8192000</currentMemory>
  <vcpu>6</vcpu>
  <os>
    <type arch="x86_64" machine="pc-i440fx-6.1">hvm</type>
    <bootmenu enable="yes"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state="off"/>
  </features>
  <cpu mode="host-model"/>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
  </clock>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/var/lib/libvirt/images/slackware14.2-1.qcow2"/>
      <target dev="vda" bus="virtio"/>
      <boot order="1"/>
    </disk>
    <disk type="file" device="cdrom">
      <target dev="sda" bus="sata"/>
      <readonly/>
      <boot order="2"/>
    </disk>
    <controller type="usb" model="ich9-ehci1"/>
    <controller type="usb" model="ich9-uhci1">
      <master startport="0"/>
    </controller>
    <controller type="usb" model="ich9-uhci2">
      <master startport="2"/>
    </controller>
    <controller type="usb" model="ich9-uhci3">
      <master startport="4"/>
    </controller>
    <interface type="network">
      <source network="br10"/>
      <mac address="52:54:00:6f:98:61"/>
      <model type="virtio"/>
    </interface>
    <console type="pty"/>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
    </channel>
    <input type="tablet" bus="usb"/>
    <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
      <gl enable="no"/>
      <image compression="off"/>
    </graphics>
    <sound model="ich6"/>
    <video>
      <model type="qxl"/>
    </video>
    <redirdev bus="usb" type="spicevmc"/>
    <redirdev bus="usb" type="spicevmc"/>
  </devices>
</domain>

Right, but which tool or software are you using, and how did you set up the VMs? For example, virt-manager does not by default start libvirtd.

The other question leads on from:

What did you do on the first day that changed the system?

2 Likes

I updated the system. After I realized, that it’s not working, I restored the snapshot, which did not bring any improvement.

Well, I inserted the XML configurations in my second post.
libvirtd was started automatically by systemd.

Virt-Manager with KVM/QEMU

Nevermind… unfortunatley I am not a part of the garuda community anymore. It upsetted me so much, that not even a full reinstallation of virt-manager, KVM, QEMU, etc… solved the issue.

The point is: On the saturday night before I made complete rehearsal for a tutorial for sunday morning. Everything worked fine.
Next morning I (regrettable) made a system update and suddenly the Virt-Manager didn’t start my VMs.
I spent the whole sunday on troubleshooting and forum readings.
At least I decided to get rid of Garuda after nearly a year. It was not the first time, that garuda troubled my system or suddenly reboot my machine. On my other computers (Arch, Arco-Linux, Gentoo) I had never problems after updates or in general.
However, all in all, you improved a lot over the time. Keep up with the good work.

Bye.

I think it bares mentioning to other users to never perform a system update if you are working on a time critical project for work/school.

We often recieve frantic help requests from users demanding we fix their system because they urgently need to access a project they were working on. Generally, if your data is mission critical, you need to back it up properly on at least a daily basis. If the work is super important and you cannot afford to lose a full day's work, then you should really be backing it up on an hourly basis. Rarely are system updates so critical that they cannot be delayed (if you cannot tolerate an update breakage during your project).

Please don't get upset at the distro if your machine can't access an important project you've been working on. If your project is genuinely mission critical you need to back it up regularly. Be sure the backups are stored on an external drive or preferably in the cloud where it will always be accessible. The distro is not to blame if you cannot access your important data. The user is responsible for ensuring the integrity of their data, not the distro.

Just a word to the wise, you can never make too many backups. A penny of prevention is worth a pound of cure.

As you are no longer using Garuda I guess we can close this thread out now. Good luck with your new distro. :wave:

3 Likes

Tentative Solution!!!

Alter your kernel boot parameters to the following:

systemd.unified_cgroup_hierarchy=0

See:

4 Likes