首页> 中国专利> 用于提供数据管理服务的系统和方法

用于提供数据管理服务的系统和方法

摘要

由位于交换机的交换机端口与存储系统的目标端口之间的路径中的设备来识别存储系统的目标端口的目标全球端口名称。在第一注册过程中,基于目标全球端口名称向该交换机注册该设备的第一端口。在第二注册过程中接收与目标端口相关联的服务器的启动器端口有关的注册信息。基于注册信息来确定服务器的启动器端口的启动器全球端口名称。基于启动器端口的启动器全球端口名称来识别与启动器端口相关联的存储系统中的存储卷。

著录项

  • 公开/公告号CN103179053A

    专利类型发明专利

  • 公开/公告日2013-06-26

    原文格式PDF

  • 申请/专利权人 林伟东;林伟光;刘畅;

    申请/专利号CN201210187798.6

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

    申请日2012-06-07

  • 分类号H04L12/931(20130101);H04L29/08(20060101);

  • 代理机构44302 广州圣理华知识产权代理有限公司;

  • 代理人顿海舟

  • 地址 美国纽约州拿骚郡杰里科市

  • 入库时间 2024-02-19 19:37:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    专利权的转移 IPC(主分类):H04L12/931 登记生效日:20170320 变更前: 变更后: 申请日:20120607

    专利申请权、专利权的转移

  • 2016-10-05

    授权

    授权

  • 2013-07-24

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

    实质审查的生效

  • 2013-06-26

    公开

    公开

说明书

技术领域

本说明书大体而言涉及用于存储和管理数据的系统和方法,且特 定而言涉及关于维持在存储系统中的数据提供数据管理服务的系统 和方法。

背景技术

电子数据的存储,且更一般而言,电子数据的管理变得越来越重 要。随着因特网和特别地云计算的增长,对数据存储容量和高效管理 存储数据的方法的需要持续增加。许多不同类型的存储设备和存储系 统目前用于存储数据,包括盘驱动,磁带驱动,光盘、独立盘冗余阵 列(RAID)、基于光纤信道的存储区域网(SAN)等。

在许多企业级存储系统中,有益地向现有存储系统添加数据管理 服务以执行一种或多种所需任务。举例而言,在许多存储系统中可有 益地添加拷贝数据,执行数据图像的快照,备份数据,复制数据,执 行从一个存储设备或系统向另一存储设备或系统数据迁移的功能。通 常需要安装任何额外功能来执行这样的服务而不造成存储系统操作 的任何中断。

发明内容

根据一实施例,提供用于提供数据管理服务的方法。由位于交换 机的交换机端口与存储系统的目标端口之间的路径中的设备来识别 存储系统的目标端口的目标全球端口名称。在第一注册过程中,基于 目标全球端口名称向该交换机注册该设备的第一端口。在第二注册过 程中,接收与目标端口相关联的服务器的启动器端口有关的注册信 息。基于注册信息来确定服务器的启动器端口的启动器全球端口名 称。基于启动器端口的启动器全球端口名称来识别与启动器端口相关 联的存储系统中的存储卷。

在一实施例中,向所述设备的第一端口分配目标全球端口名称。

在另一实施例中,第二注册过程包括由启动器端口经由第一端口 向所述设备注册。在一实施例中,在第二注册过程中,接收与分区到 目标端口的服务器的启动器端口相关联的交换机端口标识符。

在另一实施例中,存取简单名称服务器表,简单名称服务器表对 于交换机中一个或多个交换机端口中每一个识别相对应的全球端口 名称。

在一实施例中,包括启动器全球端口的REPORT LUN命令传输 到存储系统。响应于REPORT LUN命令,从存储系统接收识别启动 器全球端口名称存取的存储卷的信息。

在另一实施例中,向存储系统传输启动器全球端口名称所存取的 存储卷有关的SCSI询问。响应于SCSI询问,接收指示存储卷的全球 唯一标识符的信息。基于全球唯一标识符来做出与启动器全球端口名 称相关联的两个存储卷是否相同的判断。

在一实施例中,交换机为光纤信道交换机。

根据另一实施例,提供一种位于交换机的交换机端口与存储系统 的目标端口之间的网络中的设备。该设备包括第一端口和处理器。该 处理器被配置为识别存储系统的目标端口的目标全球端口名称;且在 第一向注册过程中,基于该目标全球端口名称向交换机注册第一端 口。处理器还被配置为:在第二注册过程中,接收与目标端口相关联 的服务器的启动器端口有关的注册信息;基于注册信息来确定服务器 的启动器端口的启动器全球端口名称;以及基于启动器端口的启动器 全球端口名称来识别与启动器端口相关联的存储系统中一个或多个 存储卷。

