在存储区域网络保持通信路径畅通的方法和存储区域网络的利记博彩app

文档序号:7750692阅读:145来源:国知局
专利名称:在存储区域网络保持通信路径畅通的方法和存储区域网络的利记博彩app
技术领域
本发明一般涉及数据存储网络技术,更具体地,涉及一种用于在存储区域网络保持通信路径畅通的方法和存储区域网络。
背景技术
存储区域网络(SAN)是一种高速通信网络或子网络,旨在提供服务器与存储系统之间的数据传输。作为配置网络化存储的一种解决方案,SAN通过专用的光纤交换机建立起与服务器和存储设备之间的耦接,最简单的耦接是连接关系。SAN允许存储设备真正与服务器隔离,使存储成为可由所有服务器共享的资源。SAN中的存储设备为一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列,也叫做存储子系统。SAN允许各个存储子系统无需通过专用的中间服务器即可互相协作。其接口通常有SAS,SATA,SCSI, iSCSI,FICON/ ESC0N,和光纤通道(Fibre Channel)。图1示意性地示出了 SAN的体系结构框图,根据图1,多个主机服务器与磁盘阵列通过光纤交换机耦接,光纤通道耦接是为满足SAN中共享存储环境所需的高带宽主干网 (中间可能存在中继网络等连接器,图1中未示出)。光纤通道已经成为SAN接口的工业标准。其中,主机总线适配卡(Host BuSAdapt0r,HBA卡)是主机服务器内部的I/O通道与存储系统的I/O通道之间的物理连接设备。最常用的服务器内部I/O通道有PCI系列和Sbus, 而HBA卡的作用就是实现数据传输从内部通道协议PCI或Sbus到光纤通道协议之间的转换。主机服务器或者存储服务器插入HBA卡后,就可以与支持光纤通道的磁盘通过光纤通道交换机耦接了。所有通信都是通过主机服务器HBA卡、光纤交换机和存储设备上相应的光纤端口来进行的。主机服务器的端口(N端口)与光纤交换机的端口(F端口)之间,光纤交换机的端口(F端口)与存储设备的端口(N端口)之间,通常都是通过光纤线耦接从而构成物理数据链路。但是光纤通道协议标准,允许一个N端口(N_Port)从光纤网络中获取多个光纤标识(FC ID),从而使得节点与光纤通道交换机之间存在建立多条独立的逻辑数据链路的可能。在SAN中,不同平台的服务器可以对同一个存储设备,也可以是多个存储设备进行访问。SAN使得存储设备不再附属于某个服务器,而是直接连到网络上,形成存储区域网络,从而提高了存储使用的效率。图1中存储子系统的存储控制器是存储设备上控制数据传输和访问,其通常分为前端和后端两个部分。存储控制器的前端通过一个或多个端口用来与主机、光纤交换机、或其他设备通信,而后端则是负责与其管理的磁盘阵列相互通信。一个存储子系统可以有一个或多个存储控制器,以提升性能和可靠性。图1所示的每个主机服务器与磁盘阵列之间都是通过单一物理路径与磁盘阵列耦接,容易出现单点耦接失败的错误。多路径解决方案(Multiple Paths Input/Output, MP 10)通过使用冗余的组件 (适配器、光纤线和交换机等等)在服务器与存储设备之间创建备用的物理传输路径。如果这些组件中的一个或多个发生故障,导致路径无法使用,多路径控制软件可以借助备用路径以保证应用程序仍然能够访问其数据。
图加示出了一个简化的多路径解决方案示意图及其存在的问题,在该解决方案中,主机服务器的HBA卡上端口 1和2,分别与光纤交换机上的端口 5和6相连,光纤交换机上的端口 1和2分别与存储子系统的HBAl卡上的端口 1以及HBA4卡上的端口 2相连。假设主机服务器的HBA卡上的端口 1是和存储子系统HBAl卡上的端口 1相互通信,主机服务器的HBA卡上的端口 2是和存储子系统HBA4卡上的端口 2相互通信(通常,这是通过光纤网络管理中的分区(zone)实现的),主机服务器中包含一个厂家提供的MPIO模块。在主动 /被动(Active/Passive) I/O数据传输过程中,若主要路径(Primary path)a出现了问题, 还存在着主机服务器AHBA卡上的端口 1到光纤交换机的端口 5、端口 1以及到存储子系统 HBAl卡上的端口 1的物理连路,现有的MPIO还可以实现主机服务器A和存储子系统之间的通信,从而实现增强的存储冗余度以及动态的I/O负载平衡。但是,如果不仅主要路径a出现了问题,同时路径b也出现了问题,那么现有的 MPIO模块也没有办法去处理这种情形,从而导致主机服务器A与存储子系统间的通信完全断掉。图2b示出了多路径解决方案存在的问题的另一个简单化的示例,在该方案中,主机服务器HBA的端口 1和端口 2分别与光纤通道网络的端口 5和6相连,并且并且主机只能通过光纤通道网络的端口 1与存储系统的HBAl的端口 1相互通信。如果路径a出现问题,现有的MPIO模块也没有办法去处理这种情形,从而导致主机服务器A与存储子系统间的通信完全断掉。

