CN102970390B - 一种实现FC Fabric网络互通的方法和装置 - Google Patents

一种实现FC Fabric网络互通的方法和装置 Download PDF

Info

Publication number
CN102970390B
CN102970390B CN201210506636.4A CN201210506636A CN102970390B CN 102970390 B CN102970390 B CN 102970390B CN 201210506636 A CN201210506636 A CN 201210506636A CN 102970390 B CN102970390 B CN 102970390B
Authority
CN
China
Prior art keywords
port
lun
message
fabric network
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210506636.4A
Other languages
English (en)
Other versions
CN102970390A (zh
Inventor
张世林
杨小朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210506636.4A priority Critical patent/CN102970390B/zh
Publication of CN102970390A publication Critical patent/CN102970390A/zh
Application granted granted Critical
Publication of CN102970390B publication Critical patent/CN102970390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种实现FC Fabric网络互通的方法和装置,技术方案为:利用FC NAT设备连接多个FC Fabric网络;FC NAT设备在自身的连接每个FC Fabric网络的端口搜索物理LUN,为搜索到的每个物理LUN分配逻辑LUN并挂接到FC NAT设备上连接其它FC Fabric网络的端口,使得其它FC Fabric网络的服务器可以通过访问FCNAT设备上连接所述其它FC Fabric网络的端口上挂接的逻辑LUN达到访问该FC Fabric网络中的物理LUN的目的。本发明能够解决FC Fabric网络互通时的兼容性问题。

Description

一种实现FC Fabric网络互通的方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种实现FC Fabric网络互通的方法和装置。
背景技术
光纤通道(Fibre Channel,FC)是一种高速网络技术,主要用于存储区域网络(Storage Area Networks,SAN)。FC有两种常用拓扑结构:FC-AL和FC Fabric。由FC交换机组成的中间传输网络称为Fabric网络。
在FC Fabric网络中,端口是区分角色的,节点设备(包括存储设备和访问存储设备的服务器)上与FC交换机直连的端口是N_Port,FC交换机上与节点设备直连的端口是F_Port,FC交换机之间互联的端口是E_Port。FC交换机的F_Port和节点设备的N_Port之间可直接互通,不需要运行复杂的协议,而FC交换机之间互联的E_Port端口上则需要运行很多协议。
由于FC协议的发展时间较短,标准化工作不够完善,各厂家都在E_Port端口上使用大量私有协议,导致各厂家的FC交换机之间很难做到互通,用户在组网时只能选择同一厂商的FC交换机以保证网络的连通,然而不同FC Fabric网络之间仍然难以互通。
目前主要是利用光纤通道路由设备(Fibre Channel Routing,FCR)实现FC Fabric网络之间的互通,光纤通道路由设备使用EX_Port端口来连接不能互通的多个FC Fabric网络,使之可以互通。如图1所示的现有技术通过光纤通道路由设备实现多个FC Fabric互通的组网示意图,光纤通道路由设备使用EX_Port端口:EX_Port1、EX_Port 2、EX_Port 3分别与FC Fabric网络:Fabric1、Fabric2以及Fabric3中的FC交换机相连,通过在EX_Port端口运行复杂的协议,实现Fabric1、Fabric2和Fabric3之间的互通。
在现有实现中,光纤通道路由设备的EX_Port端口的功能和FC交换机的E_Port端口的功能非常类似,光纤通道路由设备的EX_Port端口和FC Fabric网络中的FC交换机的E_Port端口之间也需要运行复杂的FC协议,仍然存在兼容性问题。
发明内容
有鉴于此,本发明的目的在于提供一种实现FC Fabric网络互通的方法,该方法可以解决FC Fabric网络互通的兼容性问题,实现FC Fabric网络互通。
为了达到上述目的,本发明提供了一种实现FC Fabric网络互通的方法,应用于光纤通道网络地址转换FC NAT设备,所述FC NAT设备通过N_Port端口连接至少两个FC Fabric网络,该方法包括:
所述FC NAT设备为自身的连接每个FC Fabric网络的各端口申请FCID,在该端口搜索该FC Fabric网络中已绑定该端口的物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的端口;
所述FC NAT设备在自身的连接任一FC Fabric的端口接收到FC报文时,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID。
本发明还提供了一种FC NAT设备,该FC NAT设备连接至少两个FC Fabric网络,该FC NAT设备包括:申请单元、搜索单元、第一建表单元、挂接单元、接收单元、转发单元、第二建表单元;
所述申请单元,用于为所述FC NAT设备的连接每个FC Fabric网络的各端口申请FCID;
所述搜索单元,用于申请单元为所述FC NAT设备的连接每个FC Fabric网络的各端口申请FCID后,在该端口搜索该FC Fabric网络中已绑定该端口的物理LUN;
所述第一建表单元,用于搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到该FC Fabric网络中已绑定该端口的物理LUN后,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项;
所述挂接单元,用于确定第一建表单元建立的每个LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的端口;
所述接收单元,用于在所述FC NAT设备的连接FC Fabric网络的各端口接收FC报文;
所述转发单元,用于接收单元在所述FC NAT设备的连接任一FC Fabric的端口接收到FC报文后,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,通知第二建表单元根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID;
所述第二建表单元,用于根据转发单元查找到FC报文的目的LUN对应的LUN映射表项建立FC NAT表项。
综上所述,本发明中,FC NAT设备使用N_Port端口连接多个FC Fabric网络;FC NAT设备在自身的连接每个FC Fabric网络的端口搜索物理LUN,为搜索到的每个物理LUN分配逻辑LUN并挂接到FC NAT设备上连接其它FC Fabric网络的端口,使得FC NAT设备上连接其它FC Fabric网络的端口成为所述其它FC Fabric网络中的一个存储设备,所述其它FC Fabric网络的服务器可以通过访问FC NAT设备上连接所述其它FC Fabric网络的端口挂接的逻辑LUN达到访问该FC Fabric网络中的物理LUN的目的,能够实现FC Fabric网络间的互通,解决了FC Fabric网络互通时的兼容性问题。
附图说明
图1是现有技术通过光纤通道路由设备实现多个FC Fabric互通的组网示意图;
图2是本发明实施例一利用FC NAT设备连通多个FC Fabric网络的组网示意图;
图3为本发明实施例二利用FC NAT设备连通多个FC Fabric网络的组网示意图;
图4为本发明实施例三利用FC NAT设备连通多个FC Fabric网络的组网示意图;
图5是本发明实施例实现FC Fabric网络互通的方法流程图;
图6是本发明实施例提供的FC NAT设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
为了实现FC Fabric网络互通,本发明利用光纤通道网络地址转换(FC NAT)设备连接多个FC Fabric网络,其中FC NAT设备上连接到FC Fabric网络的端口配置为N_Port,FC NAT设备为自身连接到FC Fabric网络的端口申请FCID,具体可以通过向该端口连接的FC Fabric网络中的FC交换机进行申请。FC NAT设备在自身的连接每个FC Fabric网络的端口搜索物理逻辑单元号(logical unit number,LUN),为搜索到的每个物理LUN分配逻辑LUN并挂接到FC NAT设备上连接其它FC Fabric网络的端口,从而使得其它FC Fabric网络的服务器可以通过FC NAT设备上连接所述其它FC Fabric网络的端口访问该FC Fabric网络中的物理LUN。
根据FC NAT设备上连接各FC Fabric网络的端口的个数的不同,至少有四种实施方式可以实现多个FC Fabric网络互通,以下进行详细说明:
第一种实施方式、
FC NAT设备上连接同一FC Fabric网络的端口只有一个。
参见图2,图2是本发明实施例一利用FC NAT设备连通多个FC Fabric网络的组网示意图,包括三个FC Fabric网络:Fabric1、Fabric2、Fabric3,FC NAT设备分别通过端口N_Port21、N_Port22、N_Port23连接Fabric1、Fabric2和Fabric3,其中,Fabric1中有服务器1(服务器1的FCID为1)和存储设备1(存储设备1的FCID为2,且存储设备1包括物理LUN11、物理LUN12);Fabric2中有服务器2(服务器2的FCID为3)和存储设备2(存储设备2的FCID为4,且存储设备2包括物理LUN21);Fabric3中有服务器3(服务器3的FCID为5)和存储设备3(存储设备31的FCID为6,且存储设备3包括物理LUN31)。
为了实现图2中所示的Fabric1、Fabric2、Fabric3之间的互通,Fabric1中的每个存储设备需要将N_Port21绑定到自身的所有物理LUN;Fabric2中的每个存储设备需要将N_Port22绑定到自身的所有物理LUN;Fabric3中的每个存储设备需要将N_Port23绑定到自身的所有物理LUN。另外,FC NAT设备需要为N_Port21、N_Port22、N_Port23分别申请FCID,具体申请方法为:FC NAT设备通过N_Port21端口向Fabric1中的FC交换机注册,从而获得Fabric1中的FC交换机为其分配的FCID(假设为FCID21);通过N_Port22端口向Fabric2中的FC交换机注册,从而获得Fabric2中的FC交换机为其分配的FCID(假设为FCID22);通过N_Port23端口向Fabric3中的FC交换机注 册,从而获得Fabric3中的FC交换机为其分配的FCID(假设为FCID23)。
FC NAT设备为N_Port21申请FCID后,就可以在N_Port21搜索到Fabric1中所有绑定了N_Port21的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,对应的挂接端口为N_Port22和N_Port23。
FC NAT设备为N_Port22申请FCID后,就可以在N_Port22搜索到Fabric2中所有绑定了N_Port22的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,对应的挂接端口为N_Port21和N_Port23。
FC NAT设备为N_Port23申请FCID后,就可以在N_Port23搜索到Fabric2中所有绑定了N_Port23的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,对应的挂接端口为N_Port21和N_Port22。
在执行上述挂接LUN映射表项到对应的挂接端口后,FC NAT设备的N_Port21就模拟成了Fabric1中的一个存储设备,该存储设备的FCID就是N_Port21的FCID:FCID21,该存储设备中的物理LUN就是挂接到N_Port21的所有LUN映射表项中的逻辑LUN,从而使得Fabric1中的服务器可以发起对该存储设备中的逻辑LUN的访问。FC NAT设备的N_Port22就模拟成了Fabric2中的一个存储设备,该存储设备的FCID就是N_Port22的FCID:FCID22,该存储设备中的物理LUN就是挂接到N_Port22的所有LUN映射表项中的逻辑LUN,从而使得Fabric2中的服务器可以发起对该存储设备中的逻辑LUN的访问。FC NAT设备的N_Port23就模拟成了Fabric3中的一个存储设备,该存储设备的FCID就是N_Port3的FCID:FCID23,该存储设备中的物理LUN就是挂接到N_Port23的所有LUN映射表项中的逻辑LUN,从而使得Fabric3中的服务器可以发起对该存储设备中的逻辑LUN的访问。
上述N_Port21、N_Port22、N_Port23挂接的LUN映射表项可以存储在LUN映射表中,每个LUN映射表项可以包括以下内容:逻辑LUN的挂接端口的FCID、逻辑LUN、物理LUN、物理LUN所在存储设备的FCID、物理LUN发现端口的FCID。N_Port21、N_Port22、N_Port23挂接的LUN映射表项可以共用一个LUN映射表,也可以各自使用一个LUN映射表。
如果N_Port21、N_Port22、N_Port23分别使用一个LUN映射表,则N_Port21对应的LUN映射表可能如表一所示:
 逻辑LUN的挂  逻辑LUN  物理LUN  物理LUN所在存  物理LUN发现
  接端口的FCID       储设备的FCID   端口的FCID
  FCID21   3   21   FCID4   FCID22
  FCID21   4   31   FCID6   FCID23
表一
根据表一,Fabric1中的服务器可以发起对N_Port1的逻辑LUN3和逻辑LUN4的访问,进而实现对Fabric2中的物理LUN21的访问以及对Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
N_Port22对应的LUN映射表如表二所示:
表二
根据表二,Fabric2中的服务器可以发起对N_Port22的逻辑LUN1、逻辑LUN2和逻辑LUN4的访问,进而实现对Fabric1中的物理LUN11和物理LUN12的访问以及对Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FCNAT表项。
N_Port23对应的LUN映射表如表三所示:
表三
根据表三,Fabric3中的服务器可以发起对N_Port23的逻辑LUN1、逻辑LUN2和逻辑LUN3的访问,进而实现对Fabric1中的物理LUN11和物理LUN12的访问以及对Fabric2中的物理LUN21的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
下面以Fabric1中的服务器1发起一个访问N_Port21的逻辑LUN3的访问过程为例,对FC NAT表项的建立以及FC报文的转发进行说明:
当Fabric1中的服务器1发起一个访问N_Port21的逻辑LUN3的访问时,向FC NAT设备发送的FC报文中,源ID(S_ID)为FCID1,目的ID(D_ID)为FCID21,目的LUN为逻辑LUN3,另外,还携带服务器1为该访问分配的交换ID(OX_ID),假设为1111。当FC NAT设备在N_Port21端口接收到该FC报文后,可以先查找是否存在 以FC报文的标识信息对应的FC NAT表项,其中,FC报文的标识信息包括FC报文的S_ID、D_ID和OX_ID,如果不存在FC报文的标识信息对应的FC NAT表项(首次发起访问的情况下,不存在对应的FC NAT表项),则查找FC报文的目的LUN对应的LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,然后转发修改后的FC报文,如果存在FC报文的标识信息对应的FC NAT表项(非首次发起访问的情况下,FC报文中不再携带目的LUN),则根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,然后转发修改后的FC报文。
上述FC NAT表项包括表项索引和表项内容,其中表项索引包括S_ID、D_ID、OX_ID,表项内容也包括S_ID、D_ID、OX_ID。
上述查找是否存在FC报文的标识信息对应的FC NAT表项的方法为:将FC报文的S_ID、D_ID、OX_ID分别作为表项索引中的S_ID、D_ID、OX_ID,查找该表项索引对应的FC NAT表项,如果查找到,则确定存在FC报文的标识信息对应的FC NAT表项,如果未查找到,则确定不存在FC报文的标识信息对应的FC NAT表项。
上述查找FC报文的目的LUN对应的LUN映射表项的方法为:在N_Port21挂接的所有LUN映射表项中查找逻辑LUN3对应的LUN映射表项,可以确定表一的第一个LUN映射表项为逻辑LUN3对应的LUN映射表项。 
FC NAT设备在N_Port21接收到FC报文后,还需要为FC报文重新分配OX_ID,在修改FC报文时,以重新分配的OX_ID替换FC报文中原有的OX_ID。
查找到FC报文的目的LUN对应的LUN映射表项后,可以根据查找到的LUN映射表项建立两个FC NAT表项,首先建立第一个FC NAT表项,将FC报文的S_ID、D_ID、以及OX_ID分别作为第一个FC NAT表项的表项索引中的S_ID、D_ID、OX_ID,将查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、以及为FC报文重新分配的OX_ID分别作为该第一个FC NAT表项的表项内容中的源ID、目的ID、交换ID;其次建立第二个FC NAT表项,将查找到的LUN映射表项中的物理LUN所在物理设备的FCID、物理LUN的发现端口的FCID、为FC报文重新分配的OX_ID分别作为该第二个FC NAT表项的表项索引中的S_ID、D_ID、OX_ID,将FC报文的D_ID、S_ID、以及OX_ID分别作为该第二个FC NAT表项的表项索引中的S_ID、D_ID、OX_ID。
具体到上述在N_Port21接收到的FC报文,假设为FC报文重新分配的OX_ID为2222,则根据FC报文的目的LUN对应的LUN映射表项建立的FC NAT映射如表四所示:
表四
查找到FC报文的目的LUN对应的LUN映射表项后,还可以根据查找到的LUN映射表项修改FC报文的标识信息和目的LUN,将FC报文的S_ID、D_ID、OX_ID、目的LUN分别替换为查找到的LUN映射表项中的物理LUN发现端口的FCID、物理LUN所在存储设备的FCID、为FC报文重新分配的OX_ID、物理LUN,然后将修改后的FC报文从修改后的FC报文的S_ID对应的端口转发。
具体到上述在N_Port21接收到的FC报文,即是将FC报文的S_ID、D_ID、OX_ID、目的LUN分别替换为FCID22、FCID4、2222、LUN21,然后将修改后的FC报文从N_Port22转发,这样,Fabric2中的存储设备2就能够接收到该FC报文并进行回应,回应的FC报文的S_ID、D_ID、OX_ID分别为FCID4、FCID22、2222,回应的FC报文通过N_Port22到达FC NAT设备后,FC NAT设备将根据表四中的第二个FC NAT表项将回应的FC报文的S_ID、D_ID、OX_ID替换为FCID21、FCID1、1111,然后从N_Port11转发,并最终到达服务器1。此后,Fabric1中的服务器1访问N_Port1的逻辑LUN3时,均根据表四的第一个FC NAT表项执行FC报文的修改和转发,而Fabric2中的存储设备2接收到相应的FC报文后进行回应时,均根据表四的第二个FC NAT表项执行回应的FC报文的修改和转发。
第二种实施方式、
FC NAT设备上连接同一FC Fabric网络的端口的个数为所述FC NAT设备连接的FC Fabric网络的个数减去1。
参见图3,图3为本发明实施例二利用FC NAT设备连通多个FC Fabric网络的组网示意图,与图2相同,包括三个FC Fabric网络:Fabric1、Fabric2、Fabric3以及连接Fabric1、Fabric2、Fabric3的FC NAT设备,且Fabric1、Fabric2、Fabric3与图2中的Fabric1、Fabric2、Fabric3完全相同(其中的服务器和存储设备等设备完全相同),不再赘述,不同之处在于,FC NAT设备连接同一FC Fabric网络的端口有两个,其中,FC NAT设备通过端口N_Port31和N_Port32连接到Fabric1,通过端口N_Port33和N_Port34连接到Fabric2,通过端口N_Port35和N_Port36连接到Fabric3。
为了实现图3中所示的Fabric1、Fabric2、Fabric3之间的互通,可以采用为FC NAT设备连接的任意两个FC Fabric网络配置专用的连通通道的方法,具体地,FC NAT设备预先为自身连接的任意两个FC Fabric网络分配用于连通该两个FC Fabric网络的端 口对,端口对中的两个端口互为关联端口,该两个FC Fabric网络之间的访问流量均通过端口对中的两个端口转发,其它访问流量则不允许流经端口对中的任一端口。如图3所示,可以将N_Port31和N_Port36配置为用于连通Fabric1和Fabric3的端口对,将N_Port32和N_Port33配置为用于连通Fabric1和Fabric2的端口对,将N_Port34和N_Port35配置为用于连通Fabric2和Fabric3的端口对。
此外,Fabric1中的每个存储设备需要将N_Port31和N_Port32绑定到自身的所有物理LUN;Fabric2中的每个存储设备需要将N_Port33和N_Port34绑定到自身的所有物理LUN;Fabric3中的每个存储设备需要将N_Port35和N_Port36绑定到自身的所有物理LUN。另外,FC NAT设备需要为自身的连接FC Fabric网络的各端口申请FCID,具体申请方法与图2中FC NAT设备为连接FC Fabric网络的各端口申请FCID的方法相同,这里,假设FC NAT设备为N_Port31、N_Port32、N_Port33、N_Port34、N_Port35、N_Port36申请到的FCID分别为FCID31、FCID32、FCID33、FCID34、FCID35、FCID36。
FC NAT设备为自身的连接FC Fabric网络的各端口申请FCID后,就可以在该端口搜索到该端口连接到的FC Fabric网络中所有绑定了该端口的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,对应的挂接端口为该端口的关联端口,例如,对于在N_Port31搜索到的物理LUN,在为每个物理LUN分配逻辑LUN,逻辑LUN的挂接端口为N_Port36。
在执行上述挂接逻辑LUN映射表项到对应的挂接端口后,FC NAT设备上连接FC Fabric网络的各端口均模拟成了该端口连接的FC Fabric网络中的一个存储设备,该存储设备的FCID就是该端口的FCID,该存储设备中的物理LUN就是挂接到该端口的所有LUN映射表项中的逻辑LUN,从而使得该端口连接的FC Fabric网络中的服务器可以发起对该存储设备的逻辑LUN的访问。例如,N_Port31模拟成为Fabric1的一个存储设备,N_Port32模拟成Fabric1的另一个存储设备,Fabric1中的服务器1可以发起这两个存储设备的逻辑LUN的访问。
在执行上述挂接LUN映射表项到对应的挂接端口后,N_Port31、N_Port32、N_Port33、N_Port34、N_Port35、N_Port36上均对应一个包含一个或多个LUN映射表项的LUN映射表,以N_Port31和N_Port36为例,N_Port31和N_Port36对应的LUN映射表分别如表五、表六所示:
表五
根据表五,Fabric1中的服务器可以发起对N_Port31的逻辑LUN4的访问,进而实现对Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
表六
根据表六,Fabric3中的服务器可以发起对N_Port36的逻辑LUN1和逻辑LUN2的访问,进而实现对Fabric1中的物理LUN11和物理LUN12的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
下面以Fabric1中的服务器1发起一个访问N_Port31的逻辑LUN4的访问过程为例,对FC NAT表项的建立以及FC报文的转发进行说明:
当Fabric1中的服务器1发起一个访问N_Port31的逻辑LUN4的访问时,服务器1向FC NAT设备发送的FC报文中,S_ID为FCID1,D_ID为FCID31,目的LUN为逻辑LUN4,另外,还携带服务器1为该访问分配的OX_ID,假设为3333。当FC NAT设备在N_Port31端口接收到该FC报文后,可以先查找是否存在以FC报文的标识信息对应的FC NAT表项,如果不存在FC报文的标识信息对应的FC NAT表项(首次发起访问的情况下,不存在对应的FC NAT表项),则查找FC报文的目的LUN对应的LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,然后转发修改后的FC报文,如果存在FC报文的标识信息对应的FC NAT表项(非首次发起访问的情况下,FC报文中不再携带目的LUN),则根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,然后转发修改后的FC报文。
假设FC NAT设备在N_Port31端口接收到的FC报文后,确定不存在FC报文的标识信息对应的FC NAT表项,则在N_Port31挂接的所有LUN映射表项中查找逻辑LUN4对应的LUN映射表项,表五中的LUN映射表项即为逻辑LUN4对应的LUN映射表项。 
可以根据表五中LUN映射表项建立FC NAT表项,假设为FC重新分配的OX_ID为4444,则建立的FC NAT表项如表七所示:
表七
可以根据表五中LUN映射表项对FC报文进行修改,将FC报文中的S_ID、D_ID、OX_ID、目的LUN分别替换为FCID36、FCID6、4444、LUN31,然后将修改后的FC报文从FCID36对应的端口:N_Port36转发,并最终到达Fabric3中的存储设备3,存储设备3对FC报文进行处理和回应,回应的FC报文的S_ID、D_ID、OX_ID分别为FCID6、FCID36、4444,回应的FC报文到达FC NAT设备后,FC NAT设备将回应的FC报文的S_ID、D_ID、OX_ID分别替换为FCID31、FCID1、3333,然后从N_Port31端口转发,最终到达Fabric1中的服务器1。此后,Fabric1中的服务器1访问N_Port31的逻辑LUN4时,均根据表七的第一个FC NAT表项执行FC报文的修改和转发,而Fabric3中的存储设备3接收到FC报文后进行回应时,均根据表七的第二个FC NAT表项执行回应报文的修改和转发。
第三种实施方式、
FC NAT设备上连接同一FC Fabric网络的端口的个数为一个或多个,且至少存在一个FC Fabric网络,所述FC NAT设备上连接该FC Fabric网络的端口的个数为多个。
参见图4,图4为本发明实施例三利用FC NAT设备连通多个FC Fabric网络的组网示意图,与图2相同,包括三个FC Fabric网络:Fabric1、Fabric2、Fabric3以及连接Fabric1、Fabric2、Fabric3的FC NAT设备,且Fabric1、Fabric2、Fabric3与图2中的Fabric1、Fabric2、Fabric3完全相同(其中的服务器和存储设备等设备完全相同),不再赘述,不同之处在于:FC NAT设备上连接Fabric1的端口有两个,分别为N_Port41和N_Port42,另外,FC NAT上连接Fabric2和Fabric3的端口分别为N_Port43、N_Port44。
为了实现图4中所示的Fabric1、Fabric2、Fabric3之间的互通,可以采用将同一FC Fabric网络中的每个物理LUN只绑定FC NAT设备上连接该FC Fabric网络的所有端口中的一个端口的方法,实现流量分担,例如,在图4中,可以将Fabric1中的LUN11绑定N_Port41,将Fabric1中的LUN12绑定N_Port42。而对于Fabric2和Fabric3,由于FC NAT设备上连接这两个FC Fabric网络的端口均只有一个,因此Fabric2中的每个存储设备需要自身的物理LUN绑定N_Port43;Fabric3中的每个存储设备需要自身的物理LUN绑定N_Port44。另外,FC NAT设备需要为自身的连接FC Fabric网络的各端口申请FCID,具体申请方法与图2中FC NAT设备为连接FC Fabric网络的各端口申请FCID的方法相同,这里,假设FC NAT设备为N_Port41、N_Port42、N_Port43、N_Port44申请到的FCID分别为FCID41、FCID42、FCID43、FCID44。
FC NAT设备为自身的连接FC Fabric网络的各端口申请FCID后,就可以在该端口搜索到该端口连接到的FC Fabric网络中所有绑定了该端口的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,需要针对FC NAT连接其它每个FC Fabric网络,在FC NAT上连接该其它FC网络的所有端口中选择一个作为该LUN映射表项对应的挂接端口,然后将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。例如,对于在N_Port43搜索到的物理LUN,在为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,针对Fabric1,可以在N_Port41和N_Port42中随机选择一个作为该LUN映射表项对应的挂接端口,针对Fabric3,由于只有一个端口N_Port44,因此将N_Port44作为该LUN映射表项对应的挂接端口,确定了该LUN映射表项对应的两个挂接端口之后,就可以将该LUN映射表项挂接到确定的两个挂接端口。
在执行上述挂接逻辑LUN映射表项到对应的挂接端口后,FC NAT设备上连接FC Fabric网络的各端口均模拟成了该端口连接的FC Fabric网络中的一个存储设备,该存储设备的FCID就是该端口的FCID,该存储设备中的物理LUN就是挂接到该端口的所有LUN映射表项中的逻辑LUN,从而使得该端口连接的FC Fabric网络中的服务器可以发起对该存储设备的逻辑LUN的访问。例如,N_Port41模拟成为Fabric1的一个存储设备,N_Port42模拟成Fabric1的另一个存储设备,Fabric1中的服务器1可以发起这两个存储设备的逻辑LUN的访问。
在执行上述挂接LUN映射表项到对应的挂接端口后,N_Port41、N_Port42、N_Port43、N_Port44上均对应一个包含一个或多个LUN映射表项的LUN映射表,以N_Port41和N_Port42为例,假设FC NAT设备在N_Port 43搜索到LUN21之后,为LUN21分配的逻辑LUN为LUN3,且针对Fabric1选择的挂接端口为N_Port41,而FC NAT设备在N_Port44搜索到LUN31之后,为LUN31分配的逻辑LUN为LUN4,且针对Fabric1选择的挂接端口为N_Port42,则N_Port41和N_Port42对应的LUN映射表分别如表八、表九所示:
表八
根据表八,Fabric1中的服务器可以发起对N_Port41的逻辑LUN3的访问,进而实现对Fabric2中的物理LUN21的访问,并在发起访问的过程中建立和维护相应的FCNAT表项。
 逻辑LUN的挂  逻辑LUN  物理LUN  物理LUN所在存  物理LUN发现
  接端口的FCID       储设备的FCID   端口的FCID
  FCID42   4   31   FCID6   FCID44
表九
根据表九,Fabric1中的服务器可以发起对N_Port42的逻辑LUN4的访问,进而实现对Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FCNAT表项。
下面以Fabric1中的服务器1发起一个访问N_Port41的逻辑LUN4的访问过程为例,对FC NAT表项的建立以及FC报文的转发进行说明:
当Fabric1中的服务器1发起一个访问N_Port41的逻辑LUN3的访问时,服务器1向FC NAT设备发送的FC报文中,S_ID为FCID1,D_ID为FCID41,目的LUN为逻辑LUN3,另外,还携带服务器1为该访问分配的OX_ID,假设为5555。当FC NAT设备在N_Port41端口接收到该FC报文后,可以先查找是否存在以FC报文的标识信息对应的FC NAT表项,如果不存在FC报文的标识信息对应的FC NAT表项(首次发起访问的情况下,不存在对应的FC NAT表项),则查找FC报文的目的LUN对应的LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,然后转发修改后的FC报文,如果存在FC报文的标识信息对应的FC NAT表项(非首次发起访问的情况下,FC报文中不再携带目的LUN),则根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,然后转发修改后的FC报文。
假设FC NAT设备在N_Port41端口接收到的FC报文后,确定不存在FC报文的标识信息对应的FC NAT表项,则在N_Port41挂接的所有LUN映射表项中查找逻辑LUN3对应的LUN映射表项,表八中的LUN映射表项即为逻辑LUN3对应的LUN映射表项。 
可以根据表八中LUN映射表项建立FC NAT表项,假设为FC重新分配的OX_ID为6666,则建立的FC NAT表项如表十所示:
表十
可以根据表十中LUN映射表项对FC报文进行修改,将FC报文中的S_ID、D_ID、OX_ID、目的LUN分别替换为FCID43、FCID4、6666、LUN21,然后将修改后的FC报文从FCID43对应的端口:N_Port43转发,并最终到达Fabric2中的存储设备2,存 储设备2对FC报文进行处理和回应,回应的FC报文的S_ID、D_ID、OX_ID分别为FCID4、FCID43、6666,回应的FC报文到达FC NAT设备后,FC NAT设备将回应的FC报文的S_ID、D_ID、OX_ID分别替换为FCID41、FCID1、5555,然后从N_Port41端口转发,最终到达Fabric1中的服务器1。此后,Fabric1中的服务器1访问N_Port41的逻辑LUN3时,均根据表十的第一个FC NAT表项执行FC报文的修改和转发,而Fabric2中的存储设备2接收到FC报文后进行回应时,均根据表十的第二个FC NAT表项执行回应报文的修改和转发。
第四种实施方式、
对图4所示组网,还可以采用另外一种实施方式实现Fabric1、Fabric2、Fabric3之间的互通,该种实施方式下,对于FC NAT设备上连接同一FC Fabric网络的每个端口,该FC Fabric网络中的所有物理LUN均需绑定该端口,例如,在图4中,需要将Fabric1中的LUN11和LUN12均绑定N_Port41,同时将Fabric1中的LUN11和LUN12均绑定N_Port42;将Fabric2中的LUN21绑定N_Port43;将Fabric3中的LUN31绑定N_Port44。另外,FC NAT设备需要为自身的连接FC Fabric网络的各端口申请FCID,这里,假设FC NAT设备为N_Port41、N_Port42、N_Port43、N_Port44申请到的FCID分别为FCID41、FCID42、FCID43、FCID44。
FC NAT设备为自身的连接FC Fabric网络的各端口申请FCID后,就可以在该端口搜索到该端口连接到的FC Fabric网络中所有绑定了该端口的物理LUN,然后为每个物理LUN分配一个逻辑LUN并建立相应的LUN映射表项,将LUN映射表项挂接到对应的挂接端口,对该LUN映射表项来说,FC NAT设备上连接其它所有FC Fabric网络的端口均为该LUN映射表项对应的挂接端口,然后将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。例如,对于在N_Port43搜索到的物理LUN,在为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,LUN映射表项对应的挂接端口包括N_Port41、N_Port42和N_Port44。
本实施方式下,在不同端口搜索到的同一物理LUN,在分配逻辑LUN时,需要分配不同的逻辑LUN,例如,在N_Port41和N_Port42均能搜索到LUN11和LUN12,当在N_Port41搜索到LUN11时,为LUN11分配的逻辑LUN为LUN1,在N_Port41搜索到LUN12时,为LUN12分配的逻辑LUN为LUN5,而在N_Port42搜索到LUN11时,为LUN11分配的逻辑LUN为LUN3,在N_Port42搜索到LUN12时,为LUN12分配的逻辑LUN为LUN6。
在执行上述挂接逻辑LUN映射表项到对应的挂接端口后,FC NAT设备上连接FC Fabric网络的各端口均模拟成了该端口连接的FC Fabric网络中的一个存储设备,该存 储设备的FCID就是该端口的FCID,该存储设备中的物理LUN就是挂接到该端口的所有LUN映射表项中的逻辑LUN,从而使得该端口连接的FC Fabric网络中的服务器可以发起对该存储设备的逻辑LUN的访问。例如,N_Port41模拟成为Fabric1的一个存储设备,N_Port42模拟成Fabric1的另一个存储设备,Fabric1中的服务器1可以发起这两个存储设备的逻辑LUN的访问。
在执行上述挂接LUN映射表项到对应的挂接端口后,N_Port41、N_Port42、N_Port43、N_Port44上均对应一个包含一个或多个LUN映射表项的LUN映射表,其中,N_Port41对应的LUN映射表如表十一所示:
表十一
根据表十一,Fabric1中的服务器可以发起对N_Port41的逻辑LUN3和逻辑LUN4的访问,进而实现对Fabric2中的物理LUN21以及Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
N_Port42对应的LUN映射表如表十二所示:
表十二
根据表十二,Fabric1中的服务器可以发起对N_Port42的逻辑LUN3和逻辑LUN4的访问,进而实现对Fabric2中的物理LUN21以及Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。
从表十一和表十二可以看出,Fabric1中的服务器可以发起对N_Port41的逻辑LUN3和逻辑LUN4的访问,也可以发起对N_Port42的逻辑LUN3和逻辑LUN4的访问,均可以实现对Fabric2中的物理LUN21以及Fabric3中的物理LUN31的访问,并在发起访问的过程中建立和维护相应的FC NAT表项。由此可见,本实施方式下,当FC NAT设备上连接同一FC Fabric网络的端口有多个时,可以通过任一端口访问其它FC Fabric网络中的物理LUN,如果出现端口故障,只要不是所有端口都故障,则就可以通过非故障的端口访问其它FC Fabric网络中的物理LUN。
N_Port43对应的LUN映射表如表十三所示:
 逻辑LUN的挂   逻辑LUN   物理LUN  物理LUN所在存  物理LUN发现
 
接端口的FCID     储设备的FCID 端口的FCID
 FCID43  1  11  FCID2  FCID41
 FCID43  2  12  FCID2  FCID42
 FCID43  4  31  FCID6  FCID44
 FCID43  5  11  FCID2  FCID41
 FCID43  6  12  FCID2  FCID42
表十三
根据表十三,Fabric2中的服务器可以发起对N_Port43的逻辑LUN1或LUN5的访问,实现对Fabric1中的物理LUN11的访问;可以发起对N_Port43的逻辑LUN2或LUN6的访问,实现对Fabric1中的物理LUN12的访问;可以发起对N_Port43的逻辑LUN4的访问,实现对Fabric3中的物理LUN31的访问。在发起访问的过程中可以建立和维护相应的FC NAT表项。
N_Port44对应的LUN映射表如表十四所示:
表十四
根据表十四,Fabric3中的服务器可以发起对N_Port44的逻辑LUN1或LUN5的访问,实现对Fabric1中的物理LUN11的访问;可以发起对N_Port44的逻辑LUN2或LUN6的访问,实现对Fabric1中的物理LUN12的访问;可以发起对N_Port44的逻辑LUN3的访问,实现对Fabric2中的物理LUN21的访问。在发起访问的过程中可以建立和维护相应的FC NAT表项。
由表十三和表十四可以看出,当FC NAT设备上连接同一FC Fabric网络的端口有多个时,FC NAT设备会根据同一物理LUN的发现端口的不同,为该物理LUN分配多个不同的逻辑LUN,从而使得FC NAT设备连接的其它各FC Fabric网络可以通过访问FC NAT设备上连接该其它FC Fabric网络的同一端口的不同LUN,实现对该FC Fabric网络中的同一物理LUN的访问。
下面以Fabric1中的服务器1发起一个访问N_Port41的逻辑LUN3的访问过程为例,对FC NAT表项的建立以及FC报文的转发进行说明:
当Fabric1中的服务器1发起一个访问N_Port41的逻辑LUN3的访问时,服务器1向FC NAT设备发送的FC报文中,S_ID为FCID1,D_ID为FCID41,目的LUN 为逻辑LUN3,另外,还携带服务器1为该访问分配的OX_ID,假设为7777。当FC NAT设备在N_Port41端口接收到该FC报文后,可以先查找是否存在以FC报文的标识信息对应的FC NAT表项,如果不存在FC报文的标识信息对应的FC NAT表项(首次发起访问的情况下,不存在对应的FC NAT表项),则查找FC报文的目的LUN对应的LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,然后转发修改后的FC报文,如果存在FC报文的标识信息对应的FC NAT表项(非首次发起访问的情况下,FC报文中不再携带目的LUN),则根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,然后转发修改后的FC报文。
假设FC NAT设备在N_Port41端口接收到的FC报文后,确定不存在FC报文的标识信息对应的FC NAT表项,则在N_Port41挂接的所有LUN映射表项中查找逻辑LUN3对应的LUN映射表项,表十一中的第一个LUN映射表项即为逻辑LUN3对应的LUN映射表项。 
可以根据表十一中第一个LUN映射表项建立FC NAT表项,假设为FC重新分配的OX_ID为8888,则建立的FC NAT表项如表十五所示:
表十五
可以根据表十一中第一个LUN映射表项对FC报文进行修改,将FC报文中的S_ID、D_ID、OX_ID、目的LUN分别替换为FCID43、FCID4、8888、LUN21,然后将修改后的FC报文从FCID43对应的端口:N_Port43转发,并最终到达Fabric2中的存储设备2,存储设备2对FC报文进行处理和回应,回应的FC报文的S_ID、D_ID、OX_ID分别为FCID4、FCID43、8888,回应的FC报文到达FC NAT设备后,FC NAT设备将回应的FC报文的S_ID、D_ID、OX_ID分别替换为FCID41、FCID1、7777,然后从N_Port41端口转发,最终到达Fabric1中的服务器1。此后,Fabric1中的服务器1访问N_Port41的逻辑LUN3时,均根据表十五的第一个FC NAT表项执行FC报文的修改和转发,而Fabric2中的存储设备2接收到FC报文后进行回应时,均根据表十五的第二个FC NAT表项执行回应报文的修改和转发。
需要说明的是,第三种实施方式和第四种实施方式同样适用于图3所示组网。
上述四种实施方式中,对于某一FC Fabric网络中的某个物理LUN,可以预先设定哪些FC Fabric网络中的哪些服务器允许访问该物理LUN。例如,当采用第四种实 施方式时,在图4所示组网中,假设Fabric网络中还有其它服务器,例如服务器2(服务器2的FCID假设为FCID7),对于Fabric1中的LUN11和LUN12,可以设定允许Fabric2中的服务器1访问LUN11,设定允许访问Fabric2中的服务器2访问LUN12,对于Fabric2中的LUN31,可以设定允许Fabric2中的服务器1及服务器2可以访问LUN31,则N_Port43对应的LUN映射表将由表十三转变为如表十六所示:
表十六
当FC NAT设备连接的多个FC Fabric网络中包括多个分区(Zone)时,需要将FC NAT设备上连接同一FC Fabric网络的各端口加入到该FC Fabric网络的所有Zone中,物理LUN所在存储设备以及允许访问该物理LUN的所有服务器应该位于同一Zone。
上述四种实施方式中,FC NAT设备都需要在自身的连接FC Fabric网络的各端口检测已经在该端口搜索到的物理LUN的访问状态,物理LUN的访问状态包括可访问和不可访问两种,当物理LUN的状态变为不可访问时,FC NAT设备需要将在该端口发现该物理LUN后建立的LUN映射表项删除。例如,在上述第四种实施方式中,当FC NAT设备在N_Port41检测发现物理LUN11不可访问时,需要将表表十三以及表十四中的第一个LUN映射表项删除,同时,FC NAT设备还会在N_Port42检测发现物理LUN11不可访问,进而将表十三以及表十四中的第四个LUN映射表项删除。
上述四种实施方式中,FC NAT设备都需要在自身的连接FC Fabric网络的各端口检测是否有新的物理LUN出现(包括FC Fabric网络中新增的物理LUN,或FC Fabric网络中由不可访问转变为可访问的物理LUN),当FC NAT设备在某一端口发现新的物理LUN时,需要为新发现的物理LUN分配逻辑LUN并建立相应的LUN映射表项,并根据具体实施方式确定LUN映射表项对应的挂接端口,将LUN映射表项挂接到对应的挂接端口。
以上通过四种实施方式对本发明实现FC Fabric网络互通的方法进行了原理性说明,基于上述原理性说明,本发明提供了一种FC Fabric网络互通的方法,下面结合图5进行说明。
图5是本发明实施例实现FC Fabric网络互通的方法流程图,包括以下步骤:
步骤501、FC NAT设备为自身的连接每个FC Fabric网络的各端口申请FCID,在该端口搜索该FC Fabric网络中已绑定该端口的物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的端口;
步骤502、FC NAT设备在自身的连接任一FC Fabric的端口接收到FC报文时,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID。
其中,当FC NAT设备上连接同一FC Fabric网络的端口只有一个时,可以将该FC Fabric网络中的所有物理LUN均绑定该端口。这种情况下,步骤501中,FC NAT设备在自身的连接每个FC Fabric网络的端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:将所述FC NAT设备上连接其它所有FC Fabric网络的端口确定为该LUN映射表项的挂接端口。
当FC NAT设备上连接同一FC Fabric网络的端口的个数为所述FC NAT设备连接的FC Fabric网络的个数减去1时,对其中的每个端口,可以将该FC Fabric网络中的所有物理LUN均绑定该端口,且该端口在FC NAT设备上配置有一关联端口,该关联端口为FC NAT设备上连接其它FC Fabric网络的端口;FC NAT设备上连接同一FCFabric网络的各端口的关联端口连接的FC Fabric网络互不相同。这种情况下,步骤501中,FC NAT设备在自身的连接每个FC Fabric网络的各端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:将该端口的关联端口确定为该LUN映射表项的挂接端口。
当FC NAT设备上连接同一FC Fabric网络的端口的个数为一个或多个,且至少存在一个FC Fabric网络,FC NAT设备上连接该FC Fabric网络的端口的个数为多个时,可以将该FC Fabric网络中的每个物理LUN只绑定其中的一个端口。这种情况下,步骤501中,FC NAT设备在自身的连接每个FC Fabric网络的各端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项 对应的挂接端口的方法为:针对所述FC NAT设备连接的其它各FC Fabric网络,在所述FC NAT设备上连接该其它FC Fabric网络的端口中选择一个端口,将选择的端口确定为该LUN映射表项的挂接端口。
当FC NAT设备上连接同一FC Fabric网络的端口的个数为一个或多个,至少存在一个FC Fabric网络,所述FC NAT设备连接该FC Fabric网络的端口的个数为多个时,还可以对FC NAT设备上连接该FC Fabric网络的每个端口,将该FC Fabric网络中的所有物理LUN均绑定该端口。这种情况下,步骤501中,FC NAT设备在自身的连接每个FC Fabric网络的各端口搜索到物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:针对所述FC NAT设备连接的其它各FC Fabric网络,将所述FC NAT设备上连接该其它FCFabric网络的所有端口均确定为该LUN映射表项的挂接端口。
图5所示本发明实施例中,所述LUN映射表项可以包括如下内容:逻辑LUN的挂接断口的FCID、逻辑LUN、物理LUN、物理LUN所在存储设备的FCID、物理LUN的发现端口的FCID。所述FC NAT表项可以包括表项索引和表项内容两项,其中,表项索引包括S_ID、D_ID、OX_ID;表项内容包括:S_ID、D_ID、OX_ID;
步骤502中,FC NAT设备在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项的方法为:在接收端口挂接的所有LUN映射表项中查找逻辑LUN为FC报文的目的LUN的LUN映射表项;
步骤502中,FC NAT设备在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项前,需要为FC报文重新分配OX_ID;
步骤502中,FC NAT设备在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项的方法为:建立第一个FC NAT表项,将FC报文的S_ID、D_ID、以及OX_ID分别作为第一个FC NAT表项的表项索引中的S_ID、D_ID、OX_ID,将查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、以及为FC报文重新分配的交换ID作为FC NAT表项分别作为该第一个FC NAT表项的表项内容中的S_ID、D_ID、以及OX_ID;建立第二个FC NAT表项,将查找到的LUN映射表项中的物理LUN所在物理设备的FCID、物理LUN的发现端口的FCID、为FC报文重新分配的交换ID分别作为该第二个FC NAT表项的表项索引中的S_ID、D_ID、以及OX_ID,将FC报文的D_ID、S_ID、以及OX_ID分别作为该第二个FC NAT表项的表项索引中的S_ID、D_ID、以及OX_ID;
步骤502中,FC NAT设备在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项修改FC报文的标识信息的方法为:将FC报文的S_ID、D_ID、OX_ID分别替换为查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、为FC报文重新分配的OX_ID。
图5所示本发明实施例中,当FC NAT设备连接的多个FC Fabric网络包括多个Zone时,需要将FC NAT设备上的每个端口加入到该端口连接的FC Fabric网络的所有Zone中。
图5所示本发明实施例中,LUN映射表项还可以包括如下内容:允许访问物理LUN的所有服务器的FCID。
步骤502中,FC NAT设备在接收端口挂接的所有LUN映射表中查找FC报文的目的LUN对应LUN映射表项之后,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文之前,还需要判断查找到的LUN映射表项中允许访问物理LUN的所有服务器的FCID中是否存在FC报文的源ID,如果判断结果为是,则根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文,否则,需要丢弃FC报文。
图5所示本发明实施例中,还可以针对每个FC Fabric网络,检测所述FC NAT设备上连接该FC Fabric网络的端口搜索到的各物理LUN的访问状态,当该物理LUN的访问状态转变为不可访问时,需要在所述FC NAT设备上连接其它每个FC Fabric网络的各端口挂接的所有LUN映射表项中查找物理LUN为该不可访问的物理LUN的LUN映射表项,并删除查找到的LUN映射表项。
图5所示本发明实施例中,还可以针对每个FC Fabric网络,当所述NAT设备在自身的连接该FC Fabric网络的任一端口搜索到的新的物理LUN时,为该物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口(确定LUN映射表项对应的挂接端口的方法由采用的具体的实施方式确定,已在前面进行说明,不再赘述),将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。
本发明还提供了一种实现FC Fabric网络互通的设备:FC NAT设备,该FC NAT设备能够解决FC Fabric网络互通时的兼容性问题。
参见图6,图6是本发明实施例提供的FC NAT设备的结构示意图,该FC NAT设备连接至少两个FC Fabric网络,该FC NAT设备包括:申请单元601、搜索单元602、第一建表单元603、挂接单元604、接收单元605、转发单元606、第二建表单元607; 其中,
申请单元601,用于为所述FC NAT设备的连接每个FC Fabric网络的各端口申请FCID;
搜索单元602,用于申请单元601为所述FC NAT设备的连接每个FC Fabric网络的各端口申请FCID后,在该端口搜索该FC Fabric网络中已绑定该端口的物理LUN;
第一建表单元603,用于搜索单元602在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到该FC Fabric网络中已绑定该端口的物理LUN后,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项;
挂接单元604,用于确定第一建表单元603建立的每个LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的端口;
接收单元605,用于在所述FC NAT设备的连接FC Fabric网络的各端口接收FC报文;
转发单元606,用于接收单元605在所述FC NAT设备的连接任一FC Fabric的端口接收到FC报文后,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,通知第二建表单元607根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID;
第二建表单元607,用于根据转发单元606查找到FC报文的目的LUN对应的LUN映射表项建立FC NAT表项。
上述FC NAT设备中,所述FC NAT设备上连接同一FC Fabric网络的端口只有一个,该FC Fabric网络中的所有物理LUN均绑定该端口;
第一建表单元603为搜索单元602在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到的该FC Fabric网络中已绑定该端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元604在确定该LUN映射表项对应的挂接端口时,用于:将所述FC NAT设备上连接其它所有FC Fabric网络的端口确定为该LUN映射表项的挂接端口。
或者,
所述FC NAT设备上连接同一FC Fabric网络的端口的个数为所述FC NAT设备连 接的FC Fabric网络的个数减去1,对其中的每个端口,该FC Fabric网络中的所有物理LUN均绑定该端口,且该端口在所述FC NAT设备上具有一关联端口,该关联端口为所述FC NAT设备上连接其它FC Fabric网络的端口;所述FC NAT设备上连接同一FC Fabric网络的各端口的关联端口连接的FC Fabric网络互不相同;
第一建表单元603为搜索单元602在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到的该FC Fabric网络中已绑定该端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元604在确定该LUN映射表项对应的挂接端口时,用于:将该端口的关联端口确定为该LUN映射表项的挂接端口。
或者,
所述FC NAT设备上连接同一FC Fabric网络的端口的个数为一个或多个,该FCFabric网络中的每个物理LUN只绑定其中的一个端口;至少存在一个FC Fabric网络,所述FC NAT设备上连接该FC Fabric网络的端口的个数为多个;
第一建表单元603为搜索单元602在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到的该FC Fabric网络中已绑定该端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元604在确定该LUN映射表项对应的挂接端口时,用于:针对所述FC NAT设备连接的其它各FC Fabric网络,在所述FC NAT设备上连接该其它FC Fabric网络的端口中选择一个端口,将选择的端口确定为该LUN映射表项的挂接端口。
或者,
所述FC NAT设备上连接同一FC Fabric网络的端口的个数为一个或多个,对其中的每个端口,该FC Fabric网络中的所有物理LUN均绑定该端口;至少存在一个FCFabric网络,所述FC NAT设备连接该FC Fabric网络的端口的个数为多个;
第一建表单元603为搜索单元602在所述FC NAT设备的连接每个FC Fabric网络的各端口搜索到的该FC Fabric网络中已绑定该端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元604在确定该LUN映射表项对应的挂接端口时,用于:针对所述FC NAT设备连接的其它各FC Fabric网络,将所述FC NAT设备上连接该其它FC Fabric网络的所有端口均确定为该LUN映射表项的挂接端口。
该FC NAT设备还包括配置单元608,用于当所述FC NAT设备连接的多个FCFabric网络包括多个分区Zone时,将FC NAT设备上的每个端口加入到该端口连接的FC Fabric网络的所有Zone中。
上述FC NAT设备中,
所述LUN映射表项包括逻辑LUN、物理LUN、物理LUN所在存储设备的FCID、 物理LUN的发现端口的FCID;
所述FC NAT表项包括表项索引和表项内容,所述表项索引包括源ID、目的ID、交换ID;所述表项内容包括:源ID、目的ID、交换ID;
所述转发单元606在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项时,用于:在接收端口挂接的LUN映射表中查找逻辑LUN为FC报文的目的LUN的LUN映射表项;
所述转发单元606在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项前,进一步用于:为FC报文重新分配交换ID;
所述第二建表单元607在根据转发单元606查找到FC报文的目的LUN对应的LUN映射表项建立FC NAT表项时,用于:建立第一个FC NAT表项,将FC报文的源ID、目的ID、以及交换ID分别作为第一个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、以及为FC报文重新分配的交换ID作为FC NAT表项分别作为该第一个FC NAT表项的表项内容中的源ID、目的ID、交换ID;建立第二个FC NAT表项,将查找到的LUN映射表项中的物理LUN所在物理设备的FCID、物理LUN的发现端口的FCID、为FC报文重新分配的交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将FC报文的目的ID、源ID、以及交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID;
所述转发单元606在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项修改FC报文的标识信息时,用于:将FC报文的源ID、目的ID、交换ID分别替换为查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、为FC报文重新分配的交换ID。
所述LUN映射表项还包括以及允许访问物理LUN的所有服务器的FCID;物理LUN所在存储设备和允许访问该物理LUN的所有服务器位于同一Zone;
所述转发单元606在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项之后,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的端口转发修改后的FC报文之前,进一步用于:如果查找到的LUN映射表项中允许访问物理LUN的所有服务器的FCID中存在FC报文的S_ID,则根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的 端口转发修改后的FC报文,否则,丢弃FC报文。
该FC NAT设备还包括状态检测单元609,用于针对所述FC NAT连接的每个FC Fabric网络,检测所述FC NAT设备上连接该FC Fabric网络的端口搜索到的各物理LUN的访问状态,所述访问状态包括可访问和不可访问,当该物理LUN的访问状态转变为不可访问时,在所述FC NAT设备上连接其它每个FC Fabric网络的各端口挂接的所有LUN映射表项中查找物理LUN为该物理LUN的LUN映射表项,并删除查找到的LUN映射表项。
上述FC NAT设备中,所述搜索单元602,进一步用于针对所述FC NAT设备连接的每个FC Fabric网络,当在所述NAT设备上连接该FC Fabric网络的任一端口搜索到的新的物理LUN时,为该物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1.一种实现FC Fabric网络互通的方法,应用于光纤通道网络地址转换FC NAT设备,其特征在于,所述FC NAT设备通过自身的N_Port端口连接至少两个FC Fabric网络,该方法包括:
所述FC NAT设备为自身的连接每个FC Fabric网络的各N_Port端口申请FCID,在该N_Port端口搜索该FC Fabric网络中已绑定该N_Port端口的物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的N_Port端口;
所述FC NAT设备在自身的连接任一FC Fabric的N_Port端口接收到FC报文时,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID。
2.根据权利要求1所述的实现FC Fabric网络互通的方法,其特征在于,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口只有一个,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口;
所述FC NAT设备在自身的连接每个FC Fabric网络的N_Port端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:将所述FC NAT设备上连接其它所有FC Fabric网络的N_Port端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为所述FC NAT设备连接的FC Fabric网络的个数减去1,对其中的每个N_Port端口,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口,且该N_Port端口在所述FC NAT设备上具有一关联端口,该关联端口为所述FC NAT设备上连接其它FC Fabric网络的N_Port端口;所述FC NAT设备上连接同一FC Fabric网络的各N_Port端口的关联端口连接的FC Fabric网络互不相同;
所述FC NAT设备在自身的连接每个FC Fabric网络的各N_Port端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:将该N_Port端口的关联端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为一个或多个,该FC Fabric网络中的每个物理LUN只绑定其中的一个N_Port端口;至少存在一个FC Fabric网络,所述FC NAT设备上连接该FC Fabric网络的N_Port端口的个数为多个;
所述FC NAT设备在自身的连接每个FC Fabric网络的各N_Port端口搜索物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:针对所述FC NAT设备连接的其它各FC Fabric网络,在所述FC NAT设备上连接该其它FC Fabric网络的N_Port端口中选择一个N_Port端口,将选择的N_Port端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为一个或多个,对其中的每个N_Port端口,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口;至少存在一个FC Fabric网络,所述FC NAT设备连接该FC Fabric网络的N_Port端口的个数为多个;
所述FC NAT设备在自身的连接每个FC Fabric网络的各N_Port端口搜索到物理LUN,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,确定该LUN映射表项对应的挂接端口的方法为:针对所述FC NAT设备连接的其它各FC Fabric网络,将所述FC NAT设备上连接该其它FC Fabric网络的所有N_Port端口均确定为该LUN映射表项的挂接端口。
3.根据权利要求2所述的实现FC Fabric网络互通的方法,其特征在于,
当所述FC NAT设备连接的多个FC Fabric网络包括多个分区Zone时,将FC NAT设备上的每个N_Port端口加入到该N_Port端口连接的FC Fabric网络的所有Zone中。
4.根据权利要求3所述的实现FC Fabric网络互通的方法,其特征在于,
所述LUN映射表项包括逻辑LUN、物理LUN、物理LUN所在存储设备的FCID、物理LUN的发现端口的FCID;
所述FC NAT表项包括表项索引和表项内容,所述表项索引包括源ID、目的ID、交换ID;所述表项内容包括:源ID、目的ID、交换ID;
在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项的方法为:在接收端口挂接的LUN映射表项中查找逻辑LUN为FC报文的目的LUN的LUN映射表项;
在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项前,进一步包括:为FC报文重新分配交换ID;
在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项的方法为:建立第一个FC NAT表项,将FC报文的源ID、目的ID、以及交换ID分别作为第一个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、以及为FC报文重新分配的交换ID作为FC NAT表项分别作为该第一个FC NAT表项的表项内容中的源ID、目的ID、交换ID;建立第二个FC NAT表项,将查找到的LUN映射表项中的物理LUN所在物理设备的FCID、物理LUN的发现端口的FCID、为FC报文重新分配的交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将FC报文的目的ID、源ID、以及交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID;
在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项修改FC报文的标识信息的方法为:将FC报文的源ID、目的ID、交换ID分别替换为查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、为FC报文重新分配的交换ID。
5.根据权利要求4所述的实现FC Fabric网络互通的方法,其特征在于,
所述LUN映射表项还包括允许访问物理LUN的所有服务器的FCID;物理LUN所在存储设备和允许访问该物理LUN的所有服务器位于同一Zone;
所述在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项之后,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文之前,进一步包括:如果查找到的LUN映射表项中允许访问物理LUN的所有服务器的FCID中存在FC报文的源ID,则根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文,否则,丢弃FC报文。
6.根据权利要求2所述的实现FC Fabric网络互通的方法,其特征在于,该方法进一步包括:
针对每个FC Fabric网络,检测所述FC NAT设备上连接该FC Fabric网络的N_Port端口搜索到的各物理LUN的访问状态,所述访问状态包括可访问和不可访问,当该物理LUN的访问状态转变为不可访问时,在所述FC NAT设备上连接其它每个FC Fabric网络的各N_Port端口挂接的所有LUN映射表项中查找物理LUN为该物理LUN的LUN映射表项,并删除查找到的LUN映射表项。
7.根据权利要求2所述的实现FC Fabric网络互通的方法,其特征在于,该方法进一步包括:
针对每个FC Fabric网络,当所述NAT设备在自身的连接该FC Fabric网络的任一N_Port端口搜索到的新的物理LUN时,为该物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。
8.一种光纤通道网络地址转换FC NAT设备,其特征在于,所述FC NAT设备通过自身的N_Port端口连接至少两个FC Fabric网络,该FC NAT设备包括:申请单元、搜索单元、第一建表单元、挂接单元、接收单元、转发单元、第二建表单元;
所述申请单元,用于为所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口申请FCID;
所述搜索单元,用于申请单元为所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口申请FCID后,在该N_Port端口搜索该FC Fabric网络中已绑定该N_Port端口的物理LUN;
所述第一建表单元,用于搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口搜索到该FC Fabric网络中已绑定该N_Port端口的物理LUN后,为每个物理LUN分配逻辑LUN并建立相应的LUN映射表项;
所述挂接单元,用于确定第一建表单元建立的每个LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口,该LUN映射表项对应的挂接端口为所述FC NAT设备上连接其它FC Fabric网络的N_Port端口;
所述接收单元,用于在所述FC NAT设备的连接FC Fabric网络的各N_Port端口接收FC报文;
所述转发单元,用于接收单元在所述FC NAT设备的连接任一FC Fabric的N_Port端口接收到FC报文后,如果不存在FC报文的标识信息对应的FC NAT表项,则在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项,通知第二建表单元根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文,否则,根据FC报文的标识信息对应的FC NAT表项修改FC报文的标识信息,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文;所述报文的标识信息包括:报文的源ID、目的ID及交换ID;
所述第二建表单元,用于根据转发单元查找到FC报文的目的LUN对应的LUN映射表项建立FC NAT表项。
9.根据权利要求8所述的FC NAT设备,其特征在于,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口只有一个,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口;
第一建表单元为搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口搜索到的该FC Fabric网络中已绑定该N_Port端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元在确定该LUN映射表项对应的挂接端口时,用于:将所述FC NAT设备上连接其它所有FC Fabric网络的N_Port端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为所述FC NAT设备连接的FC Fabric网络的个数减去1,对其中的每个N_Port端口,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口,且该N_Port端口在所述FC NAT设备上具有一关联端口,该关联端口为所述FC NAT设备上连接其它FC Fabric网络的N_Port端口;所述FC NAT设备上连接同一FC Fabric网络的各N_Port端口的关联端口连接的FC Fabric网络互不相同;
第一建表单元为搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口搜索到的该FC Fabric网络中已绑定该N_Port端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元在确定该LUN映射表项对应的挂接端口时,用于:将该N_Port端口的关联端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为一个或多个,该FC Fabric网络中的每个物理LUN只绑定其中的一个N_Port端口;至少存在一个FC Fabric网络,所述FC NAT设备上连接该FC Fabric网络的N_Port端口的个数为多个;
第一建表单元为搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口搜索到的该FC Fabric网络中已绑定该N_Port端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元在确定该LUN映射表项对应的挂接端口时,用于:针对所述FC NAT设备连接的其它各FC Fabric网络,在所述FC NAT设备上连接该其它FC Fabric网络的N_Port端口中选择一个N_Port端口,将选择的N_Port端口确定为该LUN映射表项的挂接端口;
或者,
所述FC NAT设备上连接同一FC Fabric网络的N_Port端口的个数为一个或多个,对其中的每个N_Port端口,该FC Fabric网络中的所有物理LUN均绑定该N_Port端口;至少存在一个FC Fabric网络,所述FC NAT设备连接该FC Fabric网络的N_Port端口的个数为多个;
第一建表单元为搜索单元在所述FC NAT设备的连接每个FC Fabric网络的各N_Port端口搜索到的该FC Fabric网络中已绑定该N_Port端口的每个物理LUN分配逻辑LUN并建立相应的LUN映射表项后,所述挂接单元在确定该LUN映射表项对应的挂接端口时,用于:针对所述FC NAT设备连接的其它各FC Fabric网络,将所述FC NAT设备上连接该其它FC Fabric网络的所有N_Port端口均确定为该LUN映射表项的挂接端口。
10.根据权利要求9所述的FC NAT设备,其特征在于,该FC NAT设备还包括配置单元,用于当所述FC NAT设备连接的多个FC Fabric网络包括多个分区Zone时,将FC NAT设备上的每个N_Port端口加入到该N_Port端口连接的FC Fabric网络的所有Zone中。
11.根据权利要求10所述的FC NAT设备,其特征在于,
所述LUN映射表项包括逻辑LUN、物理LUN、物理LUN所在存储设备的FCID、物理LUN的发现端口的FCID;
所述FC NAT表项包括表项索引和表项内容,所述表项索引包括源ID、目的ID、交换ID;所述表项内容包括:源ID、目的ID、交换ID;
所述转发单元在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项时,用于:在接收端口挂接的LUN映射表中查找逻辑LUN为FC报文的目的LUN的LUN映射表项;
所述转发单元在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项建立FC NAT表项前,进一步用于:为FC报文重新分配交换ID;
所述第二建表单元在根据转发单元查找到FC报文的目的LUN对应的LUN映射表项建立FC NAT表项时,用于:建立第一个FC NAT表项,将FC报文的源ID、目的ID、以及交换ID分别作为第一个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、以及为FC报文重新分配的交换ID作为FC NAT表项分别作为该第一个FC NAT表项的表项内容中的源ID、目的ID、交换ID;建立第二个FC NAT表项,将查找到的LUN映射表项中的物理LUN所在物理设备的FCID、物理LUN的发现端口的FCID、为FC报文重新分配的交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID,将FC报文的目的ID、源ID、以及交换ID分别作为该第二个FC NAT表项的表项索引中的源ID、目的ID、交换ID;
所述转发单元在接收端口挂接的所有LUN映射表项中查找到FC报文的目的LUN对应LUN映射表项后,根据查找到的LUN映射表项修改FC报文的标识信息时,用于:将FC报文的源ID、目的ID、交换ID分别替换为查找到的LUN映射表项中的物理LUN的发现端口的FCID、物理LUN所在物理设备的FCID、为FC报文重新分配的交换ID。
12.根据权利要求11所述的FC NAT设备,其特征在于,
所述LUN映射表项还包括允许访问物理LUN的所有服务器的FCID;物理LUN所在存储设备和允许访问该物理LUN的所有服务器位于同一Zone;
所述转发单元在接收端口挂接的所有LUN映射表项中查找FC报文的目的LUN对应LUN映射表项之后,根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文之前,进一步用于:如果查找到的LUN映射表项中允许访问物理LUN的所有服务器的FCID中存在FC报文的源ID,则根据查找到的LUN映射表项建立FC NAT表项并修改FC报文的标识信息和目的LUN,从修改后的FC报文的源ID对应的N_Port端口转发修改后的FC报文,否则,丢弃FC报文。
13.根据权利要求9所述的FC NAT设备,其特征在于,该FC NAT设备还包括状态检测单元,用于针对所述FC NAT连接的每个FC Fabric网络,检测所述FC NAT设备上连接该FC Fabric网络的N_Port端口搜索到的各物理LUN的访问状态,所述访问状态包括可访问和不可访问,当该物理LUN的访问状态转变为不可访问时,在所述FC NAT设备上连接其它每个FC Fabric网络的各N_Port端口挂接的所有LUN映射表项中查找物理LUN为该物理LUN的LUN映射表项,并删除查找到的LUN映射表项。
14.根据权利要求9所述的FC NAT设备,其特征在于,
所述搜索单元,进一步用于针对所述FC NAT设备连接的每个FC Fabric网络,当在所述NAT设备上连接该FC Fabric网络的任一N_Port端口搜索到的新的物理LUN时,为该物理LUN分配逻辑LUN并建立相应的LUN映射表项,确定该LUN映射表项对应的挂接端口,将该LUN映射表项挂接到该LUN映射表项对应的挂接端口。
CN201210506636.4A 2012-11-29 2012-11-29 一种实现FC Fabric网络互通的方法和装置 Active CN102970390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210506636.4A CN102970390B (zh) 2012-11-29 2012-11-29 一种实现FC Fabric网络互通的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210506636.4A CN102970390B (zh) 2012-11-29 2012-11-29 一种实现FC Fabric网络互通的方法和装置

Publications (2)

Publication Number Publication Date
CN102970390A CN102970390A (zh) 2013-03-13
CN102970390B true CN102970390B (zh) 2015-06-10

Family

ID=47800269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210506636.4A Active CN102970390B (zh) 2012-11-29 2012-11-29 一种实现FC Fabric网络互通的方法和装置

Country Status (1)

Country Link
CN (1) CN102970390B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100960B (zh) * 2016-07-06 2020-03-24 新华三技术有限公司 跨存储区域网络Fabric互通的方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101677321A (zh) * 2008-09-16 2010-03-24 株式会社日立制作所 用于存储转移的方法和装置
CN102017542A (zh) * 2008-05-08 2011-04-13 惠普开发有限公司 将光纤通道网络与基于以太网的网络对接的方法
CN102084636A (zh) * 2008-07-01 2011-06-01 国际商业机器公司 存储区域网络配置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707309B2 (en) * 2004-01-29 2010-04-27 Brocade Communication Systems, Inc. Isolation switch for fibre channel fabrics in storage area networks
WO2012032576A1 (en) * 2010-09-09 2012-03-15 Hitachi, Ltd. Computer system control method and computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102017542A (zh) * 2008-05-08 2011-04-13 惠普开发有限公司 将光纤通道网络与基于以太网的网络对接的方法
CN102084636A (zh) * 2008-07-01 2011-06-01 国际商业机器公司 存储区域网络配置
CN101677321A (zh) * 2008-09-16 2010-03-24 株式会社日立制作所 用于存储转移的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Fibre Channel —Inter-Fabric Routing (FC-IFR);INCITS;《American National Standard》;20080803;全文 *
IFR协议综述及实现;王远强等;《中国通信学会第五届学术年会论文集》;20080201;全文 *
博科.博科SAN架构简介:创建一个坚实的企业应用基础.《http://www.brocadechina.com/download/resource/datasheets/brocade_SAN.pdf》.2008, *
存储区域网中N端口的设计和实现;李伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110715;全文 *

Also Published As

Publication number Publication date
CN102970390A (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
CN105262667A (zh) Overlay网络中控制组播传输的方法、装置
CN101459618B (zh) 虚拟机网络的数据包转发方法和装置
CN103997414B (zh) 生成配置信息的方法和网络控制单元
CN104780088A (zh) 一种业务报文的传输方法和设备
US20140177639A1 (en) Routing controlled by subnet managers
WO2012032576A1 (en) Computer system control method and computer system
KR20150091843A (ko) 분산 처리 시스템 및 이의 동작 방법
CN101404619A (zh) 一种实现服务器负载均衡的方法和一种三层交换机
US20180077048A1 (en) Controller, control method and program
CN104168209B (zh) 多接入sdn网络报文转发方法和控制器
KR102059971B1 (ko) 데이터 라우팅 방법 및 장치
CN105281951B (zh) Vsu系统中双主用设备冲突检测方法及网络设备
CN105681198A (zh) 一种业务链处理方法、设备及系统
CN103441932A (zh) 一种主机路由表项生成方法及设备
CN102231682A (zh) 一种堆叠冲突的处理方法和设备
CN103414801A (zh) 一种堆叠系统中媒质访问控制地址同步的方法和设备
CN101369934B (zh) 网络模拟方法及网络模拟系统
CN108540386A (zh) 一种防止业务流中断方法及装置
CN105991783A (zh) 一种媒体接入控制地址学习方法、设备和系统
CN102333000B (zh) 一种基于多链接透明互联网络的邻居维护方法和设备
CN106027396B (zh) 一种路由控制方法、装置和系统
CN105763462A (zh) 一种处理堆叠分裂的方法及交换机
CN102970390B (zh) 一种实现FC Fabric网络互通的方法和装置
CN105306387B (zh) 一种分区方法及设备
CN101534255A (zh) 一种实现特定请求定向处理的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right