首页> 中国专利> 通过虚拟光纤交换机管理存储设备的系统方法

通过虚拟光纤交换机管理存储设备的系统方法

摘要

通过虚拟光纤交换机管理存储设备的系统方法。设备的第一端口与交换机设备内定义的第一虚拟交换机的第一交换机端口连接,并且该设备的第二端口与交换机设备内定义的第二虚拟交换机的第二交换机端口连接。通过该设备可以识别存储系统的与第二虚拟交换机相连的目标端口的目标万维网端口名称。在第一注册过程中,基于所述目标万维网端口名称向第一虚拟交换机注册设备的第一端口。在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息。基于所述注册信息确定服务器的始发器端口的始发器万维网端口名称。基于始发器端口的始发器万维网端口名称识别存储系统中的与始发器端口相关联的存储卷。

著录项

  • 公开/公告号CN105827549A

    专利类型发明专利

  • 公开/公告日2016-08-03

    原文格式PDF

  • 申请/专利权人 联琛辉信息科技(南京)有限公司;

    申请/专利号CN201610246450.8

  • 发明设计人 林伟东;林伟光;

    申请日2016-04-20

  • 分类号

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人柏尚春

  • 地址 211161 江苏省南京市江宁滨江开发区飞鹰路

  • 入库时间 2023-06-19 00:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-05

    授权

    授权

  • 2016-08-31

    实质审查的生效 IPC(主分类):H04L12/931 申请日:20160420

    实质审查的生效

  • 2016-08-03

    公开

    公开

说明书

技术领域

本说明书总体上涉及用于存储和管理数据的系统及方法,更具体地,涉及用于通过位于虚拟光纤通道交换机之间的路径中的设备识别所存储的数据的系统及方法。

背景技术

电子数据的存储以及更普通地电子数据的管理变得越来越重要。随着互联网特别是云计算的发展,对数据存储容量以及对所存储的数据进行高效管理的方法的要求越来越高。目前,存在许多不同类型的存储设备和存储系统用于存储数据,包括,磁盘驱动器、磁带驱动器、光盘、独立磁盘冗余阵列(RAID)、基于光纤通道的存储区域网络(SAN)等。

在许多企业级存储系统中,为了执行所期待的一个或更多个任务,将数据管理服务添加至现有的存储系统是有用的。例如,在某些存储系统中添加如下功能是有用的:拷贝数据、执行数据图像的快照、对数据进行备份、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。通常期待的是能够安装用于执行这样的服务的任何附加功能,而不会对存储系统的操作造成任何中断。

发明内容

根据一种实施例,提供了一种用于获取与网络中存储的数据相关的信息的方法。该网络包括主机实体、交换机以及存储系统。网络中的具有第一端口的第一设备接收网络中的第二设备的第二端口的标识符。第一设备的第一端口在与交换机进行通信期间,冒充第二设备的第二端口。第一设备接收用于识别网络中的第三设备的第三端口的信息,所示第三端口被分区到第二设备的第二端口。第一设备至少基于所述信息识别存储系统中存储的、可以通过主机实体访问的数据。

在一种实施例中,网络是基于光纤通道的存储区域网络,以及交换机是光纤通道交换机。

在一种实施例中,所述标识符被添加至第一设备的第一端口。例如,该标识符可以是万维网端口维持。第一设备的第一端口可以向交换机发送包括标识符的请求。

在一种实施例中,第二设备包括存储系统,并且第三设备包括主机实体。第一设备的第一端口向交换机进行了注册。第一设备接收来自主机实体的关于注册第三端口的请求,该请求包括第三端口的万维网端口名称。第三端口的万维网名称被添加至第一设备的第四端口,并且,第一设备在与存储系统进行第二通信期间,冒充主机实体的第三端口以识别存储系统中存储的、主机实体可以访问的数据。

在另一种实施例中,第二设备包括主机实体,并且第三设备包括存储系统。第一设备接收来自主机实体的关于注册第二端口的请求,该请求包括第二端口的万维网端口名称。第二端口的万维网名称被添加至第一设备的第五端口。第一设备向交换机发送关于用于识别被分区到第二端口的一个或更多个设备的信息的请求,该请求包括第二端口的万维网名称。

在另一种实施例中,第一设备位于交换机与第二交换机之间的路径中。

根据另一种实施例,提供了一种用于确定与网络中存储的数据相关的方法。通过位于网络中的存储系统和交换机之间的路径中的设备从存储系统接收与存储系统的第一端口相关联的第一标识符。该设备在与交换机进行第一通信期间,使用第一标识符来冒充存储系统的第一端口。该设备从与交换机相连的主机服务器接收关于注册该主机服务器的第二端口的请求,该请求包括与第二端口相关联的第二标识符。该设备在与存储系统进行第二通信期间,使用第二标识符冒充主机服务器的第二端口,并且从存储系统接收用于识别存储系统中存储的并且可以通过主机服务器的第二端口访问的数据的信息。

在另一种实施例中,第一标识符被添加至设备的第三端口,并且该设备经由第三端口向交换机发送包括第一标识符的请求。第二标识符被添加至设备的第四端口,并且该设备向存储系统发送关于用于识别存储系统中存储的并且可以通过主机服务器的第二端口访问的数据的信息的请求。

根据另一种实施例,提供了一种用于确定与网络中所存储的数据相关的信息的方法。在注册过程中,位于交换机的交换机端口与主机实体的始发器端口之间的路径中的设备识别始发器端口的始发器万维网端口名称。该始发器万维网端口名称被添加至设备的第一设备端口。该设备向交换机发送关于用于识别与始发器万维网端口名称相关联的端口的信息的请求,并且从交换机接收存储系统的、与始发器端口相关联的目标端口的目标万维网端口名称。设备基于目标万维网端口名称和始发器万维网端口名称识别存储系统中的与始发器端口相关联的存储卷。

在一种实施例中,注册过程包括通过始发器端口向设备注册。例如,注册过程可以包括光纤通道登录过程。

在一种实施例中,目标万维网端口名称被添加至设备的第二设备端口。始发器万维网端口名称可以被分配给第一设备端口。

在一种实施例中,设备从交换机接收存储系统的、被分区到始发器端口的目标端口的目标万维网端口名称。设备或交换机可以访问简单名称服务器表,该简单名称服务器表针对交换机的一个或更多个端口中的每个端口识别相应的万维网端口名称。

在一种实施例中,设备向存储系统发送包括始发器万维网端口名称的REPORTLUN命令,并且,响应于该REPORTLUN命令,从存储系统接收用于识别始发器万维网端口名称能够访问的存储卷的信息。

在另一种实施例中,设备可以向存储系统发送与始发器万维网端口名称能够访问的存储卷相关的SCSI查询,并且,响应于该SCSI查询,可以接收表示存储卷的全球唯一标识符的信息。设备基于全球唯一标识符确定与始发器万维网端口名称相关联的两个存储卷是否相同。

在一种实施例中,设备针对所识别的存储卷提供服务。

根据另一种实施例,提供了一种用于提供数据管理服务的方法。通过位于始发器端口与交换机的交换机端口之间的路径中的设备来确定主机实体的始发器端口的标识符。基于该标识符识别存储系统所存储的、始发器端口能够访问的数据,并且针对所识别的数据提供数据管理服务。

根据另一种实施例,提供了一种用于提供数据管理服务的方法。设备的第一端口与交换机设备内定义的第一虚拟交换机的第一交换机端口连接,并且该设备的第二端口与交换机设备内定义的第二虚拟交换机的第二交换机端口连接。通过所述设备识别存储系统的、与第二虚拟交换机连接的目标端口的目标万维网端口名称。在第一注册过程中,基于该目标万维网端口名称向第一虚拟交换机注册设备的第一端口。在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息。基于该注册信息确定服务器的始发器端口的始发器万维网端口名称。基于所述始发器端口的始发器万维网端口名称来识别存储系统中的与始发器端口相关联的存储卷。

在一种实施例中,目标万维网端口名称被分配给设备的第一端口。

在另一种实施例中,第二注册过程包括通过始发器端口经由第一端口向设备注册。

在另一种实施例中,在第二注册过程中,对与服务器的被分区到目标端口的始发器端口相关联的交换机端口标识符进行接收。

在另一种实施例中,包括始发器万维网端口名称的REPORTLUN命令被发送至存储系统。响应于该REPORTLUN命令,可以从存储系统接收用于识别始发器万维网端口名称能够访问的存储卷的信息。

在另一种实施例中,与始发器万维网端口名称能够访问的存储卷相关的SCSI查询被发送至存储系统。作为该SCSI查询的响应,表示存储卷的全球唯一标识符的信息被接收。基于该全球唯一标识符做出与始发器万维网端口名称相关联的两个存储卷是否相同的确定。

在另一种实施例中,交换机设备是光纤通道交换机。

在另一种实施例中,针对所识别的存储卷执行数据管理服务,其中,数据管理服务包括下列项之一:拷贝数据、执行数据图像的快照、对数据进行备份、复制数据以及执行数据迁移。

在另一种实施例中,服务器与第一虚拟交换机连接。

在另一种实施例中,交换机设备中定义有第一虚拟交换机和第二虚拟交换机。

根据另一种实施例,设备位于交换机设备中定义的第一虚拟交换机与交换机设备中定义的第二虚拟交换机之间的路径中。该设备包括第一端口、用于存储计算机程序指令的存储设备以及处理器。处理器被配置成执行计算机程序指令,当该计算机程序指令被执行时,其使得处理器执行如下操作,包括:识别存储系统的与第二虚拟交换机连接的目标端口的目标万维网端口名称;在第一注册过程中,基于该目标万维网端口名称向第一虚拟交换机注册设备的第一端口;在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息;基于该注册信息确定服务器的始发器端口的始发器万维网端口名称;以及基于所述始发器端口的始发器万维网端口名称识别存储系统中的与始发器端口相关联的存储卷。

对于本领域的普通技术人员而言,通过参考下面的具体描述和附图本发明的这些优点和其他优点将变得明显。

附图说明

图1示出了根据一种实施例的可以用于提供数据存储服务和数据管理服务的通信系统;

图2示出了根据一种实施例的基于光纤通道区域网络(SAN)的部件;

图3示出了根据一种实施例的服务器的功能部件;

图4示出了根据一种实施例的存储系统的功能部件;

图5示出了根据一种实施例的光纤通道交换机的功能部件;

图6示出了根据一种实施例的简单名称服务器表的示例;

图7示出了根据一种实施例的可以在光纤通道交换机内建立的分区配置的示例;

图8示出了根据一种实施例的拦截器装置的功能部件;

图9A示出了根据一种实施例的、图2中的基于光纤通道的SAN在光纤通道交换机与存储系统之间的链路被移除之后的图解;

图9B示出了根据一种实施例的、图2中的基于光纤通道的SAN在光纤通道交换机与存储系统之间插入了拦截器设备之后的图解;

图10是根据一种实施例的用于与网络中的部件进行通信的方法的流程图;

图11示出了根据一种实施例的、可以用于提供数据存储服务和数据管理服务的通信系统;

图12是根据一种实施例的用于提供数据管理服务的方法的流程图;

图13示出了根据另一种实施例的拦截器装置的功能部件;

