[SOLVED] Can't start the new (14) Whonix VMs - libvirtError: unsupported configuration: Block I/O tuning is not available on this host

I was using Whonix on KVM until upgrade to 14. I was all ok. Now I made fresh install according to wiki. And I get the problem with VMs start (both Gate and Workstation). Here’s error:

Error starting domain: unsupported configuration: Block I/O tuning is not available on this host
Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/asyncjob.py”, line 89, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File “/usr/share/virt-manager/virtManager/asyncjob.py”, line 125, in tmpcb
callback(*args, **kwargs)
File “/usr/share/virt-manager/virtManager/libvirtobject.py”, line 82, in newfn
ret = fn(self, *args, **kwargs)
File “/usr/share/virt-manager/virtManager/domain.py”, line 1508, in startup
self._backend.create()
File “/usr/lib64/python2.7/site-packages/libvirt.py”, line 1069, in create
if ret == -1: raise libvirtError (‘virDomainCreate() failed’, dom=self)
libvirtError: unsupported configuration: Block I/O tuning is not available on this host

Maybe new 14 Whonix requires some special features in the kernel of the host? What option should I enable in it?
Or maybe I have compiled qemu/libvirt without some needed flags to run new Whonix?

ps Gentoo Linux, 4.14.61-gentoo-gnu, x86_64.

Please upgrade your libvirt to support this feature. It was added to mitigate DoS by malicious guests who might attempt starving the host’s resources.

Now I have libvirt-4.3
What libvirt version I should upgrade to?
4.4? 4.5?

Libvirt 3.0 on Debian here so that’s not it. Searching your error hints that qemuCgroupControllerActive may not be active on your system for some reason. So you might want to update that instead.

Thanks for hint. I have enabled CONFIG_BLK_CGROUP in the kernel and now the error is:

Error starting domain: Unable to write to '/sys/fs/cgroup/blkio/machine/qemu-2-Whonix-Gateway.libvirt-qemu/blkio.weight': No such file or directory
    Traceback (most recent call last):
      File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
        callback(asyncjob, *args, **kwargs)
      File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
        callback(*args, **kwargs)
      File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 82, in newfn
        ret = fn(self, *args, **kwargs)
      File "/usr/share/virt-manager/virtManager/domain.py", line 1508, in startup
        self._backend.create()
      File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1069, in create
        if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
    libvirtError: Unable to write to '/sys/fs/cgroup/blkio/machine/qemu-2-Whonix-Gateway.libvirt-qemu/blkio.weight': No such file or directory

It also needs CONFIG_CFQ_GROUP_IOSCHED and CONFIG_BLK_DEV_THROTTLING
Now, it starts.

1 Like

Good. I used to run into mysterious usecase breakage with custom kernel compilation too. Now I just run the distro default and get on with life.

i have same error
Can you please explain for Linux newbie how to do fix.

Hello, ani44a
If you have the same error, that’s your kernel has the options mentioned above disabled.
Checkout documentation for your Linux Distribution on how to configure and recompile kernel.
You must have
CONFIG_BLK_CGROUP=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_BLK_DEV_THROTTLING=y
In the “make menuconfig” you can press / button to find where these options are.

Hello, I set up a copy of Linux MX on my computer. I was able to set up Whonix just fine and used it a bit on my first install.

A day later I decided I wanted to boost my security so I reinstalled Linux MX with encryption enabled this time. I set up Whonix the same way I did last time except this time it won’t work, I keep getting this error, please help, I’ve spent a few hours on this error but I can’t fix it, I’m new to linux but not new to computers.

Error starting domain: unsupported configuration: Block I/O tuning is not available on this host

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 101, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1329, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1353, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: unsupported configuration: Block I/O tuning is not available on this host