[CentOS-virt] Red Hat VirtIO SCSI pass-through controller

Tue Mar 14 18:05:32 UTC 2017
Gena Makhomed <gmm at csdoc.com>

Hello, All!

virtio-win.iso contains two different Windows drivers.
these Windows Server 2012 R2 drivers have different hardware IDs:

\vioscsi\2k12R2\amd64\vioscsi.inf
"Red Hat VirtIO SCSI pass-through controller"
PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00
PCI\VEN_1AF4&DEV_1048&SUBSYS_11001AF4&REV_01

\viostor\2k12R2\amd64\viostor.inf
"Red Hat VirtIO SCSI controller"
PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00
PCI\VEN_1AF4&DEV_1042&SUBSYS_11001AF4&REV_01

When I use "VirtIO SCSI controller" in virt-manager,
and when I install Windows Server 2012 R2 -
I can use only viostor driver and can't use vioscsi driver,
Windows Server 2012 R2 can't load vioscsi driver (?)
from virtio-win.iso and did not see virtual hard disks
with vioscsi driver. Only viostor driver work normally.

How I can use "Red Hat VirtIO SCSI pass-through controller"
for Windows Server 2012 R2 virtual machine, what I need
to configure in xml-config?

current /etc/libvirt/qemu/windows.xml config:

    <controller type='scsi' index='0' model='virtio-scsi'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x07' 
function='0x0'/>
     </controller>

     <disk type='file' device='disk'>
       <driver name='qemu' type='raw' cache='none' io='native' 
discard='unmap'/>
       <source file='/volume/kvm-windows-system'/>
       <target dev='vda' bus='virtio'/>
       <boot order='1'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x08' 
function='0x0'/>
     </disk>

Additional info:
================

virtio-win.iso version: virtio-win-0.1.126.iso
from https://fedoraproject.org/wiki/Windows_Virtio_Drivers

OS: CentOS Linux release 7.3.1611 (Core)

QEMU: qemu-kvm-1.5.3-126.el7_3.5.x86_64

Windows Server 2012 R2 MSDN installation ISO image:
en_windows_server_2012_r2_with_update_x64_dvd_6052708.iso
sha1sum: 865494e969704be1c4496d8614314361d025775e
size: 5397889024 bytes

devcon.exe output inside Windows Server 2012 R2 Virtual Machine:

PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\3&13C0B0C5&0&40
     Name: Red Hat VirtIO SCSI controller
     Hardware IDs:
         PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00
         PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4
         PCI\VEN_1AF4&DEV_1001&CC_010000
         PCI\VEN_1AF4&DEV_1001&CC_0100
     Compatible IDs:
         PCI\VEN_1AF4&DEV_1001&REV_00
         PCI\VEN_1AF4&DEV_1001
         PCI\VEN_1AF4&CC_010000
         PCI\VEN_1AF4&CC_0100
         PCI\VEN_1AF4
         PCI\CC_010000
         PCI\CC_0100
PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\3&13C0B0C5&0&50
     Name: Red Hat VirtIO SCSI controller
     Hardware IDs:
         PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00
         PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4
         PCI\VEN_1AF4&DEV_1001&CC_010000
         PCI\VEN_1AF4&DEV_1001&CC_0100
     Compatible IDs:
         PCI\VEN_1AF4&DEV_1001&REV_00
         PCI\VEN_1AF4&DEV_1001
         PCI\VEN_1AF4&CC_010000
         PCI\VEN_1AF4&CC_0100
         PCI\VEN_1AF4
         PCI\CC_010000
         PCI\CC_0100
PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13C0B0C5&0&38
     Name: Red Hat VirtIO SCSI controller
     Hardware IDs:
         PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00
         PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4
         PCI\VEN_1AF4&DEV_1004&CC_010000
         PCI\VEN_1AF4&DEV_1004&CC_0100
     Compatible IDs:
         PCI\VEN_1AF4&DEV_1004&REV_00
         PCI\VEN_1AF4&DEV_1004
         PCI\VEN_1AF4&CC_010000
         PCI\VEN_1AF4&CC_0100
         PCI\VEN_1AF4
         PCI\CC_010000
         PCI\CC_0100

-- 
Best regards,
  Gena