在另一实施例中,提供用于提供数据管理服务的方法。由位于交 换机的交换机端口与存储系统的目标端口之间的路径中的设备来确 定连接到交换机的主机实体的启动器端口的标识符。基于标识符来识 别启动器端口存取的存储系统中的存储卷。关于所述识别的存储卷提 供数据管理服务。标识符可为全球端口名称。

在一实施例中,数据管理服务可包括下列之一:拷贝数据,执行 数据图像的快照,复制数据,执行数据迁移服务,监视向维持于存储 系统中的选定卷发送和从其发送的I/O命令;生成与I/O命令有关的 统计;以及基于检测到预定条件来调用预定函数来执行规定的行动。

在另一实施例中,一种位于交换机的交换机端口与存储系统的目 标端口之间路径中的网络中的设备。该设备包括连接到交换机的第一 端口;连接到存储系统的第二端口;以及至少一个处理器。该处理器 被配置为确定连接到交换机的主机实体的启动器端口的标识符;基于 标识符来识别启动器端口存取的存储系统中的存储卷;以及关于所识 别的存储卷向提供数据管理服务。

在另一实施例中,提供一种仪器。该仪器包括:用于识别存储设 备的目标端口的目标全球端口名称的装置;在第一注册过程中基于目 标全球端口名称向交换机注册第一端口的装置;以及在第二注册过程 中,接收与目标端口相关联的服务器的启动器端口有关的注册信息的 装置。该仪器还包括:基于注册信息来确定服务器的启动器端口的启 动器全球端口名称的装置;以及基于启动器端口的启动器全球端口名 称来识别与启动器端口相关联的存储系统中的存储卷的装置。

在另一实施例中,提供用于提供数据存储服务和数据管理服务的 系统。该系统包括存储系统,存储系统包括:存储装置,其适于存储 一个或多个存储卷;以及,至少一个目标端口,其适于传输和接收与 一个或多个存储卷有关的I/O命令。该系统还包括服务器,其包括至 少一个启动器端口,启动器端口适于传输和接收与一个或多个存储卷 有关的I/O命令。该系统还包括交换机,其包括:多个交换机端口, 其适于传输和接收I/O命令;以及,交换机管理器,其适于将自第一 选定交换机端口的选定I/O命令导向至第二选定交换机端口。该系统 还包括:一种位于交换机的交换机端口与存储系统的目标端口之间的 路径中的器具,其中该器具适于确定服务器的选定启动器端口的标识 符,基于标识符来识别选定启动器端口存取的存储系统中的存储卷; 以及关于识别的存储卷提供数据管理服务。

通过参考下文的发明详述和附图,本公开的这些和其它优点将会 对本领域技术人员而言变得显然。

附图说明

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

图2示出根据一实施例的基于光纤信道的存储区域网(SAN)的构 件;

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

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

图5示出根据一实施例的光纤信道交换机的功能构件;

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

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

图8示出根据一实施例的拦截器具的功能构件;

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

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

图10为根据一实施例用于与网络构件通信的方法的流程图;

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

图12为根据一实施例提供数据管理服务的方法的流程图;以及

图13示出了可用于实施本发明的特定实施例的示例性计算机。

具体实施方式

根据各种实施例,提供了用于提供数据存储服务和数据管理服务 的方法和系统。在一实施例中,拦截设备插入于在交换机的交换机端 口与存储系统的目标端口之间路径的网络中。在一实施例中,拦截设 备插入于存储区域网(SAN)中。拦截设备欺骗存储区域网的选定构件 来获得关于存储配置的信息和存储于存储系统中的数据。具体而言, 由该设备识别目标端口的目标全球端口名称,且在第一注册过程中基 于目标全球端口名称使得该设备的上游端口向该交换机注册。在第二 注册过程中,接收识别分区到目标端口的主机实体的启动器端口的启 动器全球端口名称的注册信息。可从一个或多个启动器端口接收注册 信息。基于注册信息来确定启动器端口的启动器全球端口名称。对于 主机实体的一个或多个启动器端口中的每一个,基于相应启动器端口 的启动器全球端口名称来识别与相应启动器端口相关联的存储系统 中的一个或多个存储卷。以此方式,拦截设备识别主机实体存取的一 个或多个存储卷。

在识别了主机实体可存取的存储卷之后,拦截设备可提供关于存 储于卷中的数据的额外数据管理服务。举例而言,拦截设备可拷贝数 据、执行数据快照、备份数据、复制数据、执行数据迁移操作等。