图14A示出了图2中的基于光纤通道的SAN在光纤通道交换机与主机实体之间的链路被移除之后的图解;

图14B示出了根据一种实施例的、图2中的基于光纤通道的SAN在光纤通道交换机与主机实体之间插入了拦截器装置之后的图解;

图15是根据一种实施例的用于确定与网络中所存储的数据相关的信息的方法的流程图;

图16是根据另一种实施例的用于提供数据管理服务的方法的流程图;

图17示出了根据一种实施例基于光纤通道的SAN,其中,在第一光纤通道交换机与第二光纤通道交换机之间的路径中插入了拦截器装置;

图18示出了根据另一种实施例的用于获取网络中所存储的信息的方法的流程图;

图19示出了可以用于执行本发明的某些实施例的示例性计算机;

图20A示出了根据另一种实施例的基于光纤通道的SAN;

图20B示出了根据另一种实施例的基于光纤通道的SAN;

图21A示出了根据另一种实施例的基于光纤通道的SAN;

图21B示出了根据另一种实施例的基于光纤通道的SAN,该基于光纤通道的SAN包括交换机设备内的虚拟交换机;

图21C示出了根据另一种实施例的基于光纤通道的SAN,该基于光纤通道的SAN包括交换机设备内的虚拟交换机;以及

图22示出了根据一种实施例的用于提供数据管理服务的方法的流程图。

具体实施方式

根据多种实施例,提供了用于提供数据存储服务和数据管理服务的方法和装置。根据本文所描述的实施例,可以将设备或装置插入到网络中所选择的位置。例如,可以将装置插入到交换机与存储系统之间的路径中。可替代地,可以将装置插入到主机实体与交换机之间的路径中。可替代地,可以将装置插入到第一交换机与第二交换机之间的路径中。可替代地,可以将装置插入到交换机设备内的第一虚拟交换机与交换机设备内的第二虚拟交换机之间的路径中。在其他实施例中,可以将装置插入到网络内的不同位置。装置获取用于识别网络中所选择的多个设备的端口的信息,并且使用所获取的信息来识别网络中的存储系统中的、可以通过所选择的主机实体进行访问的数据。可替代地,可以将与网络中所选择的多个设备端口相关的标识符信息手动地输入到装置中以便于进行识别端口和/或设备的处理。

根据一种实施例,网络中具有第一端口的第一设备接收网络中的第二设备的第二端口的标识符。第二端口的标识符(例如,来自其他设备)可以通过第一设备自动地接收,或者可以手动地输入到第一设备中。该网络包括主机实体、交换机以及存储系统。第一设备的第一端口在与交换机进行通信期间,冒充第二设备的第二端口。第一设备接收用于识别网络中的第三设备的第三端口的信息,该第三端口被分区到第二设备的第二端口。第一设备至少基于该信息识别存储系统中存储的、主机实体可以访问的数据。

在另一种实施例中,拦截器设备被插入到网络中的交换机的交换机端口与存储系统的目标端口之间的路径中。在一种实施例中,拦截器设备被插入到存储区域网络(SAN)中。拦截器设备冒充存储区域网络中的所选择的部件,以获得关于存储系统中所存储的存储配置和数据的信息。具体地,在第一注册过程中,通过设备识别目标端口的目标万维网端口名称,并且基于该目标万维网端口名称向交换机注册设备的上游端口。在第二注册过程中,接收用于识别主机实体的被分区到目标端口的始发器端口的始发器万维网端口名称的注册信息。注册信息可以从一个或更多个始发器端口处接收。基于该注册信息可以确定始发器端口的始发器万维网端口名称。针对主机实体的一个或更多个始发器端口中的每一个始发器端口,基于各个始发器端口的始发器万维网端口名称可以识别存储系统中的与各个始发器端口相关联的一个或更多个存储卷。通过这种方式,拦截器设备对主机实体能够访问的一个或更多个存储卷进行识别。

在另一种实施例中,在注册过程中,位于交换机的交换机端口与主机实体的始发器端口之间的路径中的拦截器设备对始发器端口的始发器万维网端口名称进行识别。可以自动地或手动地执行该注册过程。始发器万维网端口名称被添加至拦截器设备的第一设备端口。拦截器设备向交换机发送关于用于识别与始发器端口相关联的端口的信息的请求。拦截器设备接收存储系统的与始发器端口相关联的目标端口的目标万维网端口名称。该目标万维网端口名称被添加至拦截器设备的第二设备端口。

有利地,在将拦截器设备插入到网络中之后,本文所描述的方法、系统及装置使得主机实体与存储系统之间能够透明或几乎透明地传输命令和其他数据业务。该特征为对主机实体与存储系统之间的I/O命令和其他数据业务流进行拦截、分析、重定向和/或重处理提供了机会和可能性。

在一种实施例中,拦截器设备还可以基于目标万维网端口名称和始发器万维网端口名称来识别存储系统中的、主机实体的始发器端口可以访问的存储卷。

在识别了主机实体可以访问的储存卷之后,拦截器设备可以针对卷内所存储的数据提供附加的数据管理服务。例如,拦截器设备可以拷贝数据、执行数据的快照、对数据进行备份、复制数据、执行数据迁移操作等。

在本文中,术语“冒充”用于表示第一设备或第一端口在与第三设备或第三端口进行通信期间,该第一设备或第一端口通过采用与这些设备或这些端口相关联的硬件和/或软件提供或接受的任意装置来使用或冒用诸如第二设备或第二端口的万维网端口名称的标识符。

图1示出了根据一种实施例的可以用于提供数据存储和数据管理服务的通信系统100。通信系统100包括第一网络105、一个或更多个客户端160-A、160-B等,以及一个或更多个服务器135-A、135-B等。通信系统100还包括第二网络115和存储系统180。尽管图1中仅示出了两个客户端160,但是在其他实施例中,通信系统100可以包括两个以上或少于两个客户端。类似地,尽管图1中仅示出了两个服务器135,但是在其他实施例中,通信系统100可以包括两个以上或少于两个服务器。

为了方便起见,本文中的术语“客户端160”用于指代客户端160-A、160-B等中的任何一个客户端。相应地,本文中任何涉及“客户端160”的讨论同样适用于客户端160-A、160-B等中的每个客户端。类似地,本文中的术语“服务器135”用于指代服务器135-A、135-B等中的任何一个客户端。相应地,本文中任何涉及“服务器135”的讨论同样适用于服务器135-A、135-B等中的每个客户端。

存储系统180存储数据。例如,存储系统180可以存储任何类型的数据,包括但不限于文件、电子表格、图像、音频文件、源代码文件等。存储系统180可以时常接收来自其他设备的关于存储特定数据的请求,并且作为响应对该特定数据进行存储。例如,存储系统180可以对接收自服务器135的数据进行存储。存储系统180还可以时常接收来自其他设备的关于访问所存储的数据的请求,并且,作为响应,向发请求的设备提供所请求的数据,或者提供关于所请求的数据的访问权。存储系统180在提供关于数据的访问权之前,对该发请求的设备是否被授权对所请求的数据进行访问进行验证。存储系统180与网络115连接。

例如,网络115可以包括多个不同类型网络中的一个或更多个,诸如,基于光纤通道的存储区域网络(SAN)、基于iSCSI的网络、局域网(LAN)、广域网(WAN)或无线网络。也可以使用其他网络。

服务器135时常接收来自客户端160的关于所存储的数据的请求,与存储系统180进行通信以检索所请求的数据,以及向发请求的客户端提供所请求的数据。服务器135与网络115连接并且经由网络115与存储系统180通信。服务器135还与网络105连接并且经由网络105与客户端160通信。例如,服务器135可以是个人计算机、工作站、大型计算机、服务器计算机等。在一些实施例中,服务器或两个或更多个服务器的群集可以被称为“主机实体”。可替代地,主机实体通常被称为主机服务器。

在图1的示例性实施例中,例如,网络105可以包括多个不同类型的网络中的一个或更多个,诸如,内联网、局域网(LAN)、广域网(WAN)或无线网络。也可以使用其他网络。可替代地,网络105可以包括不同类型网络的组合。

客户端160可以是能够经由网络105进行通信的任意计算机或其他设备。例如,客户端160可以是但不限于:个人计算机、膝上计算机、平板装置、服务器计算机、大型计算机、工作站、无线设备(诸如,蜂窝电话、个人数字助理等)。例如,当客户端160的用户请求对网页、所存储的文件、所存储的电子邮件、所存储的与账号相关的数据等进行访问时,客户端160可以向服务器135发送关于所存储的数据的请求。

在一种实施例中,服务器135可以包括网页服务器,该网页服务器维护网址并且提供对一个或更多个与网址相关联的网页的访问。更特别地,服务器135可以向客户端160提供一个或更多个基于云的服务,该基于云的服务包括基于云的存储服务,该基于云的存储服务使得客户端160能够经由互联网远程且透明地存储数据,并且经由互联访问所存储的数据。

在其他实施例中,服务器135可以提供其他类型的服务。例如,服务器135可以包括提供对所存储的文件进行访问的文件服务器、提供对所存储的电子邮件进行访问的电子邮件服务器等。

在一种示例性实施例中,网络115是基于光纤通道的存储区域网络(SAN)。图2示出了根据一种实施例的基于光纤通道的存储区域网络(SAN)115的部件。基于光纤通道的存储区域网络(SAN)115包括光纤通道交换机225。服务器135-A通过链路271和272与光纤通道(FC)交换机225连接。服务器135-B通过链路273和274与FC交换机225连接。FC交换机225通过链路281和282与存储系统180连接。在其他实施例中,基于光纤通道的SAN115可以具有不同类型的拓扑结构,包括但不限于:点对点拓扑结构、仲裁环路拓扑结构、交换结构拓扑结构或其他拓扑结构。

基于光纤通道的SAN115内的某些设备可以包括一个或更多个端口,端口是能够经由网络115主动地进行通信的实体。本文中,位于服务器135上的端口通常表示始发器端口。本文中,位于存储系统180上的端口通常表示目标端口。本文中,位于FC交换机225上的端口通常表示交换机端口。在图2的示例性实施例中,服务器135-A包括始发器端口I-1和I-2,而服务器135-B包括始发器端口I-3和I-4。存储系统180包括目标端口T-1和T-2。FC交换机225包括端口P-1、P-2、P-3、P-4、P-5以及P-6。服务器135、存储系统180和FC交换机225可以包括相对于图2所述的端口更多或更少的端口。

经由链路在基于光纤通道的SAN内传输数据。在该示例性实施例中,链路271将(服务器135-A的)始发器端口I-1连接至FC交换机225的端口P-1。链路272将(服务器135-A的)始发器端口I-2连接至FC交换机225的端口P-2。链路273将(服务器135-B的)始发器端口I-3连接至FC交换机225的端口P-3。链路274将(服务器135-B的)始发器端口I-4连接至FC交换机225的端口P-4。链路281将FC交换机225的P-5端口连接至存储系统180的目标端口T-1。链路281将FC交换机225的P-6端口连接至存储系统180的目标端口T-2。

在一种实施例中,基于光纤通道的SAN115的部件之间的通信是根据光纤通道协议(FCP)进行的。例如,服务器135、FC交换机225和存储系统180可以经由网络115发送SCSI命令。

