扩展 IBMNAS 驱动以支持基于 NAS 的 GPFS 存储部署

https://blueprints.launchpad.net/cinder/+spec/add-gpfs-nas-to-ibmnas

目前,ibmnas 驱动适用于 Storwize V7000 Unified 和 SONAS 产品提供的 nfs 导出。它不具备处理 gpfs 服务器提供的 nfs 导出的能力。

问题描述

目前,ibmnas 驱动不具备处理 gpfs 服务器提供的 nfs 导出的能力。

  • 缺乏此功能将限制最终用户在 OpenStack 环境中使用远程 gpfs NAS 服务器作为后端。

用例

提议的变更

  • 在 ibmnas.py 中添加/重用函数,以支持 NAS 基于 GPFS 服务器后端所需的最低功能列表(github.com/openstack/cinder/blob/master/doc/source/devref/drivers.rst)。

备选方案

现有的 gpfs 驱动可以扩展以支持基于 NAS 的 gpfs 存储部署。但此实现需要引入许多其他新函数,而这些函数已经存在于 ibmnas 驱动中并且可以重用。此外,我们计划在未来通过 ibmnas 驱动支持所有 NFS/GPFS 相关的 IBM 产品。因此,扩展 ibmnas 驱动比扩展 gpfs 驱动更具优势。

数据模型影响

REST API 影响

安全影响

无需考虑特定的安全问题。驱动程序已修复不安全的的文件权限 (OSSN-0014),并通过 https://review.openstack.org/#/c/101919/ 处理。

通知影响

其他最终用户影响

性能影响

其他部署者影响

在部署带有 IBMNAS 产品(sonas、v7ku、gpfs-nas)的 OpenStack 时,需要配置一个额外的选项。

  • 需要在 cinder.conf 中填充新的配置选项:ibmnas_platform_type = <sonas> | <v7ku> | <gpfs-nas>

  • 需要在 IBMNAS 驱动 CI 认证中显式启用此更改

开发人员影响

实现

负责人

主要负责人

sasikanth <sasikanth.eda@in.ibm.com>

其他贡献者

nilesh-bhosale <nilesh.bhosale@in.ibm.com>

工作项

  • 在 ibmnas.py 中添加/重用函数,以支持基于 NAS 的 GPFS 存储部署。

依赖项

测试

  • 单元测试 - 将改进现有的 test_ibmnas.py 以处理新的代码更改/函数。

  • Tempest 测试 - 无需编写额外的测试用例,可以使用现有的 tempest 测试此功能。

  • Cinder 驱动程序认证测试 - 将执行驱动程序认证测试并将结果提交给社区(因为这些更改将完全启用新的存储平台)。

  • CI 测试 - 我们正在致力于第三方 CI 环境,并将持续在各自的硬件平台上运行测试。

文档影响

需要使用此新配置选项更新 ibmnas 驱动程序文档。

ibmnas_platform_type = <sonas> | <v7ku> | <gpfs-nas>

此选项用于选择适当的后端存储。有效值为 v7ku,用于使用 IBM Storwize V7000 Unified;sonas,用于使用 IBM Scale Out NAS;gpfs-nas,用于使用基于 NAS 的 GPFS 服务器部署。

参考资料