图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不时地向服务器135传输对数 据的请求。举例而言,客户端160可在客户端160的用户请求访问网 页时,存取所存储的文件时,存取所存储的电子邮件时,存取与账户 有关的存储数据时,向服务器135传输对存储数据的请求。

在一实施例中,服务器135可包括web服务器,web服务器维持 网站且提供对与该网站相关联的一个或多个网页的访问。更特定而 言,服务器135可向客户端160提供一个或多个基于云的服务,包括 允许客户端160经由因特网远程且透明地存储数据且经由因特网存取 所存储的数据的基于云的存储服务。

在其它实施例中,服务器135可提供其它类型的服务。举例而言, 服务器135可包括提供对存储的文件的存取的文件服务器,提供对存 储的电子邮件存取的电子邮件服务器等。

在一图示实施例中,网络115为基于光纤信道的存储区域网 (SAN)。图2示出根据实施例的基于光纤信道的存储区域网(SAN)115 的构件。基于光纤信道的存储区域网(SAN)115包括一个或多个服务 器,包括服务器135-A和服务器135-B,存储系统180和光纤信道交 换机225。服务器135-A由链路271和272连接到光纤信道(FC)交换 机225。服务器135-B由链路273和274连接到FC交换机225。FC 交换机225由链路281和282连接到存储系统180。在其它实施例中, 基于光纤信道的SAN 115可具有任何类型的拓扑,包括(但不限于)点 对点拓扑,仲裁环路拓扑、交换结构拓扑或其它拓扑。

在基于光纤信道的SAN 115内的某些设备包括一个或多个端口; 一端口为经由网络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 115内。在该图示实施 例中,链路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。链路282将 FC交换机225的端口P-6连接到存储系统180的目标端口T-2。

