StorPool 卷附件¶
https://blueprints.launchpad.net/nova/+spec/libvirt-storpool-volume-attach
目前有各种 Nova 卷驱动程序,它们使用特定类型的存储(例如 LVM、RBD 等)来访问 Cinder 卷。此蓝图的目的是添加一个驱动程序,以支持在 StorPool 集群中定义的卷。
问题描述¶
StorPool 是一种在标准 x86 服务器上运行的分布式数据存储软件。StorPool 将所有驱动器的性能和容量聚合到共享存储池中,该存储池分布在服务器之间。在此存储池内,用户创建薄配置卷,这些卷以块设备的形式暴露给客户端。StorPool 由一个包中的两部分组成 - 服务器和客户端。StorPool 服务器允许虚拟机监控程序充当存储节点,而 StorPool 客户端允许虚拟机监控程序节点访问存储池并充当计算节点。从 OpenStack 的角度来看,StorPool 解决方案允许每个虚拟机监控程序节点同时充当存储和计算节点。
用例¶
作为部署者,我希望能够将由 Cinder 管理的 StorPool 卷附加到我的实例,以实现持久存储,并在实例操作期间利用 StorPool 的性能和可扩展性,在实例启动时即时附加卷到虚拟机监控程序,以及无缝迁移实例到不同的虚拟机监控程序。
项目优先级¶
无。
提议的变更¶
建议的驱动程序将使用 StorPool API(基于通过 HTTP 的 JSON)来附加和分离在 StorPool 集群中定义的并且 Cinder 已经知道的卷。
备选方案¶
无。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
将把附加或分离卷的请求传递给 StorPool 基于 HTTP 的 JSON API。
其他部署者影响¶
无。
开发人员影响¶
无。
实现¶
负责人¶
- 主要负责人
Peter Penchev <openstack-dev@storpool.com>
- 其他贡献者
无
工作项¶
编写 nova.virt.libvirt.storpool 驱动程序来附加和分离卷。
为 StorPool 驱动程序编写测试。
为 StorPool 驱动程序提供 CI 设置。
依赖项¶
用于处理 StorPool 卷的 Cinder 的 StorPool 驱动程序:https://blueprints.launchpad.net/cinder/+spec/storpool-block-driver
测试¶
由于测试设置需要一个可运行的 StorPool 集群,因此单元测试将主要使用模拟来模拟操作。StorPool 将设置一个单独的持续集成环境,并提供对其的访问权限以运行自动 CI 测试。
文档影响¶
将记录使用 StorPool 驱动程序的方法。
参考资料¶
StorPool 分布式存储软件:http://storpool.com/