Cinder FC 区域管理器 - 用户友好的区域名称

https://blueprints.launchpad.net/cinder/+spec/brocade-zone-driver-friendly-zone-names

为区域引入用户友好的名称,包含主机名和存储系统以及 ID,以便轻松识别主机和存储端口详细信息。

问题描述

FC 区域管理器将被增强,以配置友好的区域名称。目前,区域管理器使用适配器端口和目标端口的 WWN 来配置区域名称。

用例

这解决了区域名称需要用户友好的问题,以便人类可以轻松阅读名称并理解该区域代表的主机和/或存储系统。此功能仅对需要将主机名和存储系统名称添加到传递给 FC 区域管理器的连接信息中的卷驱动程序开发人员产生影响,如果他们希望使用此功能的话。

提议的变更

根据当前设计,区域名称包含默认前缀“openstack”,可以自定义,以及基于 zoning_policy 配置选项:initiator-target 或 initiator 的主机端口 WWN 和目标 WWN(可选),如下所示

发起者-目标区域

<openstack><主机 WWPN><目标 WWPN>

发起者区域

<openstack><主机 WWPN>

这些名称不够用户友好。

本提案是创建带有主机和存储名称的友好区域名称,如下所示

发起者-目标区域

<主机名>_<主机 WWPN>_<存储系统>_<目标 WWPN>

发起者区域

<主机名>_<主机 WWPN>

所需的主机名和存储系统填充在光纤通道卷驱动程序 initialize_connection 方法调用返回的 connection_info 字典中。卷驱动程序将从作为参数传递给 initialize_connection 方法的连接器对象中提取主机名。此蓝图未记录卷驱动程序获取存储系统值的方式。卷驱动程序实施检索存储系统值的机制由其负责。

连接信息示例

{
   'driver_volume_type': 'fibre_channel'
     'data': {
        **'storage_system': 'AMCE_Array',**
        **'host_name': 'OS_Host100',**
        'target_discovered': True,
        'target_lun': 1,
        'target_wwn': '1234567890123',
        'access_mode': 'rw'
     }
}

或者

{
   'driver_volume_type': 'fibre_channel'
     'data': {
        **'storage_system': 'AMCE_Array',**
        **'host_name': 'OS_Host100',**
        'target_discovered': True,
        'target_lun': 1,
        'target_wwn': ['1234567890123', '0987654321321'],
        'access_mode': 'rw'
     }
}

在连接/断开连接时,区域管理器将使用卷驱动程序提供的 connection_info 初始化。区域管理器将依次提取主机名和存储系统,并将此信息传递给区域驱动程序以创建/删除友好的区域名称。

区域名称有 64 个字符的限制。因此,区域驱动程序实施了一种机制来规范化主机名和存储系统,以最好地适应区域名称。WWN 的长度为 16 个字符,并且为主机和存储 WWN 保留了 32 个字符。对于发起者和目标策略,主机名和存储系统可用的最大字符数分别为 14 个字符。区域驱动程序会将名称缩减到最多 14 个字符。对于仅发起者策略,主机名允许的最大大小为 47 个字符。剩余字符保留用于“_”。

区域驱动程序更新

区域驱动程序的 add_connection 和 delete_connection 方法将被增强,以接收主机和存储参数。这些名称默认设置为 None。如果名称为 None,则区域驱动程序将回退到现有的命名机制。

区域管理器将使用 host_name 和 storage_system 键从 connection_info 字典中提取主机名和存储系统。如果未找到或为 None,则区域管理器会将本地变量 host_name 和 storage_system 初始化为 None。

备选方案

无。

数据模型影响

无。

REST API 影响

无。

安全影响

无。

通知影响

无。

其他最终用户影响

无。

性能影响

如果 FC 卷驱动程序能够快速获取存储系统值,则不会有明显的性能影响。

其他部署者影响

无。

开发人员影响

FC 卷驱动程序需要增强其现有驱动程序以支持友好的区域名称。这是可选的。

FC 卷驱动程序的 initialize_connection 方法返回的 connection_info 对象中的存储和主机名。有关详细信息,请参阅上面的提议更改部分。

实现

负责人

主要负责人

Prakash Kaligotla

其他贡献者

Nagendra Rao Jaladanki Angela Smith

工作项

  • 增强区域管理器以将 connection_info 对象传递给区域驱动程序。

  • 实施 Brocade 区域驱动程序,以使用连接器对象中的主机名和存储系统,按照新格式创建区域。

  • 实施 Cisco 区域驱动程序,以使用连接器对象中的主机名和存储系统,按照新格式创建区域。

  • 预计卷驱动程序会将存储系统信息添加到连接/断开连接调用中 connection_info 返回字典中的连接器对象。

  • 对区域驱动程序和客户端代码进行单元测试。

依赖项

依赖于 FC 卷驱动程序,以便在连接/断开连接调用中提供 connection_info 返回字典中的主机名和存储系统。

如果驱动程序未提供主机名和存储系统,则将使用现有的区域命名机制。

测试

将执行连接/断开连接单元测试以验证区域管理器。

文档影响

无。

参考资料

http://www.brocade.com/downloads/documents/html_product_manuals/FOS_740_CLI/wwhelp/wwhimpl/js/html/wwhelp.htm#href=Title.Fabric_OS.html http://www.cisco.com/en/US/docs/storage/san_switches/mds9000/sw/rel_2_x/san-os/command/reference/CR02_z.html