In addition, moving specs from Kilo into Liberty that belong to blueprints that were not completed. Change-Id: Ibabce077579742b237a8cdb577414cc26228ec08
2.3 KiB
Add vHost Executor
https://blueprints.launchpad.net/cinder/+spec/vhost-support
The vHost driver was added in the 3.6 Linux kernel. The Linux-IO Target vHost fabric module implements I/O processing based on the Linux virtio mechanism. It provides virtually bare-metal local storage performance for KVM guests. Currently Linux guest VMs are supported.
Problem description
The vHost driver is not a self-contained virtio device, as it depends on userspace to handle the control plane while the data plane is done in kernel. This means the data plane does not go through emulations, which can slow down I/O performance. Cinder today does not provide an option for taking advantage of the Linux vHost driver.
Use Cases
Proposed change
Add an additional brick executor that knows how to work with vHost. The executor will have a first pass implementation of creating, deleting, listing vHost endpoints through LIO.
Creating the endpoint requires a block device to be available on the machine that is creating the vHost target. The vHost executor would pass the block device path to to rtstools, and rtstools will create vHost endpoint with a lun to the block device.
Alternatives
n/a
Data model impact
n/a
REST API impact
n/a
Security impact
n/a
Notifications impact
n/a
Other end user impact
n/a
Performance Impact
Cinder itself being the control plane will not experience any different performance. The data plane should experience a greater deal of performance [1].
Other deployer impact
n/a
Developer impact
n/a
Implementation
Assignee(s)
- Primary assignee:
-
thingee
Work Items
- Add vHost executor to brick
Dependencies
n/a
Testing
There will be appropriate unit tests available making sure target creation, deletion, listing works.
Documentation Impact
n/a