Paravirtualized SCSI
Xen PVSCSI
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 xen.org 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
- Xen Summit 2007 PVSCSI presentation slides: http://www.xen.org/files/xensummit_fall07/19_Matsumoto.pdf
- Xen Summit Tokyo 2008 PVSCSI update presentation slides: http://www-archive.xenproject.org/files/xensummit_tokyo/24_Hitoshi%20Matsumoto_en.pdf
- PVSCSI usage with NPIV: http://lists.xensource.com/archives/html/xen-devel/2007-08/msg00700.html
- First version of PVSCSI (with usage examples): http://lists.xensource.com/archives/html/xen-devel/2007-07/msg00450.html
- Second version of PVSCSI: http://lists.xensource.com/archives/html/xen-devel/2007-10/msg00526.html
- Third version of PVSCSI: http://lists.xensource.com/archives/html/xen-devel/2007-10/msg00988.html