Brocade Cinder Zone Driver - Virtual Fabric 支持

https://blueprints.launchpad.net/cinder/+spec/brocade-zone-driver-virtualfabrics-support

为 Brocade FC SAN 交换机引入 Virtual Fabric (VF) 支持。

问题描述

截至 Juno 版本,Brocade Virtual Fabrics 不支持区域管理,从而阻止管理员在 Brocade Virtual Fabrics (VF) 环境中添加此自动区域访问控制。

用例

这解决了用户在 FC fabric 上启用了 Brocade Virtual Fabrics 功能,并且需要在默认 VF 之外的其他 VF 中执行区域划分的情况。此功能的意义在于,用户现在可以在 cinder.conf 文件中为每个 Brocade FC fabric block 配置 Virtual Fabric ID。

提议的变更

Brocade FC 交换机(固定/模块化)可以划分为多个虚拟交换机。每个虚拟交换机都被分配一个唯一的 ID,称为 VFID(Virtual Fabric ID),所有配置,包括区域划分,都发生在 VFID 的上下文中。用户可以将特定的 VFID 配置为“default”,这将是在用户登录交换机时使用的默认上下文。

截至 Juno 版本,Brocade Zone Driver 和查找服务在建立与交换机的会话时不会设置 VF 上下文,因此它只能访问“default”VFID 中的区域。

该提案旨在增强驱动程序和查找服务,以设置 VFID 上下文,以支持机箱中配置的任何虚拟 fabric。

在 zoning fabrics 配置选项中添加一个新的 ‘fc_virtual_fabric_id’ 配置选项,如下所示

fc_virtual_fabric_id (StrOpt) 虚拟 fabric 的 VFID。默认值为 ‘None’。

区域驱动程序和查找服务将读取 fabric 配置并提取 VFID,以在特定的虚拟 fabric 上读取/应用配置。

支持多个 Virtual Fabrics

Cinder 已经支持配置多个 fabrics。在此版本中,我们添加了支持配置多个 virtual fabrics

配置多个虚拟 fabric 与配置常规 fabric 类似。对于虚拟 fabric,cinder 管理员将配置 fc_virtual_fabric_id 配置选项,以及所有其他 fabric 配置选项。

在 volume attach/detach 时,光纤通道 volume 驱动程序将使用 SAN 查找服务遍历 cinder.conf 中配置的 fabrics,以识别连接到主机的目标,并返回每个 fabric 的 initiator 和 target port WWN 映射。

查找服务返回的示例 map 对象

{
    <Fabric1>: {
        'initiator_port_wwn_list':
        ('200000051e55a100', '200000051e55a121'..)
        'target_port_wwn_list':
        ('100000051e55a100', '100000051e55a121'..)
    }
    <Virtual_Fabric_2>: {
        'initiator_port_wwn_list':
        ('300000051e55a100', '300000051e55a121'..)
        'target_port_wwn_list':
        ('400000051e55a100', '400000051e55a121'..)
    }
}

volume 驱动程序将处理此信息以提取每个 fabric 的 initiator 和 target 映射,并构建一个新的 initiator_target_map 对象。

示例 initiator_target_map 对象

{
    'host WWPN 1': ['target WWPN 1', 'target WWPN 2']
    'host WWPN 2': ['target WWPN 3', 'target WWPN 4']
}

区域管理器将从 volume 驱动程序接收上述 initiator 及其对应的 target port WWN 映射,以创建/删除区域。

备选方案

无。

数据模型影响

无。

REST API 影响

无。

安全影响

Zoning 在 SAN 中强制执行 ACL。无论是常规 fabric 还是虚拟 fabric,Zoning 都是相同的。关于虚拟 fabric,没有特定的安全影响。

通知影响

无。

其他最终用户影响

无。

性能影响

无。

其他部署者影响

配置虚拟 fabric 需要在 zoning fabric 配置中提供 fc_virtual_fabric_id 配置选项,并提供有效的虚拟 fabric VF ID。

开发人员影响

Volume 驱动程序无需修改即可支持虚拟 fabric。

实现

负责人

主要负责人

Prakash Kaligotla

其他贡献者

Nagendra Rao Jaladanki Angela Smith

工作项

  • 增强 Brocade 查找服务,以查找连接到 VF 的主机和目标。

  • 增强 Brocade Zone Driver,以在 VFID 的上下文中执行命令。

  • 对区域驱动程序和查找服务进行单元测试。

依赖项

无。

测试

将执行单元测试,以确保所有 CRUD 操作在虚拟和物理 SAN fabrics 上都成功。

文档影响

fc_virtual_fabric_id 配置选项的配置细节将被添加到 Brocade Fibre Channel Zone Driver 的 fabric zoning 配置中。

参考资料

http://www.brocade.com/downloads/documents/html_product_manuals/FOS_730_CLI/wwhelp/wwhimpl/js/html/wwhelp.htm#href=Title.Fabric_OS.html