From f7ccfbfed0cf3ffa01736414408d801a65c2d0c2 Mon Sep 17 00:00:00 2001 From: Mike Perez Date: Fri, 27 Jun 2014 01:07:01 -0700 Subject: [PATCH] Add blueprint for vHost connector support Change-Id: Ia0c6488c7867bf1dbb92d0ba76b2a99da186619c --- specs/juno/vhost-support.rst | 121 +++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 specs/juno/vhost-support.rst diff --git a/specs/juno/vhost-support.rst b/specs/juno/vhost-support.rst new file mode 100644 index 00000000..483cc845 --- /dev/null +++ b/specs/juno/vhost-support.rst @@ -0,0 +1,121 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +========================================== + +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. + +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 + +References +========== + +[1] - http://linux-iscsi.org/wiki/VHost#Linux_performance