Cinder 卷实例本地性功能¶
https://blueprints.launchpad.net/sahara/+spec/volume-instance-locality
本规范建议增加一种将实例与其附加卷放在同一物理主机上的能力。
问题描述¶
目前,没有办法指定卷附加到与实例相同的物理主机。拥有这种能力将会很好。
提议的变更¶
可以使用 Cinder InstanceLocalityFilter 来实现此功能,该过滤器允许请求创建与实例本地的卷。这将提高 I/O 操作的性能。
将会进行以下几处更改
将在每个节点组模板、节点组和模板关系中添加一个布尔字段
volume_local_to_instance。该字段将是可选的,默认值为False。如果将
volume_local_to_instance设置为True,Cinder 卷将在同一主机上创建。如果
volume_local_to_instance为True,则节点组的所有实例都应在具有可用磁盘空间 >=volumes_per_node*volumes_size的主机上创建。如果无法做到,则应发生错误。
替代方案¶
无
数据模型影响¶
volume_local_to_instance 字段应添加到 node_groups、node_group_templates、templates_relations。
REST API 影响¶
API 将扩展以支持
volume_local_to_instance选项。volume_local_to_instance是一个可选参数,默认值为False,因此此更改将向后兼容。python 客户端将被更新
其他最终用户影响¶
无
部署者影响¶
无
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
将添加一个新字段,用于在节点组模板创建期间选择 volume_local_to_instance 选项。
实现¶
负责人¶
- 主要负责人
apavlov-n
工作项¶
添加在同一主机上创建实例和卷的能力;
添加在适当的主机上创建实例的能力;
更新文档;
更新 UI;
更新 python 客户端;
添加单元测试。
依赖项¶
无
测试¶
将添加单元测试。
文档影响¶
文档将被更新。将记录何时可以使用此功能以及何时不能使用。还将记录如何在 Cinder 端启用它。