图3示出了根据一种实施例的服务器135的功能部件。出于示例性目的,图3示出了服务器135-A的部件;然而,图3和以下讨论同样适用于通信系统100中的任何服务器。服务器135-A包括服务管理器325、存储设备存储器375和始发器端口I-1和I-2。服务器135-A可以包括两个以上或少于两个始发器端口。

服务管理器325对服务器135-A内的多个部件的动作动作进行控制。服务管理器325是可以通过软件、硬件或者软件与硬件的组合实现的功能过程。服务器135-A的多个部件使用存储设备375来存储数据。在图3的示例性实施例中,始发器端口I-1和I-2被实现在位于服务器135-A中的主机总线适配器362中。服务器135-A可以包括多个主机总线适配器。在其他实施例中,始发器端口I-1和I-2可以被实现在服务器135-A的不同部件中。服务器135-A可以包括图3中尚未示出的部件。

图4示出了根据一种实施例的存储系统180的功能部件。存储系统180包括存储管理器410、存储器475和存储设备468。存储管理器410对存储系统180的多个部件的操作进行控制。存储管理器410可以包括使用多种数据存储技术中的一种或更多种技术来存储数据的功能。例如,存储管理器410可以使用虚拟化方法、使用多种RAID配置等来存储数据。存储管理器410是可以通过软件、硬件或者软件和硬件的组合来实现的功能过程。存储系统180的多个部件可以使用存储器475来存储数据。存储系统180还包括目标端口T-1和T-2。在一种实施例中,目标端口T-1和T-2可以在一个或更多个主机总线适配器中实现。在一种实施例中,存储管理器410和一个或更多个目标端口可以被实现为称之为存储控制器的子系统。存储系统180可以包括图4中尚未示出的部件。

存储设备468包括一个或更多个能够存储数据的存储设备(未示出)。存储设备468可以包括一个或更多个块级存储设备、一个或更多个文件级存储设备,和/或其他类型的存储设备。例如,存储设备468可以包括但不限于:一个或更多个磁盘驱动器、光盘、磁带驱动器等。存储设备468可以包括独立磁盘冗余阵列(RAID)或多个RAID。存储设备468可以本地存储设备和/或分布式存储设备。也可以使用其他类型的存储设备。

存储系统180中所存储的数据可以被组织到逻辑单元号(LUN)中,LUN还称为卷。在图2的示例性实施例中,存储设备468包括多个卷(包括卷491和卷492)。LUN或卷是逻辑单元,从而可以包括多个存储设备中分布的数据。

图5示出了根据一种实施例的FC交换机225的功能部件。FC交换机225包括交换机管理器525和存储器575。交换机管理器525对FC交换机225内的多个部件的动作进行控制。交换机管理器525是可以通过软件、硬件或者软件和硬件的组合来实现的功能过程。FC交换机225的多个部件可以使用存储器575来存储控制数据。FC交换机还包括交换机端口P-1、P-2、P-3、P-4、P-5以及P-6。在一种实施例中,可以使用一个或更多个主机总线适配器来实现端口P-1、P-2、P-3、P-4、P-5以及P-6。FC交换机225可以包括图5中尚未示出的部件。

交换机管理器525时常将在FC交换机225的第一交换机端口处接收的I/O命令指向FC交换机225的第二交换机端口。

当基于光纤通道的SAN115内的设备上的端口与FC交换机225连接时,该端口以公知的注册过程或登录过程向FC交换机225注册或登录。设备的制造商为每个光纤通道端口分配了被称之为万维网端口名称(WWPN)的唯一标识符。每个WWPN是唯一的64位数字。因此,每个始发器端口I-1、I-2、I-3以及I-4都具有各自的WWPN。FC交换机225上的端口P-1至P-6中的每个端口都具有各自的WWPN。存储系统180的目标端口T-1和T-2中的每个端口都具有各自的WWPN。

为了方便起见,将本文中的始发器端口的万维网端口名称称为始发器万维网端口名称,以及将本文中的目标端口的万维网端口名称称为目标万维网端口名称。然而,如上面所讨论的,每个万维网端口名称(不论其是与始发器端口相关联还是与目标端口相关联)都是唯一的64位数字。为了方便起见,本文使用了术语始发器万维网端口名称和目标万维网端口名称,但是这些数据并不反映不同类型的万维网端口名称,也不是反映万维网端口名称自身的任何特性,而是将与始发器端口相关联的万维网端口名称和与目标端口相关联的万维网端口名称区分开。

FC交换机225对用于存储关于基于光纤的SAN115内的多个端口的信息的简单名称服务器表进行维护。图6示出了根据一种实施例的简单名称服务器表的示例。简单名称服务器表650包括列625和列629,其中列625用于存储始发器端口或目标端口的万维网端口名称,以及列629用于存储FC交换机225的与始发器端口或目标端口连接的端口的标识符。参照记录602,被分配给始发器端口I-1的第一万维网端口名称WWPN-1与FC交换机225上的端口P-1连接。记录604表示WWPN-2(被分配给始发器端口I-2)与FC交换机225上的端口P-2连接。记录606表示WWPN-3(被分配给始发器端口I-3)与FC交换机225上的端口P-3连接。记录614表示WWPN-5(被分配给目标端口I-1)与FC交换机225上的端口P-5连接。

如图5所述,简单名称服务器表650存储在FC交换机225的存储器575中。服务器135和存储系统180时常被准许访问简单名称服务器表650。

当服务器135的始发器端口或存储系统180的目标端口与FC交换机225上的端口连接时,始发器端口或目标端口向FC交换机225发送注册请求(也称为光纤通道登录请求)。作为响应,简单名称服务器表650被更新以记录发请求的端口以及FC交换机225上对应的端口的WWPN。当始发器端口或目标端口与FC交换机225断开连接时,简单名称服务器表650被更新以反映这种变化。

I/O命令

服务器135时常生成输入/输出(I/O)命令并且将该输入/输出(I/O)命令经由FC交换机225发送至存储系统180,该输入/输出(I/O)命令用于请求存储系统180将数据存储在指定的存储卷中。I/O命令涉及特定存储卷,由服务器135的特定始发器端口发起,并且目的在于所期望的存储系统180的目标端口。除了其他数据以外,I/O命令可以包括:(1)交换机225上的、对应于服务器135的发起始发器端口的端口(即,与发起始发器端口连接的端口)的标识符;(2)交换机225的对应于所期望的存储系统180的目标端口的端口(即,与所期望的目标端口连接的端口)的标识符;以及(3)与该I/O命令相关的特定卷的标识符。

LUN掩蔽

通常期望的是,将对特定存储卷的访问限制或局限于单个服务器或被定义为单个主机实体的一个或更多个服务器的群集。因此,根据一种实施例,存储系统180内维护的特定卷可以被分配给所选择的服务器的所有端口(并且不分配给任何其他服务器的任何端口)。在另一种实施例中,对特定存储卷的访问可以限制于特定主机(可以包括多个服务器)。因此,存储卷可以被分配给与主机实体相关联的每个服务器的所有端口。具体地,卷被分配给与各个始发器端口相关联的一个或更多个WWPN。通过存储系统180来维护表示将存储卷分配给多个始发器WWPN的分配信息。存储系统180通过使用称之为“LUN掩蔽”的方法根据所述分配对存储卷的访问进行授权,下面描述了用于执行LUN掩蔽的技术的示例。

在该示例性实施例中,如图4所示,服务器135-A被授权对卷-1(491)的访问(而服务器135-B或任意其他服务器没有被授权)。因此,卷-1(491)被分配给服务器135-A的始发器端口I-1的WWPN和始发器端口I-2的WWPN。

因此,在LUN掩蔽技术的示例中,当存储系统180的存储管理器410接收到指定卷-1(491)的I/O命令时,存储管理器410从该I/O命令中检索可以用于确定发起始发器端口的WWPN的信息。如果存储卷被指定给该特定WWPN,则存储管理器410提供对该存储卷的访问权。例如,如果I/O命令指定了卷-1并且在始发器端口I-1处发起,则存储系统180验证卷-1被分配给始发器端口I-1的WWPN,并且授权对卷-1的访问。如果该卷不是被分配给发起WWPN,则存储管理器410拒绝I/O命令,否定对该卷的访问。

分区

通过使用称之为分区的方法,可以按照一个或更多个预定策略对FC交换机225的端口之间的内部路径进行配置。例如,FC交换机225可以被配置成确保交换机225的第一端口仅被链接或分区到交换机225的特定的第二端口。可替代地,FC交换机225可以被配置成确保FC交换机225的特定的第一端口被分区到FC交换机的两个或更多个端口。图7示出了根据一种实施例可以在FC交换机225内建立的分区配置的示例。在图2的示例性实施例中,端口P-1经由内部路径771被分区到端口P5,端口P-2经由内部路径772被分区到端口P-5并且经由内部路径773被分区到端口P-6,端口P-3经由内部路径774被分区到端口P-6,以及端口P-4经由内部路径775被分区到端口P-6。也可以使用不同于图7所示的其他分区布置。根据一种公知为硬分区的分区方法,基于交换机端口建立分区。根据该硬分区方法,基于物理连接可以将第一端口分区到网络中的第二端口。

在一种称之为软分区的分区方法中,可以通过基于各自的万维网端口名称对服务器135的始发器端口与存储系统180的目标端口之间的关系的方式来在FC交换机225内建立分区配置。尽管多个端口之间存在物理连接,服务器135的始发器端口仍然可以被分区到存储系统180的目标端口。根据该软分区方法,第一万维网端口名称可以被分区到第二万维网端口名称,而无需考虑任何物理连接。

在示例性实施例(参考图1和图7),服务器135-A的始发器端口I-1可以仅被分区到存储系统180的目标端口T-1,具体地,经由链路271从始发器端口I-1到FC交换机225的端口P-1,然后经由内部路径771到FC交换机225的端口P-5,然后到存储系统180的目标端口T-1。因此,服务器135-A的始发器端口I-1只能将数据发送至存储系统180的目标端口T-1,并且只能从存储系统180的目标端口T-1接收数据。应当注意的是,尽管在该示例中,始发器端口I-1与FC交换机225的端口P-1和P-5连接,但是使用基于不是物理端口的多个端口的WWPN通过使用软分区方法可以将始发器端口I-1分区到任何其他交换机端口。

特定端口具有相关联的区域,该区域是根据网络中被分区到特定端口的一组端口进行定义的。

在该示例性实施例中,服务器135-A的始发器端口I-2被分区到存储系统180的两个目标端口。具体地,始发器端口I-2通过第一路径被分区到目标端口T-1,该第一路径为:经由链路272从始发器端口I-2到FC交换机的端口P-2,然后经由内部路径772内部地到FC交换机225的端口P-5,然后经由链路281到存储系统180的目标端口T-1。始发器端口I-2还可以通过第二路径被分区到目标端口T-2,该第二路径为:经由链路272从始发器端口I-2到FC交换机的端口P-2,然后经由内部路径773内部地到FC交换机225的端口P-6,然后经由链路282到存储系统180的目标端口T-2。因此,服务器135-A的始发器端口I-2可以将数据发送至存储系统180的目标端口T-1和T-2,并且可以从存储系统180的目标端口T-1和T-2接收数据。如上所讨论的,尽管多个端口之间存在物理连接,但是使用软分区方法基于多个端口的WWPN仍然能够改变分区配置。

