From Fedora Project Wiki

< Features

Revision as of 16:53, 7 February 2012 by Bonzini (talk | contribs)



A new storage architecture for KVM based on SCSI.


Current status

  • Targeted release: Fedora 17
  • Last updated: 2011-07-14
  • Percentage of completion: 90%

Detailed Description

virtio-scsi improves the storage stack in terms of scalability (easily overcomes the current limit of ~30 freely hot-pluggable/unpluggable storage devices), flexibility (support features such as SCSI passthrough or persistent reservations), extensibility (exposing new features to the guest does not require updating drivers in both the host and the guest).

Benefit to Fedora

Fedora users will be able to use an industry-standard storage stack for their virtual machines.


The guest driver will be included as part of the distribution's kernel and as part of the seabios ROMs installed together with QEMU. The host drivers will be included in the qemu package. Management tools based on libvirt should support this too.

How To Test

  1. Install the qemu-kvm package.
  2. Download an install image for this release of Fedora (network or DVD).
  3. Prepare a large file to be used as the disk for a Fedora virtual machine.
  4. Use the following command to install Fedora: qemu-kvm -drive if=none,id=hd,file=/path/to/test.img -device virtio-scsi-pci,id=scsi --enable-kvm -device scsi-hd,drive=hd -cdrom /path/to/boot.iso.
  5. Reboot and test that the virtual machine can boot from the virtio-scsi hard disk.
  6. Use the following command to (re)install Fedora: qemu-kvm -drive if=none,id=cd,file=/path/to/boot.iso -device scsi-cd,drive=cd,bootindex=0 -drive if=none,id=hd,file=/path/to/test.img -device virtio-scsi-pci,id=scsi --enable-kvm -device scsi-hd,drive=hd. The virtual machine will boot from the virtio-scsi image.



Contingency Plan

Each piece (kernel, qemu, libvirt) can be included separately, so there is no need to revert partial changes.


Documentation will be included as part of the changes to libvirt.

Release Notes

KVM and libvirt support a new advanced SCSI-based storage stack, virtio-scsi. virtio-scsi can be used on guests running {{list of supported guest operating systems}}.

Comments and Discussion