Red Hat VirtIO SCSI Pass-through Controller

Home » CentOS-Virt » Red Hat VirtIO SCSI Pass-through Controller
CentOS-Virt 3 Comments

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:





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

3 thoughts on - Red Hat VirtIO SCSI Pass-through Controller

  • […]

    Ok, I tested with virtio-win.iso versions

    0.1.96-1
    0.1.102-1
    0.1.110-1
    0.1.126-2
    0.1.133-2

    – nothing help, I can’t load vioscsi driver in Windows Server 2012 R2.

    Also I tested Windows Server 2008 R2 – also can’t load vioscsi driver.

    Also I tested with qemu-kvm-ev-2.6.0-28.el7_3.3.1.x86_64 – also can’t load vioscsi driver.

    Also I tested two different CentOS 7.3 servers, with different CPUs:
    Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz Intel(R) Atom(TM) CPU C2750 @ 2.40GHz
    – also can’t load vioscsi driver in Windows Server 2012 R2 setup.

    Why I can’t load vioscsi driver in Windows Virtual Machine?

    I am doing something wrong?

    I can’t install Windows Server 2012 R2 with vioscsi driver, how spice guest tools can help with it?

    Already upgrade, it does not help.

  • I found solution.

    bus=’virtio’ – this is The paravirtualized block device (virtio-blk)
    fou using “Red Hat VirtIO SCSI pass-through controller” vioscsi driver I need to use only SCSI virtual disks (bus=’scsi’), not VirtIO ones.

    Correct config fragment:




    Now all works fine, I install Windows Server 2012 R2 with vioscsi driver

    And now Windows Server 2012 R2 see disks as “thin provisioned drives”.
    (SCSI UNMAP feature works only with vioscsi driver, not with viostor).

    No more need to use sdelete.exe -z to reclaim unused VM disk space. :-)

    More details:

    https://technet.microsoft.com/en-us/library/hh831391(v=ws.11).aspx Thin Provisioning and Trim Storage Overview

    https://kallesplayground.wordpress.com/2014/04/26/storage-reclamation-part-2-windows/comment-page-1/
    Storage reclamation – part 2 – Windows


    Best regards,
    Gena