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