在一实施例中,在基于光纤信道的SAN 115的构件之间的通信根 据光纤信道协议(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具有能由软件、硬件或软件与硬件的组合实施的功能流程。存 储器375由服务器135-A的各种构件用于存储数据。在图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为能由软件、硬件或软件与硬件的组合实施的 功能流程。存储器475可由存储系统180的各种构件用于存储数据。 存储系统180还包括目标端口T-1和T-2。在一实施例中,目标端口 T-1和T-2可实施于一个或多个主机总线适配器中。在一实施例中, 存储管理器410和一个或多个目标端口可实施为被称作存储控制器的 子系统。存储系统180可包括在图4中未图示的构件。

存储装置468包括能存储数据的一个或多个存储设备(未图示)。 存储装置468可包括一个或多个块级存储设备、一个或多个文件级存 储设备和/或其它类型的存储设备。举例而言,存储装置468可包括(但 不限于)一个或多个盘驱动、光盘、磁带驱动等。存储装置468可包括 独立盘冗余阵列(RAID)或多个RAID。存储装置468可包括本地和/或 分布式存储装置。也可使用其它类型的存储设备。

存储于存储系统180中的数据可组织为逻辑单位号(LUN),也被 称作卷。在图4的图示实施例中,存储装置468包括多个卷,包括卷 491和492。LUN或卷为逻辑单元且因此可包括在多个存储设备上分 布的数据。

图5示出根据实施例的FC交换机225的功能构件。FC交换机225 包括交换机管理器525和存储器575。交换机管理器525控制在FC 交换机225内的各种构件的活动。交换机管理器525为能由软件、硬 件或软件与硬件的组合实施的功能流程。存储器575由FC交换机225 的各种构件用于存储控制数据。FC交换机225还包括交换机端口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的第二交换机端口。

在基于光纤信道的SAN 115内的设备上的端口连接到FC交换机 225时,端口以已知注册过程或登陆过程来登陆FC交换机225或向 FC交换机225注册。该设备的制造商向每个光纤信道端口分配唯一 标识符,被称作全球端口名称(WWPN)。每个WWPN是唯一的六十 四位数。因此,每个启动器端口I-1、I-2、I-3和I-4具有相应WWPN。 在FC交换机225上的端口P-1至P-6中每一个具有相应WWPN。存 储系统180的目标端口T-1和T-2中每一个具有相应WWPN。

为了方便起见,启动器端口的全球端口名称在本文中被称作启动 器全球端口名称且目标端口的全球端口名称在本文中被称作目标全 球端口名称。但是,如上文所讨论的那样,每个全球端口名称(与其是 否与启动器端口或目标端口相关联无关)为唯一六十四位数。术语启动 器全球端口名称和目标全球端口名称在本文中仅为了方便起见而使 用;这些术语并不反映全球端口名称的不同“类型”且也不反映全球 端口名称本身的任何特征,其区分与启动器端口相关联的全球端口名 称和与目标端口相关联的全球端口名称。

FC交换机225维持简单名称服务器表以在基于光纤信道的SAN 115内存储关于各个端口的信息。图6示出根据一实施例的简单名称 服务器表的实例。简单名称服务器表650包括存储启动器端口或目标 端口的全球端口名称的列635和存储启动器端口或目标端口连接的 FC交换机225的端口的标识符的列629。参看记录602,分配给启动 器端口I-1的第一全球端口名称,WWPN-1,连接到PC交换机225 上的端口P-1。记录604指示WWPN-2(分配给启动器端口I-2)连接到 FC交换机225上的端口P-2。记录606指示WWPN-3(分配给启动器 端口I-3)连接到FC交换机225上的端口P-3。记录614指示 WWPN-5(分配给目标端口T-1)连接到FC交换机225上的端口P-5。

简单名称服务器表650存储于FC交换机225的存储器575中, 如在图5中所示的那样。服务器135和存储系统180可不时地被给予 存取简单名称服务器表650。

当服务器135的启动器端口或存储系统180的目标端口连接到FC 交换机225上的端口时,启动器或目标端口向FC交换机225传输注 册请求,也被称作纤维信道登陆请求。响应地,简单名称服务器表650 更新以记录做出请求的端口的WWPN-2和FC交换机225的相对应的 端口。当启动器或目标端口与FC交换机225断开连接时,简单名称 服务器表650更新以反映该变化。

I/O命令

服务器135可不时地生成并向存储系统180(经由FC交换机225) 传输请求存储系统180在规定存储卷中存储数据的输入/输出(I/O) 命令。与特定存储卷有关,从服务器135上的特定启动器端口发起且 计划用于存储系统180的所需目标端口的I/O命令可包括(除其它数据 之外):(1)对应于(即,连接到)服务器135的发起启动器端口的交换机 225上的端口的标识符;(2)对应于(即,连接到)存储系统180的所需 目标端口的交换机225的端口上的标识符;(3)I/O命令有关的特定卷 的标识符。

LUN屏蔽

有时需要限制或局限单个服务器或被定义为单个主机主体的一 个或多个服务器集群对特定存储卷的存取。因此,根据一实施例,维 持于存储系统180中的特定卷可分配给选定服务器的所有端口(且并 不到任何其它服务器上的其它端口)。在另一实施例中,对特定存储卷 的存取可限于特定主机实体(其可包括多个服务器)。因此,存储卷可 分配给与该主机实体相关联的每个服务器的所有端口。具体而言,卷 分配给与相应启动器端口相关联的一个或多个WWPN。指示向各个启 动器WWPN分配存储卷的分配信息由存储系统180来维持。根据该 分配,使用被称作“LUN屏蔽”的方法来准予存储系统180对存储卷 的存取。在下文中描述用于执行LUN屏蔽的技术的实例。

在该图示实施例中,准予服务器135-A存取图4所示的卷-1(491) (且并不到服务器135-B或任何其它服务器)。因此,卷-1(491)被分配 给启动器端口I-1的WWPN且分配给服务器135-A的启动器端口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交换机225的两个或两个以上的端口。图 7示出根据一实施例可在FC交换机225内建立的分区配置的实例。 在图7的图示实施例中,端口P-1经由内部路径771分区到端口P-5, 端口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的目标端 口,尽管在各个端口之间有物理连接。在图示实施例中(参看图2和图 7),服务器135-A的启动器端口I-1可仅分区到存储系统180的目标 端口T-1,具体地从启动器端口I-1经由链路271到FC交换机225的 端口P-1,然后经由内部路径771在内部到FC交换机225的端口P-5, 然后到存储系统180的目标端口T-1。因此,服务器135-A的启动器 端口I-1能仅向存储系统180的目标端口T-1传输数据和从其接收数 据。应当指出的是虽然在此实例中启动器端口I-1连接到FC交换机 225的端口P-1和P-5,启动器端口I-1可使用软分区方法基于各个端 口的WWPN而不是物理端口连接到任何其它交换机端口。

在该图示实施例中,服务器135-A的启动器端口I-2分区到存储 系统180的两个目标端口。具体而言,启动器端口I-2通过从启动器 端口I-2经由链路272到FC交换机225的端口P-2,然后经由内部路 径772在内部到FC交换机225的端口P-5,然后经由链路281到存储 系统180的目标端口T-1的第一路径分区到目标端口T-1。启动器端 口I-2通过从启动器端口I-2经由链路272到FC交换机225的端口P-2, 然后经由内部路径773在内部到FC交换机225的端口P-6,然后经由 链路282到存储系统180的目标端口T-2的第二路径分区到存储系统 180的目标端口T-2。因此,服务器135-A的启动器端口I-2能仅向存 储系统180的目标端口T-1和T-2传输数据和从其接收数据。如上文 所讨论的那样,分区配置可基于各个端口的WWPN使用软分区方法 而改变,尽管在各个端口之间按有物理连接。

多路径功能

在一实施例中,服务器135-A包括确定由FC交换机225内的特 定分区配置限定的路径之间的关系以及在存储系统180内的LUN屏 蔽和维持于存储系统180内的各种卷的功能。举例而言,参看图3, 服务器135-A的服务管理器325可包括多路径功能。或者,这样的功 能可由驻留于服务器135-A上的单独软件应用程序来实施。这样的软 件应用程序有时被称作多路径软件应用程序。

在该图示实施例中,服务管理器325使用多路径功能来检查在服 务器135-A与存储系统180之间的所有可用路径(考虑在FC交换机 225内建立的任何内部分区和在存储系统180内建立的LUN屏蔽)且 识别可经由每个相应路径存取的每个存储卷。因此,服务管理器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,确定服务器的每个启动器端口的WWPN 或者被分区到存储系统180的选定目标端口的主机实体,且识别被分 配到服务器或主机实体的每个相应WWPN的存储系统中的所有存储 卷。

图8示出根据一实施例的拦截器具890的功能构件。拦截器具890 包括拦截器流程810、存储器815和数据管理服务848。拦截器流程 810控制拦截器具890的各种构件的操作。拦截器流程810为能由软 件、硬件或软件与硬件的组合实施的功能流程。存储器815由拦截器 具890的各个构件用于存储数据。拦截器具890还包括拦截器端口846 和847。拦截器端口846和847可使用一个或多个主机总线适配器来 实施。

在一实施例中,拦截器具890包括计算机。也可使用其它类型的 处理设备。

拦截器具890可使用多种方法中的任一方法插入于FC交换机225 的选定端口与存储系统180的目标端口之间。举例而言,在图示实施 例中,移除了在FC交换机225的端口P-5与存储系统180的目标端 口T-1之间的链路281,如图9A所示的那样。

在服务器135中的多路径功能确保了关于维持于存储系统180中 的任何卷,移除链路281不会中断数据流动。举例而言,服务器135 的服务管理器325可检测到链路281移除且确定启动器端口I-1不再 与存储系统180通信。服务管理器325可使用多路径功能来确定与卷 -1有关的任何I/O命令可从启动器端口I-1(由于移除了链路281,其可 能不再与存储系统180通信)重导向至启动器端口I-2,其还具有对卷 -1的存取且能通过另一可用路径与存储系统180通信。

在该图示实施例中,拦截器具890以下面的方式来插入。参看图 9B,拦截器具890的拦截器端口846由链路981连接到FC交换机225 的端口P-5,且拦截器端口847由链路982连接到存储系统180的目 标端口T-1。

拦截器具890现与基于光纤信道的SAN 115的构件通信以便获得 关于存储于存储系统180中的数据的信息。图10为根据一实施例用 于与网络的构件通信的方法的流程图。在步骤1010,由位于交换机的 交换机端口与存储系统的目标端口之间的路径中的设备来识别存储 系统的目标端口的目标全球端口名称。在该图示实施例中,当存储系 统180的目标端口T-1连接到拦截器具890的拦截器端口847时,目 标端口T-1试图向器具890注册。因此,目标端口T-1向拦截器具890 传输注册或完成光纤信道登陆的请求。该请求包含目标端口T-1的 WWPN。拦截器具890接收请求且检索目标端口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注册时,分区到目标端口T-1的 任何服务器135(或主机实体)的所有启动器端口向拦截器端口846注 册。在第二注册过程期间,每个启动器端口传输识别其相应全球端口 名称的注册信息。因此,启动器端口I-1和I-2中的每一个(其被分区 到目标端口I-1)向拦截器端口846注册且向拦截器端口846提供规定 其全球端口名称的信息。具体而言,启动器端口I-1在注册信息中提 供其全球端口名称(WWPN-1)且启动器端口I-2提供其全球端口名称 (WWPN-2)。启动器端口I-1也可在注册信息中包括识别其所连接的交 换机端口P-1的交换机端口标识符。启动器端口I-2也可在注册信息 中包括识别其所连接的交换机端口P-2的交换机端口标识符。

在步骤1040,基于注册信息来确定服务器(或主机实体)的启动器 端口的启动器全球端口名称。因此,拦截器具890从所接收的注册信 息获得服务器135-A的每个启动器端口的全球端口名称。具体而言, 拦截器具890的拦截器流程810确定WWPN-1为启动器端口I-1的全 球端口名称且WWPN-2为启动器端口I-2的全球端口名称。以此方式, 拦截器具890确定分区到存储系统180的目标端口T-1的服务器135-A 的每个启动器端口的启动器全球端口名称。

在一替代实施例中,从启动器端口接收的注册信息并不包括启动 器端口的全球端口名称,而是包括识别启动器端口所连接的交换机端 口的交换机端口标识符。举例而言,启动器端口I-1提供指示其连接 到交换机端口P-1的注册信息且启动器端口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)。

