Paravirtualized SCSI

From Xen
Revision as of 03:48, 26 February 2015 by Rcpavlicek (talk | contribs) (PVSCSI driver availability)


Paravirtualized SCSI (PVSCSI) was added to Xen 3.3.0. PVSCSI allows high performance passthrough of SCSI devices (or LUNs) from dom0 to a Xen PV or HVM guest. PVSCSI can be used to passthrough a tape drive, tape autoloader or basicly any SCSI/FC device. By using PVSCSI the guest can have direct access to the SCSI device (required by for example some management tools). PVSCSI can also be used to passthrough multiple SCSI devices or the whole SCSI HBA.

Note that disks (any block device in dom0) can be passed to the Xen guest using the normal Xen blkback functionality, PVSCSI is not needed for that.

PVSCSI requirements

  • PVSCSI requires a scsiback backend driver in dom0 kernel.
  • PVSCSI requires a scsifront frontend driver in the guest kernel.
  • Xen 3.3.0 or newer.

PVSCSI driver availability

PVSCSI drivers can be found from at least the following Xen kernel trees:

  • Upstream Linux kernel version 3.18 (and later versions) includes Xen PVSCSI drivers, both xen-scsiback and xen-scsifront, out-of-the-box!
  • linux-2.6.18-xen from contains both scsiback and scsifront.
  • Xen PV-on-HVM drivers ("unmodified_drivers" in Xen source tree) contains PVSCSI scsifront driver for Linux 2.6.18, 2.6.27 and 2.6.32.
  • SuSe SLES11 SP1 2.6.32 Xenlinux kernel (and later versions) has PVSCSI drivers.
  • SuSe SLES12 Xenlinux kernel has PVSCSI drivers.
  • Windows Xen GPLPV drivers have scsifront driver.

Xen toolstack support for PVSCSI features

  • xm/xend toolstack supports PVSCSI since Xen 3.3, up to Xen 4.4.
  • xl / libxl toolstack currently does not yet have support for PVSCSI (as of Xen 4.5).

NPIV support

Please see the XenNPIV wiki page for more information.

More information and links