发明内容
因此,需要一种方法和系统,能够使得在上述情况下,主机服务器与存储子系统之间仍然能够通信,提高SAN的通信冗余度。根据本发明的一个方面,提供了一种存储区域网络,至少包括主机服务器,光纤交换机,存储子系统,其中该光纤交换机分别与该主机服务器以及该存储子系统耦接,该系统还包括拓扑存储器,与该主机服务器、该光纤交换机和该存储子系统分别耦接,用于存储主机服务器与光纤交换机之间以及光纤交换机与存储子系统之间的拓扑耦接关系;其中,存储子系统中还包含存储端口管理模块,用于响应于该存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口 ;从该拓扑存储器获得该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;以及根据上述拓扑耦接关系,将发送到该存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口根据本发明的另一个方面,提供了一种用于在存储区域网络保持通信路径畅通的方法,其中所述存储区域网络至少包括主机服务器、光纤交换机以及存储子系统,该光纤交换机分别与该主机服务器和该存储子系统耦接,该方法包括响应于存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口 ;
获得存储的该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;根据上述拓扑耦接关系,将发送到存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。


通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。图1示意性地示出了 SAN的体系结构框图;图加和2b示出了两个简化的多路径解决方案示意图及其存在的问题;图3示意性地示出了一种光纤通道分区;图4示意性地示出了根据本发明的一个实施例的一种存储区域网络;图5示意性地示出了一种保持存储区域网络通信路径畅通的方法流程;图6示出了图5的步骤S504的一种具体实施方式
;以及图7示出了图5的步骤S504的另一种具体实施方式

