为 IBM Storwize 驱动程序添加 QoS 功能¶
https://blueprints.launchpad.net/cinder/+spec/cinder-storwize-driver-qos
Storwize 驱动程序可以通过 IO 限制参数提供 QoS 功能,从而限制接受的 I/O 量。此蓝图建议为 Storwize 驱动程序添加 QoS 支持。
问题描述¶
可以通过限制特定卷的 I/O 量来启用 Storwize 后端存储的 QoS 支持。QoS 已为一些 cinder 存储驱动程序实现,因此 Storwize 驱动程序也可以添加此功能。
用例¶
提议的变更¶
要为 storwize 驱动程序启用 QoS,需要将 IOThrottling 作为键的额外规范绑定到卷类型。以下所有更改均适用于 Storwize 驱动程序代码。
创建卷
如果启用了 QoS 并且 IOThrottling 作为 QoS 键可用,则将卷的 I/O 限制设置为指定的 IOThrottling 值。
创建克隆卷
如果原始卷设置了 QoS,则目标卷需要设置为相同的 QoS。
创建快照
QoS 属性将被复制到快照。
从快照创建卷
如果启用了 QoS 并且 IOThrottling 作为 QoS 键可用,则将卷的 I/O 限制设置为指定的 IOThrottling 值。
重新设置卷类型
如果更改了卷类型,不同的 IOThrottling 值将应用于该卷,并且需要将该卷的 I/O 设置为新的 I/O 限制。
备选方案¶
提议的更改遵循其他驱动程序实现 QoS 功能的模式。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
无。
其他部署者影响¶
Storwize 驱动程序的 QoS 可以通过 cinder.conf 中的配置选项进行配置。可以将 IOThrottling 作为键的额外规范绑定到卷类型,以便保证具有此卷类型的卷具有 I/O 限制速率。
开发人员影响¶
无。
实现¶
负责人¶
- 主要负责人
Vincent Hou
- 其他贡献者
待定
工作项¶
添加一个配置选项,允许用户为 Storwize 驱动程序使用 QoS。
在创建卷中添加 QoS 启用检查并设置 I/O 限制。
在从快照创建卷中添加 QoS 启用检查并设置 I/O 限制。
在创建克隆卷中,根据原始卷设置新卷的 I/O 限制。
在创建快照中将 QoS 属性复制到快照。
如果更改了卷类型,则更改卷的 I/O 限制。
依赖项¶
无。
测试¶
需要添加单元测试来测试 Storwize 驱动程序的 QoS。
文档影响¶
在文档中添加如何配置 Storwize 驱动程序的 QoS。
参考资料¶
为 IBM storwize 驱动程序添加 QoS 功能 https://blueprints.launchpad.net/cinder/+spec/cinder-storwize-driver-qos