I have detected an issue using bus='virtio' and install virtio drivers from the fedora driver image.
Our Host Spec (short version):
- Host: Debian Jessie
- Kernel Version 4.8
- qemu-kvm Version 2.8
Please note that because of the issue we had we updated our Kernel and qemu-kvm version. This was not the solution of the issue!
Our Guest Spec:
- Windows Server 2012 R2
- 110 GB RAM
- qcow2 Image
- SQL Server
Now here is the interesting Part ( i am using virsh to manage the guests ):
Here is an example of my old disk definition.
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/kvm/pathToWhatever/MYGUEST.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
Pretty basic nothing special here note bus='virtio' which was basicly suggested in every tutorial or forum i found.
After that install Windows Server ... no problems so far. I've then installed the virtio driver from fedoraproject image.
Now we have heavy I/O since we run big DB Imports/Updates and so on. We ran a query on a huge database table and while it was starting shortly after a few minutes the Guest just freezed.
We have debugged this for hours/days and didnt found anything in the logs.
We even tried to replicate this using virtualbox but it worked there absolutly fine.
Just today i found out that when switching to bus='ide' and then starting the SQL Query(Import) again, it works absolutly fine - high I/O not an issue at all.
Now i suspect that the virtio driver simply is broken or not compatible. I am not an expert when it comes to that but the temp solution for us was to switch to IDE. I am currently testing it now using bus='scsi' and then in the controller type definition as shown below define virtio-scsi as model.
<controller type='scsi' model='virtio-scsi' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
I will post my results once i've tested it properly.