Features/VirtioSCSI: Difference between revisions

From QEMU
No edit summary
No edit summary
Line 2: Line 2:


A virtio storage interface for efficient I/O that overcomes virtio-blk limitations and supports advanced SCSI hardware.
A virtio storage interface for efficient I/O that overcomes virtio-blk limitations and supports advanced SCSI hardware.
= Features =
* /dev/sda inside guest
* Multiple LUNs per PCI adapter, solves virtio-blk 1:1 scalability problem
* SCSI passthrough (tape, CD burning, ...)


= Status =
= Status =
Line 13: Line 19:
* QEMU hardware emulation using SCSI emulation
* QEMU hardware emulation using SCSI emulation
** Patches on mailing list
** Patches on mailing list
** http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg02012.html
** http://www.spinics.net/lists/kvm/msg68444.html
* QEMU hardware emulation using vhost-scsi
* QEMU hardware emulation using vhost-scsi
** (Stalled) work-in-progress, contact Stefan
** (Stalled) work-in-progress, contact Stefan
Line 23: Line 29:
= Future tasks =
= Future tasks =
* Pick up vhost-scsi work again:
* Pick up vhost-scsi work again:
** Port QEMU hw/virtio-scsi.c vhost-scsi support onto latest code; add QEMU Object Model (QOM) support
** Port QEMU hw/virtio-scsi.c vhost-scsi support onto latest code
** to the vhost-scsi device
** add QEMU Object Model (QOM) support to the vhost-scsi device
** Port LIO vhost-scsi code onto latest lio.git code and spec
** Port LIO vhost-scsi code onto latest lio.git code
** Update vhost-scsi to implement latest virtio-scsi device specification
** Ensure vhost-scsi I/O still works
** Ensure vhost-scsi I/O still works
** Design libvirt integration for LIO
** Design libvirt integration for LIO
Line 34: Line 41:
** Add support for hotplug events
** Add support for hotplug events
** Add support for asynchronous media change notifications
** Add support for asynchronous media change notifications
 
* Use cases to flesh out:
= Features =
** LUN hotplug
 
** CD-ROM/DVD burning passthrough
* /dev/sda inside guest
** Tape passthrough
* Multiple LUNs per PCI adapter, solves virtio-blk 1:1 scalability problem
** Multipath inside guest
* SCSI passthrough (tape, CD burning, ...)
** 100s of LUNs (scalability)
* Performance analysis
** Compare against virtio-blk I/O
** Compare against bare metal host SCSI


= Links =
= Links =


* KVM Forum 2011 presentation [http://www.linux-kvm.org/wiki/images/f/f5/2011-forum-virtio-scsi.pdf Virtio SCSI: An alternative virtualized storage stack for KVM]
* KVM Forum 2011 presentation [http://www.linux-kvm.org/wiki/images/f/f5/2011-forum-virtio-scsi.pdf Virtio SCSI: An alternative virtualized storage stack for KVM]

Revision as of 09:43, 14 February 2012

Overview

A virtio storage interface for efficient I/O that overcomes virtio-blk limitations and supports advanced SCSI hardware.

Features

  • /dev/sda inside guest
  • Multiple LUNs per PCI adapter, solves virtio-blk 1:1 scalability problem
  • SCSI passthrough (tape, CD burning, ...)

Status

Future tasks

  • Pick up vhost-scsi work again:
    • Port QEMU hw/virtio-scsi.c vhost-scsi support onto latest code
    • add QEMU Object Model (QOM) support to the vhost-scsi device
    • Port LIO vhost-scsi code onto latest lio.git code
    • Update vhost-scsi to implement latest virtio-scsi device specification
    • Ensure vhost-scsi I/O still works
    • Design libvirt integration for LIO
  • QEMU SCSI target:
    • Add support for WRITE SAME commands
    • Add support for rerror/werror to scsi-generic
  • Complete virtio-scsi spec implementation:
    • Add support for hotplug events
    • Add support for asynchronous media change notifications
  • Use cases to flesh out:
    • LUN hotplug
    • CD-ROM/DVD burning passthrough
    • Tape passthrough
    • Multipath inside guest
    • 100s of LUNs (scalability)
  • Performance analysis
    • Compare against virtio-blk I/O
    • Compare against bare metal host SCSI

Links