在步骤1050,基于启动器端口的启动器全球端口名称来识别与启 动器端口相关联的存储系统中一个或多个存储卷。在该图示实施例 中,拦截器具890现欺骗服务器135的每个启动器端口来从存储系统 180获得信息。具体而言,拦截器具890的拦截器流程810使用标准 过程来向拦截器具890的(下游)拦截器端口847添加分区到目标端口 T-1的启动器端口的启动器全球端口名称。因此,拦截器流程810向 拦截器端口847添加WWPN-1和WWPN-2。在启动器全球端口名称 添加到拦截器端口847之后,拦截器流程810可以下文所述的方式从 存储系统180获得识别每个相应启动器全球端口名称存取的一个或多 个卷的信息。

对于现与拦截器具890的端口847相关联的每个启动器全球端口 名称,拦截器流程810向存储系统180传输规定相应启动器WWPN 且请求识别启动器WWPN存取的卷的信息的命令。举例而言,拦截 器流程810可根据SCSI协议来传输REPORT LUN命令。存储系统 180接收命令且响应地传输指示规定的启动器WWPN存取的一个或 多个卷的信息。因此在图示实施例中,拦截器流程810向存储系统180 传输规定WWPN-1的REPORT LUN命令。响应地,存储系统180向 拦截器具890传输指示WWPN-1存取卷-1(491)的信息。拦截器流程 810向存储系统180传输规定WWPN-2的REPORT LUN命令。响应 地,存储系统180向拦截器具890告知WWPN-2存取卷-1(491)。

