Virtio vs. SCSI disk for Linux KVM guests

danb35

Renowned Member
Oct 31, 2015
84
6
73
The installation guide at http://pve.proxmox.com/wiki/Installation#Virtual_Machines_.28KVM.29 suggests using virtio if the guest OS supports it. I'll be installing a CentOS 6 VM, which does seem to support virtio, but I'm seeing some comments around here suggesting that VIRTIO SCSI might be preferred. I don't see an option that says "VIRTIO SCSI", just "SCSI". Which is preferred, or are they pretty much equivalent? It will be running on local ZFS storage, if it matters.

Edit: Using PVE 4.0-57.
 
But in the GUI I have VIRTIO *or* SCSI, how can I have "VIRTIO SCSI"? Thanks for the clarification
Ok, I reply to myself, then you can go to "Options" and choose "SCSI Controller Type" as "VIRTIO"
 
Last edited:
That could be a helpful point. Is there a difference in performance between VIRTIO and VIRTIO SCSI?
 
I don't remember exactly but it might be, yes. For me, the recovery of deleted blocks is more important. For example, it is very helpful when doing a full zfs send/receive.
 
That could be a helpful point. Is there a difference in performance between VIRTIO and VIRTIO SCSI?
Test I have done shows only marginally better performance with virtio-blk (not scsi) compared to virtio-scsi. Also know that virtio-blk development has stopped in favor of virtio-scsi.

My test setup:
- Illumos ZFS pool
- zvol over iscsi
- VM cache config: nocache
- Qemu 3.2
read: +3% in favor of virtio-blk
write: +1% in favor of virtio-blk

But the numbers has change a lot with every release of Qemu so given that this change will continue I expect to see virtio-scsi outperform virtio-blk with Qemu 3.4.