具体实施例方式将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。 相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。主机与存储子系统的光纤通信中,传输帧包含着地址标识符,也就是主机发送端口(N端口地址)以及存储子系统的接收端口(N端口)地址。N端口地址在光纤交换机的网络域中是惟一的。设备节点间的数据传输根据N端口地址的。在存储网络的实现中,光纤交换机在初始化过程中为所有光纤交换机端口(F端口)提供自动(动态)地址分配.在主机服务器N端口到光纤交换机的登录过程中,N端口首次获得相应的光纤交换机端口地址。由于两个N端口在进行数据传输之前必须首先相互注册,这个N端口注册允许两个N端口建立一个会话交换定义和服务参数。光纤交换机内部设备与设备之间的连通性和可见性通过光纤通道分区(zoning)定义。通过光纤通道分区,可以使得一台主机的某个端口只和存储设备上的某个或某几个端口互联;同时,同一个端口可以存在不同的分区中以访问不同的设备。每个分区的成员可以是端口的WWN或者光纤交换机上的端口号。一个分区集(zone set),也就是一个分区配置(zoneconfiguration) 包含了一个或多个分区。每个光纤网络可以存在多个分区配置,但是只有一个有效的决定了当前的访问策略。图3示意性地示出了一种光纤通道分区。在图3的例子中,有三个基于WWPN的分区成为分区集,分区1,分区2,分区3,这三个分区可以在同一个有效的分区配置里。分区1定义了主机服务器A的一个端口到两个不同存储系统上的端口,主机端的端口通常也叫做初始端口或者发送端口(initiator),存储设备提供给主机访问的端口通常也叫做目标端口或者接收端口(target),一个初始端口和一个目标端口构成一条路径。
当一个主机服务器登录到光纤服务器时,它会向光纤交换机的名称服务器登记。 光纤通道名称服务器负责光纤交换机所耦接设备的目录信息,在一个复杂多变的环境中维护光纤交换机耦接设备的名称和地址信息。名称服务器包含了所有耦接的设备及其相关属性,比如类型(N或者NL),服务类别(Class ofService),端口地址(Port Identifier),唯一端口名(Port WWN),唯一节点名(Node WffN),FC-4支持类型,设备符号名(Symbolic Port Name)。通过光纤交换机的名称服务器,主机服务器可以查询在光纤网络中的所有设备。名称服务器将仿真成为一个普通N端口回应该设备,名称服务器虽然知道光纤网络中的所有设备,但不会都告诉查询者,而是把主机所属的同一个分区内的设备作为查询结果返回,其他的不在分区内的设备会被名称服务器隐藏起来,主机服务器不会知道这些设备的存在。为了提高SAN的通信冗余度,本发明涉及的一个很重要的技术就是NPIV(N Port ID Virtualization),其最初由IBM和Emulex是现在其大型机上,其后由国际信息技术标准委员会(INCITS)中的Tll光纤通道工作组制定为光纤通道链路服务(FC-LS)标准的一部分。根据该协议,主机端耦接至光纤交换器的连接端口——N端口可以虚拟出数个N_Port ID在同一个物理端口之上。NPIV之所以被制定,一开始是为了虚拟环境所设计,让不同的虚拟机可以对应至不同的N_Port ID,以分隔不同虚拟机与SAN环境的耦接,从而提高网络的弹性和安全性。每个虚拟机通过共享的物理N端口,用不同的WffPN去和光纤网络注册并获取独立的光纤通道地址。不同的光纤网络注册,意味着每个虚拟机可以保证其独立的分区(zoning),安全性和传输管理。在NPIV模式下,N端口可以通过FDISC命令(包含额外的虚拟的节点和端口 WffN 信息)去注册服务器上获取不同的地址从而建立多条独立的虚拟链路。在完成光纤网络注册服务之后,每个N端口(包括虚拟的N端口)通常会继续和网络中每一个要与之通信的 N端口之间执行一次N端口注册,交换通信服务参数。本发明中,NPIV技术首先可以用于改进现有的主机端的MPIO模块,使得现有的 MPIO模块利用NPIV协议实现端口的虚拟化和迁移功能。在图加情形中,在主机服务器A 的端口 2出现相关的物理链路故障时,支持NPIV协议的MPIO模块在主机服务器与端口 2 同一分区的端口 1上虚拟出另外一个端口 3,利用端口 3与存储子系统通信。这样,主要路径(Primary path) a出现了问题,支持NPIV协议的MPIO模块能自动为1/0传输创建一条额外的虚拟路径。根据不同的1/0传输策略,其可以成为原先备用路径的“备用路径”。一旦出现b处的故障导致原先备用路径停止服务,虚拟的“备用路径”可以用来替代并完成I/ 0切换。也就是说,主机端的MPIO模块能够响应于主机服务器的某一端口与光纤交换机的一端口出现耦接问题,在主机服务器上与该某一端口耦接到同一光纤网络的其它端口上虚拟出虚拟某一端口,该虚拟某一端口等同于该某一端口,并利用该主机上的虚拟某一端口与光纤交换机的另外一端口通信。另外,即使采用改进的MPIO方案,仍然不能解决背景技术中所述的诸如图加中的 a和b路径同时发生问题,以及图2b的路径a发生问题造成的主机服务器和存储子系统之间无法通信的问题。本发明通过分析,造成该问题的原因在于虽然主机服务器端MPIO模块可以控制多条路径进行数据传输,但是随着物理链路的故障出现,有效冗余路径的个数必然降低。特别是在存储子系统端,如果某个端口关联的直接物理链路出现故障,比如在该端口与光纤交换机之间的物理线路发生问题,存储子系统不会就该路径的失效作出主动性的调整,以配合主机提供额外的路径。因此,传统的MPIO方案有待进一步改进,以提升整个 SAN环境里的主机服务器和存储子系统之间通信的冗余度和负载均衡。现有技术中,存储子系统中包含着一些监视程序,通过这些程序的接口能够获得存储子系统和与其耦接的光纤交换机之间的耦接是否出现某些类问题,或者,也可以在存储子系统中单独开发一个监视模块,用于监视该存储子系统和与其耦接的光纤交换机之间的耦接是否出现了问题。优选地,该监视模块还可以监视各存储端口 I/O传输和状态的统计fe息。本发明中,进一步地,在存储子系统中引入了一个存储端口管理模块,其可以利用 NPIV技术实现存储子系统端口的虚拟化和端口的迁移。图4示意性地示出了根据本发明的一个实施例的一种存储区域网络,包括主机服务器301,光纤交换机302,存储子系统303,其中光纤交换机302分别与主机服务器301以及存储子系统303相连,该系统还包括拓扑存储器304,与主机服务器301、光线交换机302和存储子系统303分别相连, 用于存储主机服务器301与光纤交换机302之间以及光纤交换机302与存储子系统303之间的拓扑耦接关系;其中,存储子系统中303还包含存储端口管理模块305,响应于该存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口,从拓扑存储器获得该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系,根据上述拓扑耦接关系,将发送到该存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。在上述技术方案中,拓扑耦接关系优选地还包括光纤交换机的分区。可以采用多种方式表达拓扑耦接关系,可以使用链表或者数组等数据结构表示,采用文件方式或者使用数据据库存储。拓扑存储器304可以是单独的存储设备,例如磁盘、磁带、光盘等,也可以是在光纤交换机302内部的存储模块,还可以是存储子系统中的存储模块,等等。在一种实施方式中,拓扑存储器304置于光纤交换机302的名称服务器和/或管理服务器中,名称服务器中本来已经存储的光纤交换机耦接设备的名称和地址信息,就是一种主机服务器301与光纤交换机302之间以及光纤交换机302与存储子系统303之间的拓扑耦接关系。但是名称服务器本身存储的拓扑耦接关系在出现耦接故障时,相关的设备信息就会清除,耦接关系也随之丢失,但是可以在名称服务器中定义另外的拓扑服务器存储这些相关信息,从而成为拓扑存储器304。另外,管理服务器可以提供超出分区限定范围的更全面的耦接关系的信息,也可以创建拓扑存储器304。同时管理服务器还可以针对具体的耦接设备查询相关的属性。在一种实施方式中,支持NPIV标准的主机服务器上的MPIO模块进一步包括主机注册模块,用于将主机服务器端口信息注册到光纤网络中,以建立相应的拓扑关系,优选地,还注册虚拟出的端口信息;优选地,该MPIO模块还能够根据定义的迁移策略,在主机服务器端口上虚拟出的另外代替经历物理链路失效的端口,并与光纤交换机建立虚拟的逻辑链接。在另外一种实施方式中,存储子系统也支持NPIV协议,能够将存储子系统上的与所述光纤交换机耦接的第一端口虚拟出与该第一端口等同的虚拟第一端口,并且支持NPIV 协议的存储子系统也包含存储子系统注册模块,用于将在该存储子系统的所述与所述光纤交换机耦接的第一端口以及所述虚拟第一端口注册成为与光纤交换机耦接的设备,以建立相应的拓扑关系。这样,在光纤交换机的名称服务器和/或管理服务器中,就存储了整个存储区域网络的拓扑耦接关系。当网络的拓扑耦接关系发生变化时,主机注册模块以及存储子系统注册模块需要及时向光纤交换机的相关服务器更新。另外,拓扑存储器会提供响应于查询在光纤网络中的所有设备,返回同一个分区内主机或存储服务器某个/些端口的接在一个实施方式中,存储端口管理模块根据上述耦接关系,将发送到存储子系统中耦接路径出现问题的端口的消息改发到存储子系统中与该光纤交换机耦接的另一个端口,具体包括首先存储端口管理模块根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口 ;然后根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个第三端口 ;再指示拓扑存储器将所述第二端口和所述第三端口分为一个分区;最后指示MPIO模块更新路径信息,即将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口(N端口)修改为所述第三端口。在另外一个实施方式中,存储端口管理模块根据上述耦接关系,将发送到存储子系统中耦接路径出现问题的端口的消息改发到存储子系统中与该光纤交换机耦接的另一个端口,具体包括首先存储端口管理模块根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口 ;然后根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个第三端口 ;根据拓扑结构获得受影响的主机上其他与第二端口耦接到同一个光纤网络的端口,为第四端口 ;再指示拓扑存储器根据第四端口耦接关系,确定其关联的存储子系统端的其他端口,为第五端口 ;再指示拓扑存储器将所述的第二端口和所述的第三端口建立一个分区;最后指示MPIO模块将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口(N端口)修改为所述第三端口。在优选的实施方式中,没有通信故障的第三端口可能有多个,一种实施方式为,任选一个满足要求的端口为上述第三端口或者选择流量最小的端口作为上述第三端口 ;在另外一种实时方式中,支持NPIV的存储子系统为了保持现有主机,存储子系统以及光纤网络上定义的配置,还可以在该选择的端口(满足要求的任意一个端口或者流量最小的端口) 上虚拟出端口,将该虚拟出的端口作为第三端口。在同一个发明构思下,本发明还公开了一种用于在存储区域网络保持通信路径畅通的方法,流程如图5所示,其中所述存储区域网络至少包括主机服务器、光纤交换机以及存储子系统,该光纤交换机分别与该主机服务器和该存储子系统耦接,该方法包括在步骤S501,存储主机服务器与光纤交换机之间以及光纤交换机与存储子系统之间的拓扑耦接关系;这是一个优选的步骤,因为拓扑耦接关系可能已经事先存储,或者使用其它方式放置在相关设备之中,因此,存储步骤不是必要的。在步骤S502,响应于存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口, 该端口为第一端口 ;在步骤S503,获得存储的该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;在步骤S504,根据上述拓扑耦接关系,将发送到存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。在一种优选的实施方式中,主机服务器中还可以响应于主机服务器的某一端口与光纤交换机的某一端口出现耦接问题,在主机服务器与该某一端口耦接到同一光纤网络的其它端口上虚拟出虚拟某一端口,该虚拟某一端口等同于该某一端口 ;并且利用该主机上虚拟某一端口与光纤交换机的另一端口通信。监视有问题的端口一方面可以结合现有技术,另一方面,也可以直接监视该存储子系统和与其耦接的光纤交换机之间的耦接是否出现了问题。该步骤只需在步骤S502之前即可。在一种实施方式中,存储子系统支持NPIV协议,则图5所示的方法还包括步骤将存储子系统上的与所述光纤交换机耦接的第一端口虚拟出与该第一端口等同的虚拟第一端口 ;以及将在该存储子系统的所述与所述光纤交换机耦接的第一端口以及所述虚拟第一端口注册成为与光纤交换机耦接的设备。这两个步骤在步骤S502之后,并且虚拟第一端口为所述另一个端口。图6示出了图5的步骤S504的一种具体实施方式
,根据图6,在步骤S601,根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口 ;在步骤S602,根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口 ;在步骤S603,指示拓扑存储器将所述第二端口和所述第三端口分为一个分区;在步骤S604,指示MPIO模块将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口修改为所述第三端口。这里,如果根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的端口有多个,可以选择任意一个端口或者流量最小的端口作为该第三端口,也可以根据其它的策略选择一个第三端口。图7示出了图5的步骤S504的另一种具体实施方式
,根据图7,在步骤S701,根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口 ;在步骤S702,根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个第三端口 ;在步骤S703,根据拓扑结构获得受影响的主机上其它与第二端口耦接到同一个光纤网络的端口,为第四端口 ;在步骤S704,指示拓扑存储器根据第四端口耦接关系,确定其关联的存储子系统端的其它端口,为第五端口 ;在步骤S705,指示拓扑存储器将所述的第二端口和所述的第三端口(但优选排除第五端口)建立一个分区;在步骤S706,指示MPIO模块将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口(N端口)修改为所述第三端口。在一种实施方式中,如果根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的端口有多个,可以选择任意一个端口或者流量最小的端口作为该第三端在另一种实施方式中,存储子系统也可以支持NPIV协议,如果根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的端口有多个,选择任意一个端口或者流量最小的端口作为选择端口,并且在该选择的端口虚拟出一个虚拟第一端口,将该虚拟第一端口作为第三端口。虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、 电线、光缆、RF等等。用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk, C++之类,还包括常规的过程式程序设计语言——诸如” C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能 /操作的装置(means)。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means) 的制造品,
12
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
权利要求
1.一种存储区域网络,至少包括主机服务器,光纤交换机,存储子系统,其中该光纤交换机分别与该主机服务器以及该存储子系统耦接,该系统还包括拓扑存储器,与该主机服务器、该光纤交换机和该存储子系统分别耦接,用于存储主机服务器与光纤交换机之间以及光纤交换机与存储子系统之间的拓扑耦接关系;其中,存储子系统中还包含存储端口管理模块,用于响应于该存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口 ;从该拓扑存储器获得该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;以及根据上述拓扑耦接关系,将发送到该存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。
2.根据权利要求1所述的系统,其中该拓扑存储器位于该光纤交换机的名称服务器和 /或管理服务器中。
3.根据权利要求1或2所述的系统,其中主机服务器中还包括支持NPIV协议的MPIO 模块,该模块能够响应于主机服务器的某一端口与光纤交换机的一端口出现耦接问题,在主机服务器上与该某一端口耦接到同一光纤网络的其它端口上虚拟出虚拟某一端口,该虚拟某一端口等同于该某一端口,并利用该主机上的虚拟某一端口与光纤交换机的另外一端口通信。
4.根据权利要求1所述的系统,其中存储子系统支持NPIV协议,能够将存储子系统上的与所述光纤交换机耦接的第一端口虚拟出与该第一端口等同的虚拟第一端口,并且该存储端口管理模块中包括存储子系统注册模块,用于将在该存储子系统的所述与所述光纤交换机耦接的第一端口以及所述虚拟第一端口注册成为与光纤交换机耦接的设备,其中,所述虚拟第一端口为该另一个端口。
5.根据权利要求1-4之一所述的系统,该存储子系统中还包括监视模块,用于监视该存储子系统和与其耦接的光纤交换机之间的耦接是否出现了问题。
6.根据权利要求1所述的系统,其中存储端口管理模块根据上述拓扑耦接关系,将发送到存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口是通过如下步骤执行的根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口;根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口;指示拓扑存储器将所述第二端口和所述第三端口分为一个分区;指示MPIO模块将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口修改为所述第三端口。
7.根据权利要求6所述的系统,其中根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口包括选择以下之一的端口作为该第三端 Π 任意一个端口;流量最小的端口。
8.根据权利要求7所述的系统,其中存储子系统支持NPIV协议,并且所述根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口包括选择任意一个端口或者流量最小的端口作为选择端口,并且在该选择的端口虚拟出另外一个虚拟端口,将该虚拟端口作为第三端口。
9.一种用于在存储区域网络保持通信路径畅通的方法,其中所述存储区域网络至少包括主机服务器、光纤交换机以及存储子系统,该光纤交换机分别与该主机服务器和该存储子系统耦接,该方法包括响应于存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口 ;获得存储的该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;根据上述拓扑耦接关系,将发送到存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。
10.根据权利要求9所述的方法,其中还包括存储该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系。
11.根据权利要求9所述的方法,其中在主机服务器中执行响应于主机服务器的某一端口与光纤交换机的某一端口出现耦接问题,在主机服务器与该某一端口耦接到同一光纤网络的其它端口上虚拟出虚拟某一端口,该虚拟某一端口等同于该某一端口;利用该主机上虚拟某一端口与光纤交换机的另一端口通信。
12.根据权利要求9所述的方法,该方法还包括将存储子系统上的与所述光纤交换机耦接的第一端口虚拟出与该第一端口等同的虚拟第一端口;将在该存储子系统的所述与所述光纤交换机耦接的第一端口以及所述虚拟第一端口注册成为与光纤交换机耦接的设备;其中,所述虚拟第一端口为该另一个端口。
13.根据权利要求9-12之一所述的方法,该方法还包括监视该存储子系统和与其耦接的光纤交换机之间的耦接是否出现了问题。
14.根据权利要求9所述的方法,其中根据上述拓扑耦接关系,将发送到存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口包括根据拓扑耦接关系中该第一端口所在的分区,获得通信受影响的主机及主机端口,该主机端口为第二端口;根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口;指示拓扑存储器将所述第二端口和所述第三端口分为一个分区;指示MPIO模块将通信受影响的主机中发送到存储子系统的第一端口的传输帧的存储子系统接收端口修改为所述第三端口。
15.根据权利要求14所述的方法,其中根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口包括选择以下之一的端口作为该第三端□任意一个端口; 流量最小的端口。
16.根据权利要求14所述的方法,其中根据拓扑耦接关系获得存储子系统中与光纤交换机耦接的没有通信故障的一个端口作为第三端口包括选择任意一个端口或者流量最小的端口,并且在该被选择的端口虚拟出虚拟第一端口,将该虚拟第一端口作为第三端口。
全文摘要
本发明公开了一种用于在存储区域网络保持通信路径畅通的方法和存储区域网络,该存储区域网络至少包括主机服务器,光纤交换机,存储子系统,该系统还包括拓扑存储器,与该主机服务器、该光纤交换机和该存储子系统分别耦接,用于存储主机服务器与光纤交换机之间以及光纤交换机与存储子系统之间的拓扑耦接关系;其中,存储子系统中还包含存储端口管理模块,用于响应于该存储子系统与耦接的光纤交换机之间的耦接路径出现问题,获得出现问题的存储子系统上的端口,该端口为第一端口;从拓扑存储器获得该主机服务器与该光纤交换机之间以及该光纤交换机与该存储子系统之间的拓扑耦接关系;以及根据上述拓扑耦接关系,将发送到该存储子系统的第一端口的消息改发到该存储子系统中与该光纤交换机耦接的另一个端口。
文档编号H04L29/08GK102263807SQ20101019236
公开日2011年11月30日 申请日期2010年5月31日 优先权日2010年5月31日
发明者杨戍, 虞东海, 陈雷 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1