如上文所讨论的那样,在某些实施例中,从存储系统180所接收 的关于哪些卷可由每个相应启动器全球端口名称存取的信息是不明 确的且不能规定多少唯一卷可由各个启动器全球端口名称可存取。因 此,拦截器具890可拦截从存储系统180获得的指示实际存在更多存 储卷的信息。因此,拦截器具890可调解从存储系统180接收的信息 以判断识别的存储卷是否为唯一的或者识别的存储卷中的一个或多 个是否为相同的且因此冗余。

因此,在一实施例中,拦截器流程810向每个识别的卷传输命令 (诸如,SCSI命令,被称作INQUIRY命令)以获得与卷相关联的全球 唯一标识符(GUID)。响应于该命令,卷向拦截器具890传输规定其全 球唯一标识符的消息。基于以此方式接收的GUID,拦截器流程810 确定存在多少唯一卷且识别的卷中的任一个是否为冗余的。每个卷的 全球唯一标识符的实施方式可基于存储系统的制造商而不同。在某些 实施例中,可需要非标准的命令来检索构成GUID的信息。

使用本文所述的方法,拦截器具890识别分区到存储系统180的 选定目标端口的启动器WWPN且识别启动器WWPN可存取的存储系 统180内的一个或多个卷。此方法可用于识别与选定服务器(或主机实 体)相关联的多个WWPN。拦截器具180然后可识别WWPN可存取的 存储系统180内的所有卷。因此拦截器具890可识别服务器或主机实 体存取的所有卷。

本文所述的系统和方法有利地允许在FC交换机225与存储系统 180之间的数据路径中插入拦截器具890使得可透明地拦截所有I/O 命令。本文所述的系统和方法进一步允许透明地插入拦截器具890, 而不会中断存储系统180或网络的操作。

提供数据管理服务

