Today I posted patches for virtio-scsi support in libguestfs.
Virtio-scsi is a replacement for the virtio block device (virtio-blk) and it benefits from lessons learned using virtio-blk.
The main problem with virtio-blk is that a whole PCI device is required for each virtual hard disk. PCI devices are limited in practice to 32, with several being used for other purposes like network cards. There are ways to get around this, but they’re all pretty ugly, such as requiring multiple PCI buses or using the PCI multifunction feature. SCSI on the other hand has long provided support for multiple host adapters and LUNs.
With libguestfs support for virtio-scsi, we get a couple of highly desirable features for free: being able to add a much larger number of disks (instead of being limited to ~29), and being able to easily use “TRIM” support for discarding blocks.
In future it’ll make it easier to add support for hotplugging.
So when will virtio-scsi *really* be integrated into libvirt and virt-manager? I love the advancements, but if I can’t practically use them, out of the box, I tend not to have the time to hack them into my schedule.
Just to confirm, it isn’t 100% ready-to-go in Fedora 17, right?
It mainly depends on guest support. However if you have sufficiently new guests and host, then it works perfectly, and is much better than virtio-blk.
Is there a write-up on making this work? I’m running F17 x86_64 guests and host, with all updates.
Actually I suspect the F17 qemu may be too old. I found one missing feature (support for serials) only today in F17. I suspect using Fedora 18 or the equivalently versioned packages may be best. I’m developing against F18 entirely.
As I suspected…. but I’ll try to test it out on Fedora Virtualization Test Day, Nov 1st 2012