Support for virtio-scsi passthrough

Registered by Xiaozhen Qi

With Virtio-scsi passthrough, the storage logical unit number (LUN) can be directly connected to a instance or VM from the storage area network (SAN).

For most data center applications, including databases, customer relationship management (CRM)applications and enterprise resource planning (ERP) applications, virtio-scsi passthrough can be used for configurations involving clustering between virtual machines, between physical and virtual machines or where SAN-aware applications are running inside a virtual machine.

Virtio-scsi passthrough, which permits the use of existing SAN commands, is generally used to improve performance in I/O-intensive applications and block locking. Physical mode provides access to most hardware functions of the storage system that is mapped.

Virtio-scsi passthrough related disk configuration and scsi controller with virtio-scsi model as follows:
     <disk type='block' device='lun'>
       <driver name='qemu' type='raw' cache='none'/>
       <source dev='/dev/mapper/360022a110000ecba5db427db00000023'/>
       <target dev='sdb' bus='scsi'/>
       <address type='drive' controller='0' bus='0'/>
     </disk>

     <controller type='scsi' index='0' model='virtio-scsi'/>

The device LUN whose path is '/dev/mapper/360022a110000ecba5db427db00000023' in the physical server can be connected by the instance.For example, running the command "sg_inq /dev/sdb" in the guest.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Trump.Zhang
Direction:
Needs approval
Assignee:
Trump.Zhang
Definition:
Obsolete
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Trump.Zhang
Completed by
Trump.Zhang

Related branches

Sprints

Whiteboard

Some related works:
1. Block-device-mapping-v2 has already support attach or boot from a volume which is connected to Instance via scsi bus and with a device type of "lun". But cannot generate a virtio-scsi controller.
2. Libvirt-virtio-scsi-driver BP ([1]) whose milestone target is icehouse-3 is aim to support generate a virtio-scsi controller when using an image with virtio-scsi property. But it seems not to take boot-from-volume and attach-volume into account.

So, I think this BP can be aim to make block-device-mapping-v2 and libvirt-virtio-scsi-driver work together.

[1] https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-scsi-driver

-- Trump.Zhang

Removed from next, as next is now reserved for near misses from the last milestone --johnthetubaguySome related works:
1. Block-device-mapping-v2 has already support attach or boot from a volume which is connected to Instance via scsi bus and with a device type of "lun". But cannot generate a virtio-scsi controller.
2. Libvirt-virtio-scsi-driver BP ([1]) whose milestone target is icehouse-3 is aim to support generate a virtio-scsi controller when using an image with virtio-scsi property. But it seems not to take boot-from-volume and attach-volume into account.

So, I think this BP can be aim to make block-device-mapping-v2 and libvirt-virtio-scsi-driver work together.

[1] https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-scsi-driver

-- Trump.Zhang

Removed from next, as next is now reserved for near misses from the last milestone --johnthetubaguy

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

Mark this BP as obsolete, because I think the work can be done through another BluePrint: https://blueprints.launchpad.net/nova/+spec/add-virtio-scsi-bus-for-bdm

-- Trump.Zhang

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.