华为 SDSHypervisor Cinder 卷驱动¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/cinder/+spec/huawei-sdshypervisor-driver
本提案旨在向 cinder 添加华为 SDSHypervisor 驱动。
华为 SDSHypervisor 是一种存储虚拟化解决方案,是一种运行在宿主机上的软件,仅关注数据平面。其目标是促进客户现有旧设备和低端设备的重用。SDSHypervisor 不在控制平面与存储设备交互,例如创建卷、创建快照,不需要第三方设备制造商开发任何驱动程序。管理员只需将 Lun 附加到 hypervisor 节点作为 hypervisor 存储实体,hypervisor 将基于用户的 QoS 和补丁高级功能为这些 Lun 提供虚拟卷,例如快照、链接克隆、缓存、稀疏配置等。
此蓝图的目的是将华为 SDSHypervisor 驱动程序添加到 Cinder。
目前用户产品环境中存在许多异构存储设备,这些设备是低级设备,缺乏高级功能,例如快照、克隆、缓存、稀疏配置、QoS。因此,添加 SDShypervisor 驱动程序将带来以下优势:* 使用 SDShypervisor 缓存功能获得更好的 I/O 性能,当宿主机中存在 SSD 时。* 促进客户现有旧设备和低端设备的重用,通过 SDSHypervisor 为这些设备提供补丁高级功能,例如快照、克隆、缓存、稀疏配置、QoS * 帮助客户使用 Openstack 构建他的云操作系统。对于 Cinder,我们不能允许驱动程序无限扩展。对于制造商而言,他们可能不想花更多时间为这些过时且不再维护的设备开发 cinder 驱动程序。但在客户环境中存在需要访问 openstack 的此类设备,在这种情况下,客户可以将这些设备访问到 hypervisor,间接访问 Cinder,使用 Openstack 构建他的云操作系统。
问题描述¶
目前,用户无法通过 Openstack Cinder 访问华为 SDSHypervisor。
用例¶
提议的变更¶
我们将添加一个新的 Cinder 驱动程序,该驱动程序使用 socket API 与华为 SDSHypervisor 存储交互。SDShypervisor 数据面板使用私有 Key value 协议,因此我们还添加一个新的连接器来实现附加/分离卷的功能。
下图显示了命令和数据路径。
+------------------+
| |
| Cinder + |
| Cinder Volume |
| |
| |
+------------------+
| |
| |
| |
| |
+---------------+-------+ +----+------------------+
| | | |
+ | | |
| SDShypervisor | | SDShypervisor Driver |
| connector | | |
| | | |
+-----------------------+ +-----------------------+
| |
| |
| |
CLI Socket API
| |
| |
| |
+--+-----------+---+
| |
| |
| SDShypervisor |
| storeage |
| |
+------------------+
在 /cinder/volume/drivers 路径中添加新的驱动程序,并实现 cinder 驱动程序的最低功能:* 卷创建/删除 * 卷附加/分离 * 快照创建/删除 * 从快照创建卷 * 获取卷统计信息 * 将镜像复制到卷 * 将卷复制到镜像 * 克隆卷 * 扩展卷
在 cinder/brick/initiator 路径中添加新的连接器,并实现抽象连接器方法:* connect_volume * disconnect_volume
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
用户将能够使用 Cinder 的华为 SDSHypervisor。
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
zhangni <zhangni@huawei.com>
- 其他贡献者
无
工作项¶
使用 socket API 实现 Cinder 驱动程序的最低功能。使用 CLI 实现新的连接器。为华为 SDSHypervisor cinder 驱动程序和连接器添加单元测试代码。
依赖项¶
由于华为 SDSHypervisor 数据面板使用私有 Key-Value 协议,我们将创建 Nova 中的一个新的 libvirt 卷驱动程序来实现附加/分离卷到实例的功能。Nova BP 页面是 https://blueprints.launchpad.net/nova/+spec/huawei-sdshypervisor-volume-driver
测试¶
将为华为 SDSHypervisor 驱动程序进行第三方持续集成。
文档影响¶
CinderSupportMatrix 表和块存储手册应更新为添加华为 SDSHypervisor。
参考资料¶
https://wiki.openstack.org/wiki/Cinder/HuaweiSDSHypervisorDriver