在 Nova 中添加 Quobyte 卷驱动¶
https://blueprints.launchpad.net/nova/+spec/quobyte-nova-driver
为 Quobyte 统一存储平台存储系统添加 Nova 卷驱动,允许将驻留在 Quobyte USP 中的虚拟机镜像附加到 Nova 实例。这些镜像(raw, qcow2)存储为 Quobyte USP 卷上的文件。
问题描述¶
Quobyte USP 提供对基于文件的存储的灵活访问。Nova 目前无法附加 Quobyte USP 卷,尽管 Cinder 驱动 正在准备中。
用例¶
操作员可以将 Quobyte USP 存储部署到他们的 Nova 安装中。
项目优先级¶
无
提议的变更¶
通过添加基于 LibvirtBaseVolumeDriver 的新类 LibvirtQuobyteVolumeDriver,为 nova.virt.libvirt.volume.py 添加对 Quobyte 统一存储平台的支持。代码结构将类似于 GlusterFS 类 LibvirtGlusterfsVolumeDriver。驱动程序将检查挂载点可用性,如果需要则运行挂载点准备,并根据配置数据(connection_info 等)挂载给定的 Quobyte USP 卷。基于本地 qemu 2.0.0+ 的可用性,驱动程序通过采用匹配的缓存策略来优化性能。其他功能包括卷断开连接(即卸载 Quobyte USP 卷)和配置数据配置(get_config)。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
- Quobyte USP 特定的配置选项是
quobyte_mount_point_base(Quobyte 卷在计算节点上挂载的目录)
quobyte_client_cfg(Quobyte 客户端配置文件路径)
挂载 Quobyte USP 卷是以 Nova 用户身份完成的,而不是以 root 身份完成的。Nova 用户需要启用 FUSE,例如成为 fuse 组的成员。部署者必须安装 Quobyte USP 软件。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
- 其他贡献者
工作项¶
已完成实现并通过 Tempest 测试。代码可以在 Change-Id: Ica1820031f1fc8b66d7ed7fe76ffeb985cf0ef35 处找到。
依赖项¶
此更改需要相应的 Cinder 驱动,相应的代码可以在 Change-Id: I7ca13e28b000d7a07c2baecd5454e50be4c9640b 处找到。
测试¶
由于现有测试和测试场景涵盖了驱动程序提供的卷使用功能,因此目前不需要额外的 Tempest 测试。对于相应的 Cinder 驱动程序,正在准备一个第三方 CI,它也将测试 Nova 驱动程序。已与现有驱动程序代码一起创建了单元测试。
文档影响¶
无
参考资料¶
无