多路径功能

在一种实施例中,服务器135-A包括如下功能:确定通过FC交换机225内的特定分区配置所限定的路径之间的关系、存储系统180内的LUN掩蔽,以及存储系统180内维护的多个卷。例如,参考图3,服务器135-A的服务管理器325可以包括多路径功能。可替代地,可以通过驻留在服务器135-A上的单独的软件应用程序来实现这样的功能。这样的软件应用程序通常被称为多路径软件应用程序。

在该示例性实施例中,服务管理器325使用多路径功能来检查(基于FC交换机225内建立的任何内部分区以及存储系统180中建立的任何LUN掩蔽)服务器135-A与存储系统180之间的所有可获得的路径并且识别经由每个相应的路径可以访问的每个存储卷。因此,服务管理器325确定始发器端口I-1被分区到存储系统180的仅一个目标端口T-1。服务管理器325还确定这个特定路径使得能够对一个特定存储卷进行访问。此外,服务管理器325还确定始发器端口I-2被分区到存储系统180的两个端口T-1和T-2。服务管理器325还确定这些路径中的每条路径使得能够对存储卷进行访问。可以基于与服务器135的各个始发器端口相关联的万维网端口名称并且基于LUN掩蔽执行所述确定过程。

服务管理器325所获得的关于每个对应的始发器端口可访问哪些卷的信息可能是模糊的并且不能指定这些始发器端口能够访问多少唯一的卷。

服务管理器325使用多路径功能来协调可访问的存储卷以确定实际上始发器端口I-1和I-2可访问的唯一的存储卷的数量。在该示例性实施例中,服务管理器325检查服务器135-A与存储系统180之间的所定义的三条路径中的每条路径并且确定所有的这三条路径使得能够访问同一个卷-1(491),而不是三个不同的存储卷。

通过使用其他方面的多路径功能,服务管理器325根据需要在服务器135-A与存储系统180之间从第一路径至第二路径进行重路由业务,以确保关于特定存储卷的持续通信。例如,如果服务管理器325检测到FC交换机225与存储系统180之间的链路281上的数据流发生中断,从而中断了与卷-1(491)相关的通信,服务管理器325可以将与卷-1(491)相关的所有通信重定向至使得能够对卷-1(491)进行访问的其他可获得的路径(诸如,利用链路282的来源于始发器端口I-2的路经)。

拦截器装置

在许多企业级存储系统中,将数据管理服务添加到现有的存储系统是有用的。例如,添加如下功能通常是有用的:拷贝数据,执行数据图像的快照,对数据进行备份,复制数据,执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。优选地,添加这样的功能而不造成对存储系统的操作的任何中断。

一种解决方案是将功能添加至服务器或主机实体。例如,可以将专业的驱动器(例如,软件应用程序)安装在服务器中以将发送至存储系统的I/O命令拦截。然而,出于许多原因,该解决方案是不利的。将软件安装到服务器上产生了这样的风险:所安装的应用程序发生任何问题都有可能使服务器变慢或者甚至造成服务器崩溃。这种方法的另一个问题在于,必须创建适合于各种服务器上所使用的操作系统平台的不同软件。创建用于不同服务器的不同驱动器效率不高并且是不可取的。

发明人已经确定出一种解决方案,该解决方案包括:用于将设备或装置插入到包括主机实体和存储系统的基于光纤通道的网络中的系统及方法,该设备或装置具有如下功能:透明地拦截所有的I/O命令,并且针对存储系统中所存储的数据提供数据管理服务。发明人还确定出一种解决方案,该解决方案包括用于透明地执行这样的设备或装置的插入的系统及方法,而不会中断存储系统的操作,也不会要求任何系统停机。

根据多种实施例,将设备或装置插入到网络中所选择的位置。在一种实施例中,将装置插入到存储系统与光纤通道交换机之间的路径中。在另一种实施例中,将装置插入到主机实体与光纤通道交换机之间的路径中。在另一种实施例中,将装置插入到第一光纤通道交换机与第二光纤通道交换机之间的路径中。在其他实施例中,可以使用其他布置。

存储设备侧拦截器

在一种实施例中,网络中位于存储系统与交换机之间的设备接收与存储系统的第一端口相关联的第一标识符。该设备在与交换机进行第一通信期间,使用该第一标识符冒充存储系统的第一端口。设备从与交换机相连的主机服务器接收关于注册主机服务器的第二端口的请求。该请求包括与第二端口相关联的第二标识符。该设备在与存储系统进行第二通信期间,使用第二标识符冒充主机服务器的第二标端口,并且从存储系统接收用于识别数据的信息,该数据存储在存储系统中并且可以通过主机服务器的第二端口进行访问。

因此,在示例性实施例中,将拦截器装置插入到FC交换机225的所选择的端口与所存储系统180的所选择的目标端口之间的路径中。拦截器装置确定存储系统180的所选择的目标端口的WWPN,确定服务器或主机实体的被分区到存储系统180的所选择的目标端口的每个始发器端口的WWPN,以及识别存储设备中被分别分配给服务器或主机实体各自的WWPN的所有存储卷。

图8示出了根据一种实施例的拦截器装置890的功能部件。拦截器装置890包括拦截器处理810、存储器815以及数据管理服务848。拦截器处理810控制拦截器装置890的各个部件的操作。拦截器处理810是可以通过软件、硬件或者软件和硬件的组合实现的功能处理。拦截器装置890的各个部件可以使用存储器815来存储数据。拦截器装置890还包括拦截器端口846和847。可以使用一个或更多个主机总线适配器来实现拦截器端口846和847。

在一种实施例中,拦截器装置890包括计算机。也可以使用其他类型的处理装置。

可以通过使用多种方法中的任意一种来将拦截器装置890插入到FC交换机225的所选择的端口与存储系统180的目标端口之间。例如,在一种示例性实施例中,如图9A所示,FC交换机225的端口P-5与存储系统180的目标端口T-1之间的链路281被移除。

服务器135中的多路径功能确保链路281的移除不会对关于存储系统180中维护的任意卷的数据流造成中断。例如,服务器135的服务管理器325可以到检测链路281的移除并且确定始发器端口I-1不再与存储设备180进行通信。服务管理器325可以使用多路径功能来确定与卷-1相关的任何I/O命令可以从始发器端口I-1(由于链路281的移除,始发器端口I-1不再与存储设备180进行通信)重新定向至始发器端口I-2,始发器端口I-2还能够访问卷-1并且可以通过其他可获得的路径与存储系统180进行通信。

在示例性实施例中,以下列方式插入拦截器装置890。参照图9B,拦截器装置890的拦截器端口846通过链路981与FC交换机225的端口P-5连接,并且拦截器端口847通过链路982与存储系统180的目标端口T-1连接。

在其他实施例中,其他设备可以插入到例如,拦截器装置890与FC交换机225之间,或者拦截器装置890与存储系统180之间。

为了获得关于存储系统180中所存储的数据的信息,拦截器装置890现在与基于光纤通道的SAN115的部件通信。图10是根据一种实施例的用于与网络的部件通信的方法的流程图。在步骤1010处,通过位于交换机的交换机端口与存储系统的目标端口之间的路径中的设备识别存储系统的目标端口的目标万维网端口名称。在示例性实施例中,当存储系统180的目标端口T-1与拦截器装置890的拦截器端口847连接时,拦截器装置890向存储系统180的目标端口T-1发出关于注册的请求(诸如,光纤通道登录),并且作为响应,获得目标端口的WWPN。

在步骤1020处,在第一注册过程或光纤通道登录过程中,基于目标万维网端口名称向交换机注册设备的上游端口。在示例性实施例中,(上游)拦截器端口846使用目标端口T-1的WWPN来冒充目标端口T-1并且从FC交换机225获得信息。具体地,拦截器装置890通过来自(上游)拦截器端口846发送向FC交换机225注册的请求。注册的请求包括目标端口T-1的目标万维网端口名称(并且可以还包括对于拦截器端口846唯一的第二万维网端口名称)。FC交换机225接收该注册的请求并且基于目标端口T-1的目标万维网端口名称对拦截器端口846进行注册。另外地,FC交换机225可以基于对于拦截器端口846唯一的第二万维网端口名称对拦截器端口846进行注册。

在步骤1030处,在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息。在示例性实施例中,从始发器端口接收到的注册信息包括用于识别始发器端口的万维网名称的信息。在另一种实施例中,注册信息可以包括与始发器端口相关联的其他类型的标识符,诸如,端口号。从始发器端口接收到的注册信息还可以包括用于识别与始发器端口连接的交换机端口的信息。

因此,在第二注册过程中,当拦截器端口846使用目标端口T-1的万维网端口名称向FC交换机225注册时,任何服务器135的被分区到目标端口T-1的所有始发器端口向拦截器端口846注册。在第二注册过程期间,每个始发器端口发送用于识别各自的万维网端口名称的注册信息。因此,始发器端口I-1和I-2(被分到目标端口T-1)中的每个始发器端口都向拦截器端口846注册并且向拦截器端口846提供用于指定所述每个始发器端口的信息。具体地,在注册信息中,始发器端口I-1提供了该始发器端口I-1的万维网端口名称(WWPN-1),并且始发器端口I-2提供了该始发器端口I-2的万维网端口名称(WWPN-2)。在始发器端口I-1的注册信息中,还可以包括用于识别与该始发器端口I-1连接的交换机端口P-1的交换机端口标识符。在始发器端口I-2的注册信息中,还可以包括用于识别与该始发器端口I-2连接的交换机端口P-2的交换机端口标识符。

在步骤1040处,基于该注册信息确定服务器(或主机实体)的始发器端口的始发器万维网端口名称。因此,拦截器装置890根据所接收的注册信息获得服务器135-A的每个始发器端口的万维网端口名称。具体地,拦截器装置890的拦截器处理810确定WWPN-1是始发器端口I-1的万维网端口名称并且WWPN-2是始发器端口I-2的万维网名称。通过这种方式,拦截器装置890确定服务器135-A的被分区到存储系统180的目标端口T-1的每个始发器端口的始发器万维网端口名称。

在一种可替代实施例中,接收自始发器端口的注册信息不包括始发器端口的万维网端口名称,但是包括用于识别与始发器端口连接的交换机端口的交换机端口标识符。例如,始发器端口I-1提供表示该始发器端口I-1与交换机端口P-1连接的注册信息,并且始发器端口I-2提供表示该始发器端口I-2与交换机端口P-2连接的注册信息。因此,拦截器装置890访问并检查简单名称服务器表650并且针对所接收到的每个交换机端口标识符识别相应的始发器万维网名称。具体地,拦截器装置890的拦截器处理810查阅简单名称服务器表650并且确定WWPN-1与交换器端口标识符P-1相关联(因此,与FC交换机225的端口P-1链接)并且WWPN-2与交换机端口标识符P-2相关联(因此,与FC交换机225的端口P-2链接)。

在另一种实施例中,如步骤1020所示,拦截器装置890可以冒充目标端口T-1并且从(上游)拦截器端口846发送关于向FC交换机225注册的请求(该请求包括目标端口T-1的目标万维网端口名称)。作为响应,FC交换机225访问简单名称服务器表650并且向拦截器装置890提供用于指定将服务器135-A的一个或更多个始发器端口分区到目标端口T-1的信息。

在步骤1050处,基于始发器端口的始发器万维网端口名称识别存储系统中的与始发器端口相关联一个或更多个存储卷。在该示例性实施例中,拦截器装置890现在冒充服务器135的每个始发器端口以从存储系统180获得信息。具体地,拦截器装置890的拦截器处理810使用标准过程来将被分区到目标端口T-1的始发器端口的始发器万维网端口名称添加至拦截器装置890的(下游)拦截器端口847。因此,拦截器处理810将WWPN-1和WWPN-2添加至拦截器端口847。在将始发器万维网端口名称添加至拦截器端口847之后,拦截器处理810可以通过下述方式从存储系统180中获取用于识别每个相应的始发器万维网端口名称能够访问的一个或更多个卷的信息。

针对目前与拦截器装置890的端口847相关联的每个始发器万维网端口名称,拦截器处理810向存储系统180发送关于用于指定相应的WWPN以及请求用于识别始发器WWPN能够访问的卷的信息的命令。例如,拦截器处理810可以根据SCSI协议发送REPORTLUN命令。存储系统180接收该命令,并且,作为响应,发送表示所指定的始发器WWPN能够访问的一个或更多个卷的信息。因此,在该示例性实施例中,拦截器处理810向存储系统180发送用于指定WWPN-1的REPORTLUN命令。作为响应,存储系统180向拦截器装置890发送用于表示WWPN-1能够访问卷-1(491)的信息。拦截器装置810还向存储系统180发送用于指定WWPN-2的REPORTLUN命令。作为响应,存储系统180将WWPN-2能够访问卷-1(491)的信息告知拦截器装置890。在其他实施例中,拦截器装置890可以使用与始发器端口相关联的不同类型的标识符(诸如,端口号)来冒充始发器端口并且确定用于识别始发器端口可以访问数据的信息。

如上面所讨论的,在一些实施例中,从存储系统180接收到的关于每个相应的始发器万维网端口名称可访问的哪些卷的信息可能是模糊的并且无法指定多少个唯一的卷可以由这些始发器万维网端口名称进行访问。结果是,拦截器装置890可以对来自存储系统180的表示实际上存储多个存储卷的信息进行解释。因此,拦截器装置890可以协调接收自存储系统180的信息已确定所识别的存储卷是否唯一,或者所识别的存储卷中的两个或更多个存储卷是否相同从而存在冗余。

因此,在一种实施例中,拦截器处理810向每个所识别的卷发送用于获得与该卷相关联的全球唯一标识符(GUID)的命令(诸如,称之为INQUIRY命令的SCSI命令)。响应于该命令,该卷向拦截器装置890发送用于指定该卷的全球唯一标识符的消息。基于通过这种方式接收到的GUID,拦截器处理810确定存储多少唯一卷以及是否存在任何所识别的卷冗余。针对每个卷的全球唯一标识符的实施可以因存储系统的制造商而异。在一些实施例中,可能需要使用非标准命令来对构成GUID的信息进行检索。

使用本文所描述的这些方法,拦截器装置890识别被分区到存储系统180的所选择的目标端口的始发器WWPN,并且识别存储系统180内的、始发器WWPN可以访问的一个或更多个卷。该方法可以用于识别与所选择的服务器(或主机实体)相关联的多个WWPN。然后,拦截器装置890可以识别存储系统180内的、WWPN可以访问的所有的卷。因此,拦截器装置890可以识别服务器或主机实体能够访问的所有卷。

尽管本文所描述的示例讨论了用于识别存储系统中的、通过始发器端口或主机实体可以访问的卷的系统、设备及方法,但是,在其他实施例中,本文所描述的这些方法、设备及系统可以用于识别特定始发器端口或主机实体能够访问的任何数据结构。例如,本文所描述的方法、设备及系统可以用于识别(但不限于)通过特定始发器端口或主机实体可以访问的文件、数据库、磁盘驱动器上的物理扇区等。

有利地,本文所描述的系统及方法使得拦截器装置890能够插入在FC交换机225与存储系统180之间的数据路径中,使得能够透明地拦截所有的I/O命令。本文所描述的系统及方法还能够在不会中断存储系统180或网络的操作的情况下透明地插入拦截器装置890。

通过存储设备侧拦截器提供数据管理服务

根据一种实施例,拦截器装置890针对存储系统180中所存储的数据提供一种或更多种数据管理服务。参考图8,拦截器装置890包括数据管理服务848,该数据管理服务848包括提供一种或更多种数据管理服务的功能。例如,数据管理服务848可以包括如下功能:拷贝数据、执行数据图像的快照、对数据进行备份、复制数据以及执行数据迁移等。数据管理服务848可以包括用户界面功能。例如,可以通过以下方式将拦截器装置890使用本文所描述的方法识别出的存储卷和主机实体显示给用户:使用用户界面便利于用户选择一个或更多个卷以及选择用户希望针对所选择的卷执行的一个或更多个服务。

在一种实施例中,在以上述方式识别出特定服务器或主机实体能够访问的一个或更多个卷之后,拦截器装置890可以使用该信息提供一个或更多个数据管理服务。图11示出了可以用于提供数据管理服务的通信系统100的另一种实施例。在图11的实施例中,通信系统100还包括与网络115链接的备份存储系统。在一种示例性实施例中,拦截器装置890可以包括对授权特定主机实体(在该示例中,服务器135-A)能够访问的一个或更多个卷进行拷贝的功能。因此,拦截器装置890识别存储系统180中的、主机实体能够访问的卷,并且将该卷拷贝至备份存储系统1140。

为了保证在主机实体将新数据写入卷的同时进行数据拷贝的情况下能够完整并准确地进行拷贝,拦截器装置890在拷贝过程期间记录了写入到卷中的任何数据的位置。通过这种方式,拦截器装置890保持了对写入到卷中的新数据的跟踪。在完成第一步骤后,拦截器装置890查阅表示新数据的位置的记录并且在后续的步骤中对该新数据进行拷贝。也可以执行其他步骤。

图12是根据一种实施例的用于提供数据管理服务的方法的流程图。在步骤1210处,通过位于交换机的交换机端口与存储系统的目标端口之间的路径中的设备确定主机实体的与交换机链接的始发器端口的标识符。通过上面所描述的方式,拦截器装置890的拦截器处理810接收来自主机实体(例如,服务器135-A)的始发器端口I-1的万维网端口名称。在该示例性实施例中,该始发器端口I-1的万维网端口名称是WWPN-1。

在步骤1220处,基于所述标识符识别存储系统中的、始发器端口能够访问的存储卷。在该示例性实施例中,拦截器处理810通过上面所描述的方式确定WWPN-1能够访问存储系统180中维护的卷-1。

在通过用于指定主机实体的一个或更多个始发器WWPN的详细且精确的信息识别了存储系统180中的卷之后,拦截器装置890可以拦截I/O命令并且确定所接收到的每个I/O命令的来源。这使得(拦截器装置890的)数据管理服务848能够基于I/O命令的来源针对每个I/O命令执行所选择的一个或更多个动作。

在步骤1230处,针对所识别的数据提供数据管理服务。例如,参考图8,(拦截器装置890的)数据管理服务848可以访问卷-1并且将卷-1中的数据拷贝至另一个卷。在图11的示例性实施例中,数据管理服务848可以将卷-1中的数据拷贝至备份存储系统1140中的卷。

在拷贝数据之前,数据管理服务848指示拦截器处理810拦截所有的数据写入命令。然后,数据管理服务848开始按照顺序从头到尾拷贝所述卷中的数据。在执行拷贝过程的同时,将新数据写入到已经完成拷贝的卷的部分。为了确保实现最近的拷贝,数据管理服务848记录了所有的写入到所述卷中的新数据的位置。在完成第一步骤之后,数据管理服务848在后续的步骤中对写入新数据的位置进行拷贝,如果需要也可以执行其他步骤。

在其他实施例中,数据管理服务848可以提供其他类型的服务,诸如,执行数据图像的快照、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。当执行了其他功能时,拦截器处理810根据需要拦截I/O命令以使得能够执行这样的功能。在另一种实施例中,数据管理服务848可以对向所选择的存储系统180中维护的卷发送的或者从所选择的存储系统180中维护的卷接收到的I/O命令进行监测,并且可以生成与这些I/O命令相关的统计。在另一种实施例中,数据管理服务848可以对发送至所选择的存储卷的业务量和来自于所选择的存储卷的业务量进行监测,并且当检测到达到预定条件时,调用预定功能来执行指定的动作。例如,数据管理服务848可以在所指定的始发器端口将数据写入所选择的卷时通知管理员。

主机侧拦截器

根据另一种实施例,拦截器装置插入在FC交换机225的所选择的端口与所选择的主机实体之间的路径中。拦截器装置确定主机实体的每个始发器端口的万维网端口名称。这些始发器端口的万维网端口名称可以由拦截器装置自动地接收(例如,从其他设备)或者可以由用户手动地输入到拦截器装置。然后,针对主机实体的每个相应的始发器端口,拦截器装置确定存储系统180的被分区到相应的始发器端口的每个目标端口的万维网端口名称。这些目标端口的万维网端口名称可以自动地接收或者可以由用户手动地输入到拦截器装置。拦截器装置识别存储系统中的被分配给相应的始发器端口的存储卷。在使得主机实体与存储系统之间的正常通信(包括交换I/O命令或其他数据业务)能够继续进行的同时,可以执行本文所描述的方法。

图13示出了根据另一种实施例的拦截器装置1390的功能部件。拦截器装置1390包括拦截器处理1310、存储器1315以及数据管理服务1348,这些部件类似于图8的实施例中所示的相应的部件。拦截器装置还包括拦截器端口1346、1347、1348以及1349。这些拦截器端口1346、1347、1348以及1349可以使用一个或更多个主机总线适配器来实现。

在一种实施例中,拦截器装置1390包括计算机。也可以使用其他类型的处理设备。

可以使用多种方法中的任意一种方法将拦截器装置1390插入到FC交换机225的所选择的端口与主机实体之间的路径中。例如,在图14A所示的示例性实施例中,FC交换机225的端口P-1与服务器135-A的始发器端口I-1之间的链路271,以及FC交换机225的端口P-2与服务器135-A的始发器端口I-2之间的链路272被移除,并且拦截器装置1390被插入到FC交换机225与服务器135-A之间。

参考图14B,可以按照如下方式来插入拦截器装置1390。拦截器装置1390的拦截器端口1346通过链路1471与服务器135-A的端口I-1连接,以及拦截器装置1390的拦截器端口1348通过链路1472与服务器135-A的端口I-2连接。拦截器装置1390的拦截器端口1347与FC交换机225的端口P-1连接,以及拦截器装置1390的拦截器端口1349与FC交换机225的端口P-2连接。

在其他实施例中,其他设备可以插入到例如,拦截器装置1390与FC交换机225之间,或者拦截器装置1390与服务器135-A之间。

为了获得关于存储系统180中所存储的数据的信息,拦截器装置1390现在与基于光纤通道的SAN115的部件通信。图15是根据一种实施例的用于确定与网络中存储的数据有关的信息的方法的流程图。

在步骤1510处,通过位于交换机的交换机端口与始发器端口之间的路径中的设备识别主机实体的始发器端口的始发器万维网端口名称。在该示例性实施例中,当135-A的始发器端口I-1与拦截器装置1390的拦截器端口1346连接时,始发器端口I-1检测拦截器端口1346并且试图向拦截器装置1390注册。因此,始发器端口I-1向拦截器装置1390发送关于注册的请求。例如,关于注册的请求可以包括完成光纤通道登录的请求。该请求包括始发器端口I-1的万维网端口名称(WWPN-1)。拦截器装置1390接收该请求并且检索始发器端口I-1的万维网端口名称。在另一种实施例中,从始发器端口I-1接收的请求可以包括与始发器端口I-1相关联的不同标识符(诸如,端口号)。

在另一种实施例中,用户可以手动地将始发器端口I-1的万维网端口名称(WWPN-1)输入到拦截器装置1390中。

在步骤1520处,始发器万维网端口名称被添加至设备的第一设备端口。在该示例性实施例中,拦截器装置1390的拦截器处理1310使用标准过程将始发器端口I-1的万维网端口名称(WWPN-1)添加至拦截器装置1390的(下游)拦截器端口1347。

在步骤1525处,关于用于识别与始发器端口的始发器万维网端口名称相关联的端口的信息的请求被发送至交换机。拦截器装置1390在与FC交换机225进行交互期间,使用始发器端口I-1的万维网端口名称(WWPN-1)来冒充始发器端口I-1。具体地,拦截器装置1390经由拦截器端口1347向FC交换机225发送关于用于识别被分区到始发器端口I-1的端口的信息的请求。该请求包括始发器端口I-1的万维网端口名称,WWPN-1。在另一种实施例中,该请求可以包括与始发器端口I-1相关联的不同类型的标识符(诸如,端口号)。FC交换机225接收该请求并且确定做出响应。

在步骤1530处,从交换机接收存储系统的与始发器端口相关联的目标端口的目标万维网端口名称。响应于从拦截器装置1390接收的关于信息的请求,FC交换机225访问简单名称服务表650并且检索用于识别被分区至始发器端口I-1的端口的信息。在另一种实施例中,FC交换机225检索用于识别被分区到WWPN-1的端口的信息。在该示例性实施例中,目标端口T-1被分区到始发器端口I-1(WWPN-1),因此,FC交换机225向拦截器装置1390发送关于识别目标端口T-1的信息,包括目标端口T-1的目标万维网端口名称(WWPN-5)。在另一种实施例中,FC交换机225可以向拦截器装置1390发送与目标端口T-1相关联的其他类型的标识符(诸如,端口号)。

在另一种实施例中,用户可以手动地将目标万维网端口名称(WWPN-5)输入到拦截器装置1390中。

在步骤1540处,将目标万维网端口名称添加至设备的第二设备端口。为了确保服务器135-A与存储系统180之间的通信能够在极少中断或没有中断的情况下继续进行,拦截器处理1310将目标端口T-1的目标万维网端口名称(WWPN-5)添加至拦截器装置1390的(上游)拦截器端口1346。当服务器135-A确定始发器端口I-1与拦截器端口1346(现在冒充目标端口T-1)连接时,服务器135-A向(上游)拦截器端口1346注册。例如,服务器135-A可以执行光纤通道登录过程来向拦截器端口1346注册。

服务器135-A现在向(上游)拦截器端口1346发送原本针对存储系统180的目标端口T-1的数据、请求及其他通信。拦截器装置1390使得这些通信在很少中断或没有中断的情况下能够到达(经由FC交换机225)存储系统180。通过这种方式,拦截器装置1390在服务器135-A的始发器端口I-1与存储系统180的目标端口T-1之间的重建透明路径。

上述步骤还可以用于识别可以通过服务器135-A的始发器端口I-2进行访问的所存储的数据。在该示例性实施例中,当服务器135-A的始发器端口I-2与拦截器装置1390的拦截器端口1348连接时,始发器端口I-2试图向拦截器装置1390注册。因此,始发器端口I-2向拦截器装置1390发送关于注册或者完成光纤通道登录的请求。该请求包括始发器端口I-2的万维网端口名称(WWPN-2)。拦截器装置1390接收该请求并且检索始发器端口I-2的万维网端口名称。

在拦截器装置1390获得WWPN-2之后,拦截器装置1390在与FC交换机225进行通信期间使用始发器端口I-2的万维网端口名称来冒充始发器端口I-2。具体地,拦截器装置1390的拦截器处理1310使用标准过程来将始发器端口I-2的万维网端口名称添加至拦截器装置1390的(下游)拦截器端口1349。从而拦截器处理1310将WWPN-2添加至拦截器端口1349。拦截器装置1390现在向FC交换机225发送关于用于识别被分区到拦截器端口I-2(WWPN-2)的端口的信息的请求。在该示例性实施例中,目标端口T-1和目标端口T-2经由图2和图7所示的交换机端口P-2、P-5和P-6被分区至拦截器端口I-2(WWPN-2)。因此,FC交换机225接收该请求并且向拦截器装置1390发送表示目标端口T-1和目标端口T-2被分区到WWPN-2的消息。该响应还包括目标端口T-1和T-2的万维网端口名称。

拦截器处理1310现在将目标端口T-1和T-2的万维网端口名称添加至(上游)拦截器端口1348,以使得服务器135-A的始发器端口I-2与存储系统180之间能够进行透明通信。服务器135-A检测所添加的万维网端口名称并且经由始发器端口I-2向存储系统180重新发送通信消息。

有利地,在将拦截器装置插入到网络中之后,本文所描述的方法、系统及设备使得主机实体与存储系统之间能够透明地或几乎透明地传输命令或其他数据业务。该特征为对主机实体与存储系统之间的I/O命令和其他数据业务流进行拦截、分析、重定向和/或重处理提供了机会和可能性。

在该示例性实施例中,拦截器装置1390检查存储系统180中所存储的数据。具体地,在步骤1550中,基于目标万维网端口名称和始发器万维网端口名称识别存储系统中的、与始发器端口相关联的存储卷。在该示例性实施例中,拦截器装置1390现在冒充服务器135-A的始发器端口I-1来从存储系统180获得信息。拦截器装置1390还冒充服务器135-A的始发器端口I-2来从存储系统180获得信息。具体地,针对于拦截器装置1390的端口1347或1349相关联的每个始发器万维网端口名称,拦截器处理1310向存储系统180发送一种命令,该命令是指定响应的始发器WWPN并且请求用于识别始发器WWPN能够访问的卷的信息。该命令还可以指定被分区至始发器WWPN的目标万维网端口名称。例如,拦截器处理1310可以根据SCSI协议向存储系统180发送REPORTLUN命令。存储系统180接收该命令,并且,作为响应,发送表示所指定的始发器WWPN能够访问的一个或更多个卷的信息。因此,在该示例性实施例中,拦截器处理1310可以向存储系统180发送用于指定WWPN-1的REPORTLUN命令。作为响应,存储系统180向拦截器装置1390发送表示WWPN-1能够访问卷-1(491)的信息。拦截器处理1310可以向存储系统180发送用于指定WWPN-2的REPORTLUN命令。作为响应,存储系统180向拦截器装置1390告知WWPN-2能够访问卷-1(491)的信息。在其他实施例中,拦截器装置1390可以使用与始发器端口相关联的不同类型的标识符(诸如,端口号)来冒充始发器端口并且确定用于识别始发器端口能够访问的数据的信息。

如上面所讨论的,在一些实施例中,从存储系统180接收的、关于每个相应的始发器万维网端口名称可访问哪些卷的信息可能是模糊的并且不能指定这些始发器万维网端口名称能够访问多少唯一的卷。因此,拦截器装置1390可以拦截从存储系统中获得的、表示实际存在的多个存储卷的信息。因此,拦截器装置1390可以协调接收自存储系统180的信息已确定所识别的存储卷是否唯一,或者所识别的存储卷中的两个或更多个存储卷是否相同从而存在冗余。

因此,在一种实施例中,拦截器处理1310向每个所识别的卷发送用于获得与该卷相关联的全球唯一标识符(GUID)的命令(诸如,称之为INQUIRY命令的SCSI命令)。响应于该命令,该卷向拦截器装置1390发送用于指定该卷的全球唯一标识符的消息。基于通过这种方式接收到的GUID,拦截器处理1310确定存储多少唯一卷以及是否存在任何所识别的卷冗余。针对每个卷的全球唯一标识符的实施可以因存储系统的制造商而异。在一些实施例中,可能需要使用非标准命令来对构成GUID的信息进行检索。

使用本文所描述的这些方法,拦截器装置1390识别主机实体的始发器端口的始发器WWPN,识别存储系统的被分区到始发器WWPN的目标端口,以及识别存储系统180内的、始发器WWPN可以访问的一个或更多个卷。可以针对主机实体的多个始发器端口重复该方法。因此,该方法可以用于识别与所选择的服务器(或主机实体)相关联的多个WWPN。然后,拦截器装置1390可以识别存储系统180内的、WWPN可以访问的所有的卷。因此,拦截器装置1390可以识别服务器或主机实体能够访问的所有卷。

有利地,本文所描述的系统及方法使得拦截器装置1390能够插入到FC交换机225与主机实体之间得数据路径中,使得能够透明地拦截I/O命令。本文所描述的系统及方法还能够在不会中断存储系统180或网络的操作的情况下透明地插入拦截器装置1390。

使用主机侧拦截器提供数据管理服务

根据一种实施例,拦截器装置1390针对存储系统180中所存储的数据提供一种或更多种数据管理服务。参考图13,拦截器装置1390包括数据管理服务1348,该数据管理服务1348包括提供一种或更多种数据管理服务的功能。例如,数据管理服务1348可以包括如下功能:拷贝数据、执行数据图像的快照、对数据进行备份、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。数据管理服务1348可以包括用户界面功能。例如,可以通过以下方式将拦截器装置1390使用本文所描述的方法识别出的存储卷和主机实体显示给用户:使用用户界面便利于用户选择一个或更多个卷以及选择用户希望针对所选择的卷执行的一个或更多个服务。

在一种实施例中,在以上述方式识别出特定服务器或主机实体能够访问的一个或更多个卷之后,拦截器装置1390可以使用该信息提供一个或更多个数据管理服务。例如,拦截器装置1390可以包括对授权特定主机实体(在该示例中,服务器135-A)能够访问的一个或更多个卷进行拷贝的功能。因此,拦截器装置1390可以识别存储系统180中的、主机实体能够访问的卷,并且可以将该卷拷贝至备份存储系统,例如,图11所示的备份存储系统1140。

为了保证在主机实体将新数据写入卷的同时进行数据拷贝的情况下能够完整并准确地进行拷贝,拦截器装置1390在拷贝过程期间记录了写入到卷中的任何数据的位置。通过这种方式,拦截器装置1390保持了对写入到卷中的新数据的跟踪。在完成第一步骤之后,拦截器装置1390查阅表示新数据的位置的记录并且在后续的步骤中对该新数据进行拷贝。也可以执行其他步骤。

图16是根据一种实施例的用于提供数据管理服务的方法的流程图。在步骤1610处,通过位于始发器端口与交换机的交换机端口之间的路径中的设备确定主机实体的始发器端口的标识符。以上面所描述的方式,拦截器装置1390的拦截器处理1310接收来自主机实体(例如,服务器135-A)的始发器端口I-1的万维网端口名称。在该示例性实施例中,该始发器端口I-1的万维网端口名称是WWPN-1。

在步骤1620处,基于所述标识符识别存储系统中存储的且始发器端口能够访问的数据。在该示例性实施例中,拦截器处理1310通过上面所描述的方式使用WWPN-1冒充始发器端口I-1,并且确定WWPN-1能够访问存储系统180中维护的卷-1。

在通过用于指定主机实体的一个或更多个始发器WWPN的详细且精确的信息识别了存储系统180中的卷之后,拦截器装置1390可以拦截I/O命令并且确定所接收到的每个I/O命令的来源。这使得(拦截器装置1390的)数据管理服务1348能够基于I/O命令的来源针对每个I/O命令执行所选择的一个或更多个动作。

在步骤1630处,针对所识别的数据提供数据管理服务。例如,参考图13,(拦截器装置1390的)数据管理服务1348可以访问卷-1并且将卷-1中的数据拷贝至另一个卷。参考图11,数据管理服务1348可以将卷-1中的数据拷贝至备份存储系统1140中的卷。

在拷贝数据之前,数据管理服务1348指示拦截器处理1310拦截所有的数据写入命令。然后,数据管理服务1348开始按照顺序从头到尾拷贝所述卷中的数据。在执行拷贝过程的同时,将新数据写入到已经完成拷贝的卷的部分。为了确保实现最近的拷贝,数据管理服务1348记录了所有的写入到所述卷中的新数据的位置。在完成第一过程程之后,数据管理服务1348在后续过程中对写入新数据的位置进行拷贝,如果需要也可以执行其他的过程。

在其他实施例中,数据管理服务1348可以提供其他类型的服务,诸如,执行数据图像的快照、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。当执行了其他功能时,拦截器处理1310根据需要拦截I/O命令以使得能够执行这样的功能。在另一种实施例中,数据管理服务1348可以对向所选择的存储系统180中维护的卷发送的或者从所选择的存储系统180中维护的卷接收到的I/O命令进行监测,并且可以生成与这些I/O命令相关的统计。在另一种实施例中,数据管理服务1348可以对发送至所选择的存储卷的业务量和来自于所选择的存储卷的业务量进行监测,并且当检测到达到预定条件时,调用预定功能来执行指定的动作。例如,数据管理服务1348可以在所指定的始发器端口将数据写入所选择的卷时通知管理员。

多交换机配置

在另一种实施例中,可以将拦截器装置插入到第一光纤通道交换机与第二光纤通道交换机之间的路径中的光纤通道网络中。这样的配置可以有利地使得拦截器装置能够访问数量增多的主机实体和/或数量增多的存储系统并且与这些主机实体和/或存储系统通信。

在图17所示的示例性实施例中,网络115包括FC交换机225、第二FC交换机1745以及拦截器装置1790。第二交换机1745经由链路1712和1714与服务器135-A连接,并且经由链路1716和1718与服务器135-B连接。

拦截器装置1790插入在FC交换机225与第二交换机1745之间。具体地,拦截器装置1790的端口1746和1748分别经由链路1722和1724与第二FC交换机1745连接。拦截器装置1790的端口1747和1749分别经由链路1773和1774与FC交换机225的端口P-1和P-2连接。

在与FC交换机225和第二FC交换机1745连接之后,拦截器装置1790获取与网络115中存储的数据相关的信息。图18是根据一种实施例的用于获取网络中存储的信息的方法的流程图。

在步骤1810处,网络中的第一设备接收网络中的第二设备的第二端口的标识符,所述第一设备包括第一端口,所述网络包括主机实体、交换机以及存储系统。在该示例性实施例中,当拦截器装置1790与第二FC交换机1745连接时,服务器135-A检测拦截器装置1790的端口1746和1748,并且经由其每个端口(I-1和I-2)发送关于注册的请求。服务器135-B也经由其每个端口(I-3和I-4)发送关于注册的请求。拦截器装置1790接收服务器135-A的拦截器端口I-1的万维网端口名称(WWPN-1),并且同样地从始发器端口I-2、I-3和I-4接收各自的万维网端口名称。在另一种实施例中,用户可以手动地将拦截器端口I-1的万维网端口名称(WWPN-1)输入到拦截器装置1790中。

在步骤1820处,第一设备的第一端口在与交换机通信期间,冒充第二设备的第二端口。通过类似于上面所讨论的方式,接收至服务器135-A的万维网端口名称(WWPN-1)被添加至拦截器装置1790的所选择的端口,诸如,(下游)端口1747。

在步骤1830处,通过第一设备接收用于识别网络中的第三设备的第三端口被分区到第二设备的第二端口的信息。通过类似于上面所讨论的方式,拦截器装置1790从FC交换机225接收用于指定被分区到始发器端口I-1的目标端口T-1以及目标端口T-1的万维网端口名称的信息。在另一种实施例中,用户可以手动地将目标端口T-1的万维网端口名称输入到拦截器装置1790中。

在步骤1840处,至少基于所述信息识别存储系统中存储的且通过主机实体可以访问的数据。基于确定了存储系统180的目标端口T-1被分区到拦截器装置1790的始发器端口I-1,拦截器装置1790使用始发器端口I-1的万维网端口名称WWPN-1来与存储系统180通信并且识别可以通过始发器端口I-1访问的存储卷。

通过类似的方式,拦截器装置1790可以识别可通过服务器135-A的始发器端口I-2访问的一个或更多个存储卷。拦截器装置1790还可以识别可通过服务器135-B的每个始发器端口I-3和I-4访问的一个或更多个存储卷。

根据一种实施例,拦截器装置1790针对存储系统180中(例如,可以通过始发器端口I-1、I-2、I-3以及I-4访问的存储卷)存储的数据提供了一种或更多种数据管理服务。通过类似于上面所描述以及图12和图16所示的方法的方式,拦截器装置1790可以拷贝数据、执行数据图像的快照、对数据进行备份、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等等。

在多种实施例中,可以按照不同于所描述或所示出的特定顺序的顺序来执行本文所描述的方法步骤,这些方法步骤包括图10、12、15、16和/或18中所描述的方法步骤。在其他实施例中,可以提供其他步骤,或者可以从所描述的方法中删去一些步骤。

本文所描述的系统、设备及方法可以通过数字电路、使用公知的一个或更多个(使用公知的处理器、存储器单元、存储设备、计算机软件以及其他部件的)计算机来实现。通常,计算机包括用于执行指令的处理器和一个或更多个用于存储指令和数据的存储器。计算机还可以包括或者被耦接至一个或更多个大型存储设备(诸如,一个或更多个:磁盘、内置硬盘和可移动磁盘、磁光盘、光盘等。)

本文所描述的系统、设备及方法可以通过以客户端-服务器关系操作的计算机来实现。通常,在这样的系统中,客户端计算机位于远离于服务器计算机并且经由网络进行交互。该客户端-服务器关系可以通过在相应的客户端计算机和服务器计算机上运行的计算机程序进行定义和控制。

本文所描述的系统、设备及方法可以在基于网络的云计算系统中使用。在这样的基于网络的云计算系统中,与网络连接的服务器或其他处理器经由网络与一个或更多个客户端计算机通信。例如,客户端计算机可以经由在客户端计算机上驻留并操作的网络浏览器应用程序与服务器通信。客户端计算机可以将数据存储在服务器上并且经由网络访问该数据。客户端计算机可以经由网络向服务器发送针对数据的请求,或者请求在线服务。服务器可以执行所请求的服务并且将数据提供给客户端计算机。服务器还可以发送数据用于使客户端计算机执行特定的功能,例如,执行计算、将指定的数据显示在屏幕上等。

本文所描述的系统、装置及方法可以通过由可编程处理器执行的计算机程序产品来实现,该计算机程序产品可以有形地体现在信息载体(例如,非易失性机器可读存储设备设备)中。本文所描述的方法步骤(包括图10、12、15、16和/或18中的一个或更多个)可以通过有这样的处理器可执行的一个或更多个计算机程序来实现。计算机程序是一组计算机程序指令,该计算机程序指令可以直接或间接地用于计算机中以执行特定的动作或带来特定的结果。计算机程序可以以任何形式的编程语言(包括编译或解释语言)进行编写,并且可以以任何形式(包括,作为独立程序或作为模块、组件、子程序,或适用于计算环境中的其他单元)进行部署。

图19示出了可以用于实现本文所描述的系统、装置及方法的示例性计算机的高级别框图。计算机1900包括处理器1901和存储器1903,所述处理器1901可操作地耦接至数据存储设备1902。处理器1901通过执行定义了这样的操作的计算机程序指令的方式来控制计算机1900的整体操作。计算机程序指令可以被存储在数据存储设备1902或其他计算机可读介质中,并且可以在需要执行该计算机程序指令时将计算机程序指令加载至存储器1903。因此,图10、12、15、16和/或18中的方法步骤可以通过存储器1903和/或数据存储设备1902中存储的计算机程序指令来进行定义,并且通过用于执行计算机程序指令的处理器1903来进行控制。例如,计算机程序指令可以被实现为由本领域的技术人员所编程的计算机可执行代码以执行图10、12、15、16和/或18中的方法步骤所定义的算法。因此,通过执行计算机程序指令,处理器1901执行由图10、12、15、16和/或18中的方法步骤所定义的算法。计算机1900还包括经由网络与其他设备进行通信的一个或更多个网络接口1904。计算机1900还包括使得用户能够与计算机1900交互的一个或更多个输入/输出设备1905(例如,显示器、键盘、鼠标、扬声器、按钮等)。

处理器1901可以包括通用微处理器和专用微处理器,以及可以是唯一的处理器或计算机1900的多个处理器1901之一。例如,处理器1901可以包括一个或更多个中央处理单元(CPU)。处理器1901、数据存储设备1902,和/或存储设备1903可以包括下列项、可以由下列项来补充或者可以并入到下列项:一个或更多个专用应用集成电路(ASIC)和/或一个或更多个现场可编程门阵列(FPGA)。

数据存储设备1902和存储设备1903都包括有形非易失性计算机可读存储介质。数据存储设备1902及存储设备1903都可以包括高速随机存取存储设备(诸如,动态随机存取存储设备(DRAM)、静态随机存取存储设备(SRAM)、双数据速率同步动态随机存取存储设备(DDRRAM),或其他随机存取固态存储设备设备),并且可以包括非易失性存储设备,诸如,一个或多个:磁盘存储设备(诸如,内部硬盘和可移动磁盘)、磁光盘存储设备、光盘存储设备、闪速存储设备设备、半导体存储设备(诸如,可擦除可编程只读存储设备(EPROM)、电可擦除可编程只读存储设备(EEPROM)、压缩盘只读存储设备(CD-ROM)、数字多功能盘只读存储设备(DVD-ROM)盘)或其它非易失性固态存储设备。