根据一实施例,拦截器具890提供关于存储于存储系统180中的 数据的一个或多个数据管理服务。参看图8,拦截器具890包括数据 管理服务848,其包括提供一个或多个数据管理服务的功能。举例而 言,数据管理服务848可包括拷贝数据,执行数据图像的快照,备份 数据,复制数据,执行从一个存储设备或系统另一存储设备或系统的 数据迁移的功能。数据管理服务848可包括用户介面功能。举例而言, 由拦截器具890使用本文所述的方法识别的存储卷和主机实体可使用 用户介面向用户呈现以便于用户选择一个或多个卷和用户希望关于 选定卷执行的一个或多个服务。

在一实施例中,在识别了特定服务器或主机实体存取的一个或多 个卷之后,以上文所述的方式,拦截器具890可使用这条信息来提供 一个或多个数据管理服务。图11示出可用于提供数管理服务的通信 系统100的另一实施例。在图11的实施例中,通信系统100还包括 链接到网络115的备份存储系统1140。在一图示实施例中,拦截器具 890包括复制特定主机实体(在此实例中,服务器135-A)准予存取的一 个或多个卷。因此,拦截器具890识别主机实体存取的存储系统180 中的卷,且拷贝该卷到备份存储系统1140。

为了在拷贝数据时由主机实体向该卷写入新数据的情况下确保 完整和准确的拷贝,拦截器具890记录在拷贝过程中写入到卷内的任 何数据的位置。以此方式,拦截器具890跟踪写入于卷内的新数据。 在第一回合完成之后,拦截器具890咨询指示新数据位置的记录且在 随后回合中拷贝新数据。也可执行额外回合。

图12为根据一实施例提供数据管理服务的方法的流程图。在步 骤1210,由位于交换机的交换机端口与存储系统的目标端口之间的路 径中的设备来确定连接到交换机的主机实体的启动器端口的标识符。 以上文所述的方式,拦截器具890的拦截器流程810识别主机实体(服 务器135-A)的启动器端口I-1的启动器WWPN。在该图示实施例中, 启动器端口I-1的WWPN为WWPN-1。

在步骤1220,基于标识符来识别启动器端口存取的存储系统中的 存储卷。在该图示实施例中,拦截器流程810以上文所述的方式确定 WWPN-1存取维持于存储系统180中的卷-1。

在识别了存储系统180中的卷之后,利用规定主机实体的一个或 多个启动器WWPN的详细且精细的信息,拦截器具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中的选定卷发送和从 该选定卷发送的I/O命令且可生成关于I/O命令的统计。在另一实施 例中,数据管理服务848可监视至选定存储卷和自选定存储卷的通信 量且如果检测到预定条件,调用预定函数来执行规定行动。举例而言, 数据管理服务848可通知管理员,如果规定的启动器端口向选定卷写 入数据。

虽然在基于光纤信道的SAN的情形下描述了本文所述的实施例, 本文所述的方法和系统并不限于用于基于光纤信道的SAN内。在其 它实施例中,本文所述的方法和系统可结合其它类型的通信系统和网 络来使用。举例而言,本文所述的方法和系统可用于使用iSCSI协议 的通信系统中。

在各种实施例中,本文所述的方法步骤,包括描述于图10和/或 图12中的方法步骤,可以不同于所描述或图示的特定次序的次序来 执行。在其它实施例中,可提供其它步骤,或者可从所描述的方法排 除步骤。

本文所述的系统、仪器和方法可使用数字电路或者使用利用熟知 计算机处理器、存储器单元、存储设备、计算机软件和其它构件的一 个或多个计算机来实施。通常,计算机包括用于实行指令的处理器和 存储指令和数据的一个或多个存储器。计算机也可包括或联接到一个 或多个大容量存储设备,诸如一个或多个磁盘、内部硬盘和可移除的 盘,磁光盘、光盘等。

本文所述的系统、仪器和方法可使用以客户端-服务器关系操作的 计算机来实施。通常,在这样的系统中,客户端计算机位于距服务器 计算机较远处且经由网络交互。客户端-服务器关系可由在相应客户端 和服务器计算机上运行的计算机程序来限定和控制。

本文所述的系统、仪器和方法可用于基于网络的云计算系统内。 在这样的基于网络的云计算系统中,连接到网络的服务器或另一处理 器经由网络与一个或多个客户端计算机通信。客户端计算机可例如经 由驻留于且操作于客户端计算机上的网络浏览器应用程序与服务器 通信。客户端计算机可在服务器上存储数据且经由网络存取数据。客 户端计算可经由网络向服务器传输对数据的请求或者对于联机服务 的请求。服务器可执行所请求的服务且向客户端计算机提供数据。服 务器也可传输数据,数据适于使得客户端计算机执行规定的功能,例 如,执行计算,以在屏幕上显示规定数据等。

本文所述的系统、仪器和方法可使用有形地实施于信息载体中的 计算机程序产品来实施,例如在非暂时机器可读存储设备中,例如由 可编程的处理器来实行,且本文所述的方法步骤,包括图10和/或图 12的步骤中的一个或多个可使用可由这样的处理器实行的一个或多 个计算机程序来实施。计算机程序为可在计算机中直接地或间接地执 行特定活动或带来特定结果的计算机程序指令的集合。计算机程序可 以任何形式的编程语言写入,包括编译或解释语言,且其能以任何形 式部署,包括作为独立程序或模块、构件、子例程或适用于计算环境 中的其它单元。

在图13中示出可用于实施本文所述的系统、仪器和方法的示例 性计算机的高层次方块图。计算机1300包括处理器,其在操作上联 接到数据存储设备1302和存储器1303。处理器1301通过实行限定这 样的操作的计算机程序指令来控制计算机1300的总操作。计算机程 序指令可存储于数据存储设备1302或其它计算机可读媒体中且当需 要实行计算机程序指令时加载到存储器1303内。因此,图10的方法 步骤可由存储于存储器1303和/或数据存储设备1302中的计算机程序 指令限定且受到实行计算机程序指令的处理器1301来控制。举例而 言,计算机程序指令能实施为本领域技术人员编程的计算机可实行的 代码以执行由图10和/或图12的方法步骤所限定的算法。因此,通过 实行计算机程序指令,处理器1301实行由图10和/或图12的方法步 骤所限定的算法。计算机1300还包括用于经由网络与其它设备通信 的一个或多个网络接口1304。计算机1300还包括能使得用户与计算 机1300交互的一个或多个输入/输出设备1305(例如,显示器、键盘、 鼠标、扬声器、按钮等)。

处理器1301可包括通用微处理器和专用微处理器且可为唯一处 理器或计算机1300的多个处理器之一。处理器1301可例如包括一个 或多个中央处理单元(CPU)。处理器1301、数据存储设备1302和/或 存储器1303可包括一个或多个专用集成电路(ASIC)和/或一个或多个 场可编程的门极阵列(FPGA),由一个或多个专用集成电路(ASIC)和/ 或一个或多个场可编程的门极阵列(FPGA)实施或者合并于一个或多 个专用集成电路(ASIC)和/或一个或多个场可编程的门极阵列(FPGA) 中

数据存储设备1302和存储器1303各包括有形非暂时计算机可读 存储存储媒体。数据存储设备1302和存储器1303可各包括高速随机 存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储 器(SRAM)、双数据速率同步动态随机存取存储器(DDR RAM)或其它 随机存取固态存储器设备,且可包括非易失性存储器,诸如一个或多 个磁盘存储设备,诸如内部硬盘和可移除的盘,磁光盘存储设备、光 碟盘存储设备、闪速存储器设备、半导体存储器设备,诸如可擦除可 编程的只读存储器(EEPROM)、光碟只读存储器(CD-ROM)、数字多用 盘只读存储器(DVD-ROM)盘或其它非失性的固态存储设备。

输入/输出设备1305可包括外围装置,诸如打印机、扫描仪、显 示屏等。举例而言,输入/输出设备1305可包括显示设备,诸如阴极 射线管(CRT)或用于向用户显示信息的液晶显示器(LCD)监视器,键盘 和指点设备,诸如鼠标或跟踪球,用户能用它来提供对计算机1300 的输入。

本文所讨论的任何或所有系统和仪器包括客户端160、服务器 135、光纤信道交换机225、存储系统180和拦截器具890和其构件, 包括服务管理器325、存储器375、存储管理器410、存储器475、存 储装置468、交换机管理器525、存储器575、拦截器流程810、存储 器815、数据管理服务848和在这些仪器或构件内的所有端口可使用 诸如计算机1300这样的计算机来实施。

本领域技术人员应认识到实际计算机或计算机系统的实施方式 可具有其它结构且也可包含其它构件,且出于说明目的,图13为这 样的计算机的构件中某些构件的高层次图示。

前文的发明详述应被理解为在每个方面是说明性且示例性的而 不是限制性的,且本文所公开的本发明的范围并不从发明详述来确 定,而是仅从权利要求来确定,如根据专利法许可的完整范围来理解。 应了解本文所示和所述的实施例仅说明本发明的原理且在不偏离本 发明的范围和精神的情况下可由本领域技术人员实施各种修改。在不 偏离本发明的范围和精神的情况下本领域技术人员能实施各种其它 特点组合。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号