Files
nova-specs/specs/ocata/implemented/hyperv-storage-qos.rst
Matt Riedemann 91029061a3 Move implemented specs for Ocata
This moves the specs that were completed in Ocata
from the 'approved' directory to the 'implemented'
directory and updates the redirects file.

This also fixes a bug in the move-implemented-specs
script such that we filter out completed blueprints
which are not implemented, which was the case with
blueprint cold-migration-with-target-ocata which was
superseded.

Change-Id: I476e2e2d4bb089d901b887ce7728fc29c35a0957
2017-03-07 18:10:52 -05:00

182 lines
4.0 KiB
ReStructuredText

..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
==========================================
Hyper-V Storage QoS
==========================================
https://blueprints.launchpad.net/nova/+spec/hyperv-storage-qos
Hyper-V provides options to specify maximum IOPS per virtual disk image.
By leveraging this feature, this blueprint proposes to add support for setting
QoS specs targeting instance local disks as well as volumes exported through
SMB.
Problem description
===================
At the moment, the Nova Hyper-V driver does not support setting storage IOPS
limits. For this reason, some instances might exhaust storage resources,
impacting other tenants.
Use Cases
----------
* Associate front-end QoS specs for volumes exported through SMB, which will
be handled on the hypervisor side
* Set IOPS caps for instance local disks by using flavor extra specs
Proposed change
===============
Cinder volumes can have QoS specs assigned. Front-end QoS specs should be
applied by Nova when the volume is attached. Those are applied per volume.
In addition, this blueprint proposes per instance QoS specs that will be
specified using flavor extra specs. The Hyper-V driver will apply those IOPS
caps to all the local instance disks equally.
For example, if a specific IOPS cap is specified in the flavor extra specs,
this cap will be applied to the instance root, ephemeral and configdrive disk
equally.
Front-end volume specs will be supported only in case of volumes exported
through SMB.
Use case examples:
* Admin sets front-end QoS specs on a specific volume type
cinder qos-create my-qos consumer=front-end \
total_bytes_sec=20971520 \
cinder qos-associate my-qos <volume_type_id>
# SMB must be used as a volume backend, iSCSI support may be
# added in the future
cinder create <size> --volume-type <volume_type_id>
# Those QoS specs are applied when the volume is
# attached to a Hyper-V instance
nova volume-attach <hyperv_instance_id> <volume_id>
* Admin sets instance storage QoS specs on the flavor
nova flavor-key <my_flavor> set \
storage_local_qos:total_bytes_sec=20971520
Available QoS specs:
* total_bytes_sec - includes read/writes
* total_iops_sec
Alternatives
------------
Flavor QoS specs could be applied not only for instance local disks but
attached volumes as well. In this case, if volume QoS specs are present, we may
apply the lowest IOPS cap.
Also, the cap could be divided among the disks, but this may not be desired.
Data model impact
-----------------
None
REST API impact
---------------
None
Security impact
---------------
Setting storage QoS specs will prevent instances from exhausting storage
resources, which may impact other tenants.
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
Preventing instances from exhausting storage resources can have a significant
performance impact.
Other deployer impact
---------------------
None
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
Lucian Petrut <lpetrut@cloudbasesolutions.com>
Work Items
----------
* Add front-end QoS specs support in the Hyper-V SMB volume driver
* Add flavor storage QoS specs support
Dependencies
============
None
Testing
=======
This feature will be tested by the Hyper-V CI. We'll add tempest tests
verifying that the IOPS cap is actually enforced.
Documentation Impact
====================
The QoS features should be described in the Hyper-V driver documentation.
References
==========
Hyper-V Storage QoS reference:
https://technet.microsoft.com/en-us/library/dn282281.aspx
History
=======
.. list-table:: Revisions
:header-rows: 1
* - Release Name
- Description
* - Liberty
- Introduced
* - Mitaka
- Re-proposed
* - Newton
- Re-proposed
* - Ocata
- Re-proposed