-
Bug
-
Resolution: Unresolved
-
Undefined
-
CNV v4.15.2
-
None
-
0.42
-
False
-
-
False
-
None
-
---
-
---
-
-
Moderate
-
No
Description of problem:
Currently, it is not possible to add the IO threads on virti-scsi disks and is also blocked in webhook as per https://github.com/kubevirt/kubevirt/pull/11219
However, libvirtd does supports IO threads, but have to configure on the controller instead of disks:
From https://libvirt.org/formatdomain.html#controllers:
Supported for controller type scsi using model virtio-scsi for address types pci and ccw since 1.3.5 (QEMU 2.4). The optional iothread attribute assigns the controller to an IOThread as defined by the range for the domain iothreads (See IOThreads Allocation). Each SCSI disk assigned to use the specified controller will utilize the same IOThread. If a specific IOThread is desired for a specific SCSI disk, then multiple controllers must be defined each having a specific iothread value. The iothread value must be within the range 1 to the domain iothreads value.
RHV supports this from 4.1 and is by default enabled in latest versions. Below is the sample configuration of VM using 2 IO threads where each disk is using different controller:
<disk type='block' device='disk' snapshot='no'> <driver name='qemu' type='qcow2' cache='none' error_policy='stop' io='native'/> <source dev='/rhev/data-center/mnt/blockSD/b362e544-d8ea-41e2-baaa-004f83216ebd/images/acd4de4d-b701-4381-bf04-f2e54a0cff7c/8d80e898-a560-4bc1-952 0-b2cb41d4ff7d' index='2'> ...... <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='block' device='disk' snapshot='no'> <driver name='qemu' type='qcow2' cache='none' error_policy='stop' io='native'/> <source dev='/rhev/data-center/mnt/blockSD/b362e544-d8ea-41e2-baaa-004f83216ebd/images/48abf31c-62c4-4451-9c62-d6142ce64deb/207e8350-f8e4-4f4c-b3f 0-4ca65c2791a1' index='1'> ...... <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='scsi' index='0' model='virtio-scsi'> <driver iothread='1'/> <alias name='ua-03b45d86-b501-4968-b9ed-3fc2d0588517'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </controller> <controller type='scsi' index='1' model='virtio-scsi'> <driver iothread='2'/> <alias name='ua-bfa3c167-f839-4115-ac88-4fef633f7ff5'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </controller>
Version-Release number of selected component (if applicable):
OpenShift Virtualization 4.15.2
How reproducible:
100%
Steps to Reproduce:
1. 2. 3.
Actual results:
IO threads are not supported for VirtIO-SCSI disks.
Expected results:
RHV enables IO threads for VirtIO-SCSI disks by default and Virtio-SCSI is the default disk driver for RHV VM disks. Users migrating from RHV to OpenShift Virtualization will lose the IO threads on VirtIO-SCSI disks and may impact the i/o performance.
Additional info: