Add vHost Executor¶
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.
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.
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.
Data model impact¶
REST API impact¶
Other end user impact¶
Cinder itself being the control plane will not experience any different performance. The data plane should experience a greater deal of performance .
Other deployer impact¶
- Primary assignee:
Add vHost executor to brick
There will be appropriate unit tests available making sure target creation, deletion, listing works.