From Fedora Project Wiki
No edit summary
Line 7: Line 7:


== Summary ==
== Summary ==
A new storage architecture for KVM based on SCSI and integrated with lio. <!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
A new storage architecture for KVM based on SCSI. <!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->


== Owner ==
== Owner ==
Line 19: Line 19:
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 2011-07-14
* Last updated: 2011-07-14
* Percentage of completion: 10%
* Percentage of completion: 40%


== Detailed Description ==
== Detailed Description ==
Line 31: Line 31:


== How To Test ==
== How To Test ==
TBD
# Install the qemu-kvm package.
# Download an install image for this release of Fedora (network or DVD).
# Prepare a large file to be used as the disk for a Fedora virtual machine.
# Use the following command to install Fedora: <code>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</code>.
# Reboot and test that the virtual machine can boot from the virtio-scsi hard disk.
# Use the following command to (re)install Fedora: <code>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</code>. The virtual machine will boot from the virtio-scsi image.
 
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  


Line 50: Line 56:


== Contingency Plan ==
== Contingency Plan ==
Each piece (kernel, qemu, libvirt) can still be included separately. The virtio-blk drivers will obviously ''not'' be removed anyway. <!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. -->
Each piece (kernel, qemu, libvirt) can be included separately, so there is no need to revert partial changes.


== Documentation ==
== Documentation ==
TBD <!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
Documentation will be included as part of the changes to libvirt. <!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->


== Release Notes ==
== Release Notes ==
Line 64: Line 70:




[[Category:FeaturePageIncomplete]]
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 10:10, 29 November 2011


virtio-scsi

Summary

A new storage architecture for KVM based on SCSI.

Owner

Current status

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

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.

Scope

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.


Dependencies

None.

Contingency Plan

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

Documentation

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