输入/输出设备1905可以包括外围设备(诸如,打印机、扫描仪、显示屏幕等)。例如,输入/输出设备1905年可以包括用于向用户显示信息的显示设备(诸如,阴极射线管(CRT)或液晶显示器(LCD)监视器)、键盘,以及用户可以通过其向计算机1900提供输入的指示设备(诸如,鼠标或轨迹球)。

本领域的技术人员将认识到,实际的计算机或计算机系统的实施方式可以具有其他结构,并且还可以具有其他部件,以及,出于示例性的目的,图19是这样的计算机的一部分部件的高级表示。

根据另一种实施例中,拦截器装置可以插入到第一光纤信道交换机与第二光纤通道交换机之间的路径中的光纤通道网络中。这样的配置可以有利地使得拦截器装置能够访问数量增多的主机实体和/或数量增多的存储系统并且与这些主机实体和/或存储系统通信。这样的配置也可以在拦截器装置端口与存储端口之间建立更好的光纤通道拓扑结构/协议/连接支持。

在图20A所示的示例性实施例中,光纤通道存储区域网络2015包括服务器135-A和135-B、FC交换机225、第二FC交换机2045、存储系统2080以及拦截器装置2090。

拦截器装置2090插入到FC交换机225与第二FC交换机2045之间。具体地,端口2046经由链路2081与FC交换机225的端口P-5连接,以及拦截器装置2090的端口2047经由链路2082与第二FC交换机2045的端口2091连接。FC交换机225的端口P-6经由链路2083与存储系统2080的端口T2连接。

可替代地,拦截器装置2090可以被安装在具有如图20B所示配置的网络中。拦截器装置2090的端口2046经由链路2081与FC交换机225的端口P-5连接。拦截器装置2090的端口2047经由链路2082与FC交换机2045的端口2091连接。FC交换机2045的端口2092与存储系统2080的端口T-1连接。FC交换机2045的端口2093与存储系统2080的端口T-2连接。

在与FC交换机225和第二FC交换机2045连接之后,拦截器装置2090获取与基于光纤通道的SAN2015中存储的数据有关的信息。为了获得与存储系统2080中存储的数据相关的信息,拦截器装置2090与网络2015的部件通信。通过类似于参考图10所描述的方式,在第一注册过程中,对存储系统的目标端口的目标万维网端口名称进行识别,并且基于该目标万维网端口名称向FC交换机225注册拦截器装置的上游端口。在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息。基于该注册信息确定了服务器(或主机实体)的始发器端口的始发器万维网端口名称。基于始发器万维网端口名称识别存储系统中的与始发器端口相关联的一个或更多个存储卷。例如,拦截器装置2090可以向存储系统2080发送命令,诸如,REPORTLUN命令,该命令用于指定相应的始发器WWPN并且用于请求用于是被该始发器WWPN能够访问的卷的信息。作为响应,存储系统2080向拦截器装置2090发送表示始发器WWPN能够访问的卷的信息。

虚拟光纤通道交换机/虚拟存储区域网络(VSAN)的使用

根据另一种实施例,拦截器装置可以插入到第一虚拟光纤通道交换机与第二虚拟光纤通道交换机之间的路径中的基于光纤通道的存储区域网络。虚拟光纤通道交换机可以替代地称为虚拟存储区域网络(“虚拟SAN”或“VSAN”),或者虚拟结构,和/或特定供应商所使用的其他名称。虚拟光纤通道交换机、VSAN及虚拟结构是公知的。为了方便起见,本文中的虚拟光纤通道交换机通常被称为“虚拟交换机”。

第一虚拟光纤通道交换机与第二虚拟光纤通道交换机之间的路径中插入拦截器装置可以有利地允许拦截器装置的插入,而不需要拔下网络中的任何连接,并且不需要将存储设备或服务器(主机)的任何端口与交换机的任何端口断开连接。

图21A示出了根据一种实施例的基于光纤通道的存储区域网络。基于光纤通道的存储区域网络2115包括服务器135-A和135-B、存储系统2180以及光纤通道交换机2126。光纤通道交换机2126包括:端口P-1、P-2、P-3、P-4、P-5、P-6、P-7及P-8。服务器135-A的端口I-1和Ⅰ-2分别与FC交换机2126的端口P-1和P-2连接。服务器135-B的端口I-3和I-4分别与交换机2126的端口P-3和P-4连接。FC交换机的端口P-5与存储系统2180的端口T-1连接。FC交换机的端口P-6与存储系统2180的端口T-2连接。在该示例性实施例中,FC交换机2126的端口P-7和P-8尚未被使用。

虚拟SAN性能提供在光纤通道交换机2126内定义一个或更多个虚拟交换机的功能。

根据一种示例性实施例,两个虚拟交换机在光纤通道交换机2126内被定义,并且拦截器装置被插入在所述虚拟交换机之间。图21B和21C示出了根据多种实施例的包括多个虚拟交换机的基于光纤通道的SAN。在如图21B所示的实施例中,光纤通道交换机2126被配置为包括第一虚拟光纤通道交换机2127和第二虚拟光纤通道交换机2128,该第一虚拟光纤通道交换机2127包括端口P-1、P-2、P-3、P-4、P-6以及P-7,以及第二虚拟光纤通道交换机2128包括端口P-5和P-8。

拦截器装置2190插入在第一虚拟交换机2127与第二虚拟交换机2128之间。有利地,拦截器装置2190可以在不需要断开网络中的任何现有连接的情况下被安装在网络中(即,插入在第一虚拟交换机2127与第二虚拟交换机2128之间)。具体地,拦截器设备2190的端口2146经由链路2181与第一虚拟交换机2127的端口P-7连接。拦截器设备2190的端口2147经由链路2181与第二虚拟交换机2128的端口P-8连接。第一虚拟交换机2127的端口P-6保持与存储系统2180的端口T-2连接。第二虚拟交换机2128的端口P-5保持与存储系统2180的端口T-1连接。

在图21C所示的另一种实施例中,第一虚拟光纤通道交换机2127包括端口P-1、P-2、P-3、P-4及P-7,以及第二虚拟光纤通道交换机2128包括端口P-5、P-6及P-8。如图21B所示,拦截器装置2190与FC交换机2126的端口P-7和P-8连接。

在其他实施例中,光纤通道交换机内可以定义有两个以上的虚拟交换机。

为了获得与存储系统2180中存储的数据有关的信息,拦截器设备2190现在与基于光纤通道的SAN2115的部件通信。以类似于参考图10所描述的方式,在第一注册过程中,拦截器装置2190识别存储系统的目标端口的目标万维网端口名称,并且基于该目标万维网端口名称向第一虚拟交换机2127注册拦截器装置2190的上游端口。在该示例性实施例中,拦截器装置2190向存储系统的目标端口发出关于注册的请求(诸如,光纤通道登录),并且获得目标端口的WWPN。

在第二注册过程中,通过拦截器装置2190接收关于服务器的与目标端口相关联的始发器端口的注册信息。拦截器设备2190基于该注册信息确定服务器(或主机实体)的始发器端口的始发器万维网端口名称。拦截器装置2190基于始发器端口的始发器万维网端口名称识别存储系统中与始发器端口相关联的一个或更多个存储卷。例如,拦截器装置2190可以向存储系统2180发送命令,诸如,REPORTLUN命令,用于指定相应的始发器WWPN并且请求用于识别始发器WWPN能够访问的卷的信息。作为响应,存储系统2180星拦截器装置2190发送表示始发器WWPN能够访问的卷的信息。

拦截器装置2190可以针对存储系统2180(诸如,所选择的存储卷)中所存储的数据提供一种或更多种数据管理服务。通过类似于上述方法的方式,拦截器装置2190可以:拷贝数据、执行数据图像的快照,对数据进行备份、复制数据、执行从一个存储设备或系统到另一个存储设备或系统的数据迁移等。

图22是根据一种实施例的用于提供数据管理服务的方法的流程图。在步骤2210处,设备的第一端口与交换机设备内定义的第一虚拟交换机的第一交换机端口连接,并且该设备的第二端口与交换机设备内定义的第二虚拟交换机的第二交换机端口连接。在图21的示例中,如上所述,拦截器装置2190插入在第一虚拟交换机2127与第二虚拟交换机2128之间的路径中。在步骤2220处,通过设备识别存储系统的与第二虚拟交换机相连的目标端口的目标万维网端名称,例如,拦截器装置2190可以向存储系统2180的目标端口发出关于注册的请求,诸如,光纤通道登录,并且,作为响应,获取目标端口的WWPN。

在步骤2230处,在第一注册过程中,设备的第一端口基于目标万维网端口名称向第一虚拟交换机注册。在注册过程中,拦截器装置2190基于目标万维网端口名称向第一虚拟交换机2127注册拦截器装置2190的上游端口。在步骤2240处,在第二注册过程中,接收关于服务器的与目标端口相关联的始发器端口的注册信息。在步骤2250处,基于注册信息确定服务器的始发器端口的始发器万维网端口名称。例如,在图21的示例性实施例中,注册信息可以从服务器135-A的始发器端口进行接收,该注册信息包括用于识别始发器端口的万维网端口名称的信息。在步骤2260处,基于始发器端口的始发器万维网端口名称识别存储系统中与始发器端口相关联的存储卷。拦截器装置2190通过上述方式冒充服务器135-A的始发器端口来从存储系统2180中获得信息。

在另一种实施例中,可以针对拦截器装置端口和服务器端口形成虚拟SAN。当只有所选择的服务器是待被插入时这样的配置是有利的。

尽管本文所描述的实施例是基于信道的光纤的SAN的上下文中来描述的,但是本文所描述的方法及系统不限于在基于信道的光纤SAN内使用。在其他实施例中,本文所描述的方法及系统可以结合其他类型的通信系统和网络来使用。例如,本文所描述的方法及系统可以通过使用iSCSI协议来用于通信系统中。

部分或全部的本文所讨论的方法、系统及装置包括但不限于:客户端160、服务器135、光纤通道交换机225、1745,2045及2126、存储系统180、2080及2180、拦截器设备890、1390、1790、2090及2190,以及其部件包括但不限于:服务管理器325、存储器375、存储管理器410、存储器475、存储设备468、交换机管理器525、存储器575、拦截器处理810、存储器815、数据管理服务848、拦截器处理1310、存储器1315,数据管理服务1348以及可以通过计算机(诸如,图19所示的计算机1900)实现的任意这些设备或部件内的所有端口。

前面的详细描述应当理解为各个方面的说明性且示例性的,而不是限制性的,并且本文所公开的发明的范围并不是根据所述详细描述来确定,而是根据以专利法所允许的宽度所解释的权利要求来确定。应当理解的是,本文所示出和描述的实施例只是本发明的原理示例性描述,并且本领域的技术人员可以在不脱离本发明的范围和精神的情况下进行各种修改。那些本领域的技术人员可以在不脱离本发明的范围和精神的情况下实现各种其他特征组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号