首页 / 专利库 / 物理 / 质量 / iSCSI的服务质量

iSCSI的服务质量

阅读:243发布:2020-06-11

专利汇可以提供iSCSI的服务质量专利检索,专利查询,专利分析的服务。并且一种适合于为iSCSI环境提供服务 质量 (QoS)的系统,该系统包括一个或多个发起者以及一个或多个目标。每个发起者包括iSCSI发起者和TCP层。iSCSI发起者包括用于根据QoS策略为一个或多个iSCSI PDU进行整形的QoS整形器。TCP层包括用于根据QoS策略对PDU进行标记的QoS标记器。该目标包括第一和第二QoS组件。第一QoS组件处于iSCSI目标中并处理I/O资源。第一QoS组件根据QoS策略对读命令和写命令进行整形。第二QoS组件在TCP层中并且处理网络资源。iSCSI PDU根据iSCSI的QoS策略被整形和标记。发起者和目标所使用的QoS包括用于网络资源的策略和用于I/O资源的策略。,下面是iSCSI的服务质量专利的具体信息内容。

1.一种适合于为iSCSI环境提供服务质量(QoS)的发起者节 点,该发起者节点包括:
iSCSI发起者,所述iSCSI发起者包括QoS整形器,所述QoS 整形器用于根据QoS策略为一个或多个PDU进行整形,所述QoS策 略包括用于网络资源的策略和用于I/O资源的策略;以及
TCP层,所述TCP层用于从所述iSCSI发起者接收所述PDU, 并包括用于根据所述QoS策略对所述PDU进行标记的QoS标记器。
2.根据权利要求1的发起者节点,其中所述PDU为命令PDU, 并且其中所述整形器在所述命令PDU接收命令序号之前,对所述命令 PDU进行整形。
3.根据权利要求1的发起者节点,其中所述PDU是数据PDU 和命令PDU,其中所述数据PDU和命令PDU在所述TCP层中被接 收之前被整形。
4.根据权利要求1的发起者节点,进一步包括:
在TCP层中的第二整形器,用于对除iSCSI之外的应用的网络 业务进行整形。
5.一种适合于为iSCSI环境提供服务质量的目标节点,该目标 节点包括第一QoS组件和第二QoS组件,其中,
第一QoS组件位于iSCSI目标中,用于处理I/O资源,并用于根 据QoS策略对一个或多个读命令和一个或多个写命令进行整形,从而 为来自非遵从发起者的业务提供QoS,所述QoS策略包括用于网络资 源的策略和用于I/O资源的策略;并且其中,
第二QoS组件位于TCP层中,用于处理网络资源,其中iSCSI PDU根据iSCSI的QoS策略被整形和标记。
6.根据权利要求5的目标节点,其中所述目标节点提供对多个 逻辑单元的接入,每一个所述逻辑单元都具有多个任务集,每一个所 述任务集都具有相关的服务等级,其中两个或更多的所述相关的服务 等级是相同的。
7.根据权利要求5的目标节点,其中所述目标节点提供对多个 逻辑单元的接入,每一个所述逻辑单元都具有多个任务集,每一个所 述任务集都具有相关的服务等级,其中两个或更多的所述相关的服务 等级彼此不同。
8.一种适合于为iSCSI环境提供服务质量(QoS)的系统,该 系统包括:
一个或多个发起者节点,每个所述发起者节点包括iSCSI发起者 和TCP层,其中所述iSCSI发起者包括发起者QoS整形器,所述发 起者QoS整形器用于利用QoS策略对一个或多个PDU进行整形,所 述QoS策略包括用于网络资源的策略和用于I/O资源的策略,并且其 中所述TCP层用于从所述iSCSI发起者接收所述PDU,并包括用于 利用所述QoS策略对所述PDU进行标记的QoS标记器;以及
一个或多个目标节点,用于通过IP网络从所述发起者节点接收 所述PDU,每一个所述目标节点包括第一QoS组件和第二QoS组件, 其中第一QoS组件位于iSCSI目标中,用于处理I/O资源,并用于利 用QoS策略对从所述PDU提取的一个或多个读命令和一个或多个写 命令进行整形,并且其中第二QoS组件位于TCP层中,用于处理网 络资源,其中iSCSI PDU利用iSCSI的QoS策略被整形和标记。
9.根据权利要求8的系统,其中,所述发起者QoS整形器所使 用的所述QoS策略不同于在所述目标节点中的所述第一和第二QoS 组件所使用的所述QoS策略。
10.根据权利要求8的系统,进一步包括:
与所述发起者节点和目标节点通信的服务平协定代理,其中所 述服务水平协定代理为所述发起者节点和所述目标节点提供所述QoS 策略。
11.根据权利要求8的系统,其中,所述发起者节点和所述目标 节点对于每个iSCSI会话的多种服务等级支持多种独立的连接。
12.根据权利要求8的系统,该系统还包括:
多个过滤器规范属性,其中所述过滤器规范属性中的一个或多个 适合于反映iSCSI业务类型。
13.根据权利要求12的系统,其中所述过滤器规范属性包括以 下的一个或多个:TCP四元组,iSCSI会话id,逻辑单元号,发起者 用户id和应用识别属性。
14.根据权利要求12的系统,其中所述过滤器规范属性适合于 为网络资源和I/O资源提供QoS。
15.根据权利要求12的系统,其中所述过滤器规范属性被一个 或多个发起者节点以及一个或多个目标节点使用,并且其中所述发起 者节点所使用的所述过滤器规范属性不同于所述目标节点所使用的所 述过滤器规范属性。
16.根据权利要求8的系统,该系统还包括:
多个流规范参数,其中所述流规范参数中的一个或多个适合于 iSCSI业务类型。
17.根据权利要求16的系统,其中所述流规范参数包括以下的 一个或多个:I/O率,字节率和I/O流超过量。
18.根据权利要求16的系统,其中所述流规范参数适合于为网 络资源和I/O资源提供QoS。
19.根据权利要求16的系统,其中所述流规范参数被一个或多 个发起者节点以及一个或多个目标节点使用,并且其中所述发起者节 点所使用的所述流规范参数不同于所述目标节点所使用的所述流规范 参数。
20.一种适合于iSCSI环境的QoS系统,该QoS系统包括整形 器、标记器和第一目标QoS组件,其中,
整形器位于iSCSI发起者中,用于根据QoS策略对一个或多个 PDU进行整形,所述QoS策略包括用于网络资源的策略和用于I/O资 源的策略;
标记器位于发起者节点的TCP层中,用于从所述iSCSI发起者 接收所述PDU,以及用于根据所述QoS策略对所述PDU进行标记; 并且
第一目标QoS组件位于iSCSI目标中,用于处理I/O资源,并用 于接收从所述PDU中提取出的一个或多个命令,并根据QoS策略对 所述命令进行整形。
21.根据权利要求20的QoS系统,进一步包括第二目标QoS组 件,其位于目标节点的TCP层中,用于处理网络资源,其中iSCSI PDU 根据用于iSCSI的QoS策略被整形和标记。
22.一种用于为iSCSI环境提供QoS的方法,该方法包括步骤:
根据QoS策略对iSCSI发起者中的一个或多个PDU进行整形, 所述QoS策略包括用于网络资源的策略和用于I/O资源的策略;以及
根据所述QoS策略在发起者节点的TCP层中对所述整形的PDU 进行标记。
23.根据权利要求22的方法,其中所述PDU为命令PDU,并 且其中所述命令PDU的所述整形发生在为所述命令PDU分配命令序 号之前。
24.根据权利要求23的方法,其中所述命令PDU的所述整形依 据用于I/O资源的QoS策略。
25.根据权利要求24的方法,其中所述命令PDU是包含立即数 据的写命令PDU,其中所述写命令PDU的整形也依据用于网络资源 的QoS策略。
26.根据权利要求22的方法,其中所述PDU是数据PDU和命 令PDU,其中在所述iSCSI发起者中的所述数据PDU和命令PDU的 所述整形发生在将所述数据PDU和所述命令PDU发送给所述TCP 层之前。
27.根据权利要求22的方法,其中所述PDU是数据PDU,其 中所述数据PDU的所述整形依据用于网络资源的QoS策略。
28.根据权利要求22的方法,进一步包括步骤:
通过IP网络在目标节点接收所述PDU;以及
在iSCSI目标中,根据用于I/O资源的QoS策略,对从所述PDU 中提取的一个或多个读命令和一个或多个写命令进行整形,从而为非 遵从业务提供QoS。
29.一种为iSCSI环境提供QoS的方法,该方法包括步骤:
在iSCSI目标处从一个或多个逻辑单元接收数据;以及
根据用于iSCSI的QoS策略对第一和第二QoS组件中的所述数 据进行整形和标记,其中,第一QoS组件在iSCSI目标中,用于处理 I/O资源,第二QoS组件在TCP层中,用于处理网络资源,并且所述 QoS策略为用于网络资源的策略和用于I/O资源的策略。
30.一种为iSCSI环境提供服务质量的系统,该系统包括第一装 置和第二装置,其中,
第一装置用于根据QoS策略对iSCSI发起者中的一个或多个 PDU进行整形,所述QoS策略包括用于网络资源的策略和用于I/O资 源的策略;并且
第二装置用于根据所述QoS策略在发起者节点的TCP层中对所 述整形的PDU进行标记。
31.根据权利要求30的系统,其中所述PDU为命令PDU,并 且其中所述命令PDU的整形发生在为所述命令PDU分配命令序号之 前。
32.根据权利要求30的系统,其中所述PDU是数据PDU和命 令PDU,其中在向所述TCP层发送所述数据PDU和所述命令PDU 之前,对所述iSCSI发起者中的所述数据PDU和所述命令PDU整形。
33.根据权利要求30的系统,进一步包括:
用于通过IP网络在目标节点接收所述PDU的装置;以及
用于根据QoS策略在iSCSI目标对从所述PDU中提取的一个或 多个读命令和一个或多个写命令进行整形,从而为非遵从业务提供 QoS的装置。

说明书全文

技术领域

发明一般涉及服务质量,尤其涉及网络存储系统中的服务质 量。

背景技术

服务质量(QoS)在广义上是指为所选择的网络业务(traffic) 提供更佳服务的网络能。QoS可以由多种基本性能标准来表征,包 括可用性,误差性能,响应时间,由于网络拥塞引起的业务丢失或传 输质量差,等等。
虽然网络的QoS是一个相当发展的领域,网络存储系统成为尚 未由现有技术的QoS协议和技术解决的特殊问题。举例来说,在因特 网协议(IP)网络中,大部分的繁忙业务都是从服务器到客户端。典 型的,业务可能是从服务器到客户端的下载的形式。因此,现有技术 的QoS技术被设计用于解决从服务器到客户端的单向业务。
然而,在网络存储中,繁忙业务可能是双向的,如,或者读活动 或者写活动。读活动可能产生从存储服务器到客户端的繁忙业务。相 反,写活动可能产生从客户端到存储服务器的繁忙业务。现有技术的 QoS技术并不具备解决双向业务的能力。
另一个网络存储问题是非遵从(non-compliant)客户端。在IP 网络业务中,来自客户端的大部分业务相比来自服务器的业务是可以 忽略的。因此,由与服务平协定不一致的客户端引起的损害通常是 无关紧要的。因此,现有技术的QoS技术并没有解决非遵从客户端的 问题。相反,在网络存储系统中,非遵从客户端可能发起大量的繁忙 业务活动,如读或写数据。在用于网络存储的QoS中,因此需要跟踪 和容纳非遵从客户端的业务。现有技术的QoS技术目前还不能满足这 种需要。
以上只是现有技术的QoS技术不能解决网络存储系统的QoS问 题的两个实例。因此需要提供能够解决网络存储系统的独特问题的 QoS技术。

发明内容

因特网小型计算机系统接口(iSCSI)协议能够通过传输控制协 议(TCP)传输小型计算机系统接口(SCSI)协议。iSCSI业务通常 是驻留于分离的网络节点上的发起者和目标之间的双向业务 (traffic)。iSCSI业务利用共享网络和输入输出(I/O)资源,因此 很容易拥塞。
本发明的一个目的是提供用于从其它网络业务中区分iSCSI业务 的QoS技术和协议。类似地,本发明的另一目的是提供对iSCSI业务 的不同实例(例如,来自不同发起者的业务和通往不同逻辑单元(LU) 的业务)进行区分并划分优先等级的QoS技术和协议。
本发明的一个优选实施例可以为iSCSI提供端对端QoS。本发明 的QoS技术和协议可以沿从发起者到目标以及从目标到发起者的流 路径对多种资源提供控制和管理。
本发明的一些实施例可将iSCSI业务局限于网络带宽的某个部 分,由此允许其它业务有充分的服务质量。
根据本发明的一个方面,提供一种适合于为iSCSI环境提供服务 质量的发起者节点。该发起者节点包括iSCSI发起者和TCP层。iSCSI 发起者包括用于根据QoS策略为一个或多个PDU进行整形的QoS整 形器。TCP层从iSCSI发起者接收PDU,并包括用于根据QoS策略 对PDU进行标记的QoS标记器。
所述QoS策略包括用于网络资源的策略和用于I/O资源的策略。
在可选实施例中,PDU为命令PDU。在此情况下,整形器在接 收命令序号(sequence number)之前对命令PDU进行整形。
在其它可选实施例中,PDU是数据PDU和命令PDU。数据PDU 和命令PDU于在TCP层中被接收之前被整形。
本实施例也可在TCP层中包含第二整形器。第二整形器对除 iSCSI之外的应用的网络业务进行整形。
根据本发明的另一方面,提供一种适合于为iSCSI环境提供服务 质量的目标节点。该目标节点包括第一和第二QoS组件(component)。
第一QoS组件在iSCSI目标中并且处理I/O资源。第一QoS组 件根据QoS策略对读命令和写命令进行整形。因此,第一QoS组件 为来自非遵从发起者的业务提供QoS。
第二QoS组件在TCP层中并且处理网络资源。iSCSI PDU根据 iSCSI的QoS策略被整形和标记。
作为选择,目标节点提供对多个逻辑单元(LU)的接入。每一 个LU都具有多个任务集,而且每一个任务集都具有一个相关的服务 等级。在一些实施例中,有两个或更多的相关服务等级是相同的。在 可选实施例中,有两个或更多的相关服务等级彼此不同。
根据本发明的另一方面,由此提供一种适合于为iSCSI环境提供 服务质量(QoS)的系统。该系统包括一个或多个发起者节点以及一 个或多个目标节点。在一些实施例中,该系统还包括服务水平协定 (SLA)代理。代理与发起者节点和目标节点通信,并为发起者节点 和目标节点提供QoS策略。
在可选实施例中,发起者节点所使用的QoS策略不同于目标节 点中所使用的QoS策略。另外,发起者节点和目标节点对于每个iSCSI 会话的多种服务等级可以支持多种独立的连接。
根据本发明的另一方面,提供一种适合于iSCSI环境的QoS系 统。该QoS系统包括多个过滤器规范(specification)属性。这些过 滤器规范属性中的一个或多个适合于反映iSCSI业务类型。
在一些实施例中,过滤器规范属性包括TCP四元组(four-tuple), iSCSI会话ID,LUN,发起者用户id和/或应用识别属性。作为选择, 过滤器规范属性适合于为网络资源和I/O资源提供QoS。
通常,过滤器规范属性被一个或多个发起者节点以及一个或多个 目标节点使用。在一些情况下,发起者节点所使用的过滤器规范属性 不同于目标节点所使用的过滤器规范属性。
根据本发明的另一方面,提供适合于iSCSI环境的另一种QoS 系统。该QoS系统包括多个流规范参数。这些流规范参数中的一个或 多个适合于iSCSI业务类型。
在一些实施例中,流规范参数包括I/O率(I/O rate),字节率 和/或I/O流超过量。作为选择,流规范参数适合于为网络资源和I/O 资源提供QoS。
通常,流规范参数被一个或多个发起者节点以及一个或多个目标 节点使用。在一些情况下,发起者节点所使用的流规范参数不同于目 标节点所使用的流规范参数。
根据本发明的另一方面,提供适合于iSCSI环境的另一种QoS 系统。该QoS系统包括整形器,标记器以及第一目标QoS组件。
整形器在iSCSI发起者中并根据QoS策略对一个或多个PDU进 行整形,。标记器在发起者节点的TCP层中并从iSCSI发起者接收 PDU。标记器还根据QoS策略对PDU进行标记。第一目标QoS组件 在iSCSI目标中,用于处理I/O资源。第一目标QoS组件接收从PDU 中提取出的一个或多个命令,并根据QoS策略对命令进行整形。
作为选择,该系统还在TCP层包括第二目标QoS组件。第二目 标QoS组件处理网络资源。iSCSI PDU根据用于iSCSI的QoS策略 来整形和标记。
根据本发明的另一方面,提供一种用于为iSCSI环境提供QoS 的方法。该方法包括根据QoS策略对iSCSI发起者中的一个或多个 PDU进行整形。该方法还包括根据QoS策略对发起者节点的TCP层 中的PDU进行标记。当PDU为命令PDU时,该方法包括在为命令 PDU分配命令序号之前对命令PDU进行整形。命令PDU的整形通常 根据用于I/O资源的QoS策略进行。
在一些实施例中,命令PDU是包含立即数据(immediate data) 的写命令PDU。写命令PDU是根据用于网络资源的QoS策略以及根 据用于I/O资源的QoS策略进行整形的。
在可选实施例中,PDU是数据PDU和命令PDU。iSCSI发起者 中的数据PDU和命令PDU的整形发生在将数据PDU和命令PDU发 送给TCP层之前。当PDU是数据PDU时,根据用于网络资源的QoS 策略对数据PDU进行整形。
作为选择,该方法包括通过IP网络向目标节点发送PDU。读命 令和写命令从PDU中被提取,并在iSCSI目标中,根据用于I/O资源 的QoS策略被整形,从而为非遵从业务提供QoS。
根据本发明的另一方面,提供一种为iSCSI环境提供QoS的附 加方法。该方法包括在iSCSI目标处接收来自一个或多个LU的数据 并根据用于iSCSI的QoS策略对QoS组件中的数据进行整形和标记。 该QoS策略为用于网络资源的策略。
根据本发明的另一方面,提供一种为iSCSI环境提供服务质量的 系统。该系统包括用于根据QoS策略对iSCSI发起者中的一个或多个 PDU进行整形的装置。该系统还包括用于根据QoS策略在发起者节 点的TCP层对整形的PDU进行标记的装置。
根据本发明的另一方面,提供一种包含在计算机可读介质软件中 的计算机程序。该计算机程序包括用于根据QoS策略对iSCSI发起者 中的一个或多个PDU进行整形的第一程序段。用于根据QoS策略在 发起者节点的TCP层中对整形的PDU进行标记的第二程序段。
在可选实施例中,该程序包括用于通过IP网络在目标节点处接 收PDU的第三程序段。第四程序段用于根据QoS策略在iSCSI目标 对读命令和写命令进行整形,从而为非遵从业务提供QoS。
附图说明
下面参考附图,通过举例描述本发明的实施例,其中:
图1是根据本发明的一个实施例构成和操作的,用于网络存储系 统的服务质量(QoS)体系结构和系统的方框图
图2A是根据本发明的一个实施例构成和操作的,发起者和目标 之间的会话的框图,以及示意从发起者到目标的命令协议数据单元 (PDU)的业务流的框图;
图2B是根据本发明的一个实施例构成和操作的,发起者和目标 之间的会话框图,以及示意从发起者到目标的数据PDU的业务流的框 图;
图3是根据本发明的一个实施例构成和操作的,发起者和目标之 间的会话框图,以及示意从目标到发起者的数据PDU的业务流的框 图。

具体实施方式

术语汇编
●服务等级(CoS)
通过在具有给定级别的服务优选级的等级中组合相似类型的业 务,在诸如网络中管理业务的方法。等级是通过一组与业务域有关的 属性确定的(参见过滤器规范)。该术语还用于指一种特定的服务等 级。
●命令描述符(CDB)
包含SCSI命令和其属性的数据结构。CDB在命令PDU中从 iSCSI发起者被发送到iSCSI目标。CDB是在SCSI体系结构中定义 的。
●命令PDU
包含SCSI命令的细节(特别是CDB)的iSCSI协议中的PDU。 命令PDU还可包含立即数据输出。
●命令序号
通过iSCSI协议与SCSI命令相关的数值。序号由iSCSI发起者 分配并在命令PDU的字段中传送。命令序号是整个会话范围内的,并 用于穿越会话的所有连接,连续地按次序地传送目标处的命令。需要 iSCSI目标,以便以命令序号的连续顺序向SCSI执行引擎传送命令。
●连接
发起者节点和目标节点之间的TCP连接。每个连接都属于一个 会话。在一个会话中可以有多个连接。在iSCSI协议中每个连接具有 唯一的id。一个连接也可以通过本地TCP端口号在每一端识别。每 个连接与单个服务等级相关联。可以使用多个连接来支持一个会话中 的多个服务等级。
●连接结合(allegiance)
在双方向上,通过同一连接发送单个SCSI命令的所有PDU的 iSCSI需求。这包括命令PDU,数据PDU,响应及控制PDU。
●数据输入
从目标向发起者发送的作为SCSI读命令的协议的一部分的数 据。
●数据输出
从发起者向目标发送的作为SCSI写命令的协议的一部分的数 据。数据输出可以由目标请求,或者不经请求,主动提供。
●数据PDU
在iSCSI协议中包含数据输入或数据输出的PDU。
●区别业务(DiffServ)
根据业务分类,用于在因特网中实现可缩放的业务区别的标准 (RFC 2474)。DiffServ是由因特网工程任务组(IETF)的网络工作 组定义的。
●过滤器规范
在确定业务的服务等级时使用的一组属性。过滤器规范属性的例 子可包括TCP四元组,LUN,会话id,等等。
●流(flow)
可由DiffServ体系结构区分的业务流的最细粒度。
●流规范
在描述流时使用的一组参数。流规范参数的例子可包括带宽需 求,可接受的最大延迟,损失率,等等。每种服务等级都有其自己的 流规范。
●一般SCSI执行引擎
与确定的I/O资源无关的SCSI执行引擎。执行引擎可以访问本 地SCSI LU,或者充当另一网络的网关,如存储区网络(SAN)。
●立即数据
作为iSCSI写命令PDU的一部分发送的数据输出。其构成不经 请求主动提供的数据的第一(或唯一)部分。立即数据具有在发起者 和目标之间可协商的最大尺寸。
●发起者*
iSCSI协议中的客户端。其向称为目标的服务器发送请求,以访 问逻辑单元中存储的数据。该术语还可用于识别实现发起者功能的系 统组件(驱动器)。该术语还指SCSI协议中的客户端,以及实现该 功能的系统组件(驱动器)。
●发起者节点*
包含SCSI和/或iSCSI发起者的功能的网络节点。
*在此应指出,根据上下文,术语“发起者”一般是指iSCSI发起 者,SCSI发起者或发起者节点。
●iSCSI
因特网SCSI——SCSI协议在TCP传输上的映射。在iSCSI中, 发起者和目标驻留在独立的网络节点,并经由通过TCP传输的PDU 通信。iSCSI是由因特网工程任务组(IETF)的因特网协议存储(IPS) 工作组定义的标准。
●I-T-L联系(Nexus)
特定发起者,特定目标以及特定逻辑单元之间的关系,定义SCSI 命令传送的环境。该术语与任务集松散相关。
●逻辑单元(LU)
在目标可访问的数据装置,在该数据装置上执行iSCSI命令。每 个目标可以提供对多个逻辑单元的接入。每个逻辑单元可唯一识别。
逻辑单元号(LUN)
识别目标处的每个逻辑单元的唯一号码。该术语还用于指一个特 定的逻辑单元。
●标记
根据定义的策略,在分组的IP头部中设置TOS字节的过程。
●非遵从发起者
生成非遵从业务的iSCSI发起者。
●非遵从业务
不符合特定服务等级的流规范的业务。
●策略
定义例如在网络中,如何在用户之间共享资源的形式语句集。
●协议数据单元(PDU)
从发起者向目标或者从目标向发起者发送的消息,作为iSCSI协 议的一部分。PDU包含命令、响应、控制信息以及数据。
●SCSI
小型计算机系统接口——用于与I/O装置,特别是存储装置通信 的协议族。SCSI是由国家信息技术标准委员会(NCITS)的T10技 术委员会定义的标准。其提供了客户端/服务器体系结构,其中客户端 (称为发起者)向服务器(称为目标)发送命令以执行I/O业务,如 读和写数据。
●SCSI执行引擎
在目标节点处的组件。SCSI执行引擎负责从iSCSI目标接收从 命令PDU中提取的SCSI命令,并提交该命令用于执行。
●服务水平协定(SLA)
业务提供者和用户之间的合约,通常以可测量条款,指定由业务 提供者向用户提供什么业务。
●服务水平协定(SLA)服务器
在网络上维护SLA并能够将它们转换为策略的节点。SLA服务 器负责向其它网络节点散布策略。
●会话
在iSCSI协议中特定发起者和特定目标之间的关联。会话由一个 或多个连接组成。会话向发起者提供在目标可访问的LU的集合的一 致视图。SCSI命令以在整个会话内的序列顺序,在目标处传送。每个 会话具有一组属性,这组属性控制协议并且可以在发起者和目标之间 协商。每个会话由该会话的每一侧的一个唯一标识符识别。在每个发 起者和目标之间可有多个会话。
●整形
在一个服务等级内延迟业务,以使其符合一个确定的流规范的过 程。
●请求的数据(solicited data)
响应来自目标的请求发送的数据输出。请求是以从目标发送 (R2T)PDU的请求的形式。对于给定的写命令可以有多个R2T,每 个R2T请求数据的一个不同部分。R2T的数量和每个数据部分的尺寸 由目标确定。
●目标**
iSCSI协议中的服务器。其可以访问LU的集合。目标从客户端 (称为发起者)接收请求。该术语还用于识别实现目标功能的系统组 件(驱动器)。该术语还指SCSI协议中的服务器以及实现该功能的 系统组件(驱动器)。
●目标节点**
包含SCSI和/或iSCSI目标的功能的网络节点。
**在此应指出,根据上下文,术语“目标”通常是指iSCSI目标, SCSI目标或目标节点。
●任务
从发起者发出的iSCSI请求,来自目标的针对该请求的响应待定。 该术语还指在进行中的SCSI命令或SCSI命令的链接列表,如SCSI 体系结构中所定义的那样。
●任务集
访问同一个逻辑单元的任务的集合。根据在目标的配置,对于每 一个LU,存在包含来自所有发起者的任务的单个任务集,或者每个 发起者的独立任务集,后者对应于I-T-L联系。
●服务类型(TOS)字节
当按照DiffServ解释时,IPv4头部的“服务类型”八位字节字段, 或IPv6的“业务等级”八位字节字段。
●不经请求主动提供的数据(unsolicited data)
不等待来自目标的请求发送的数据输出。不经请求主动提供的数 据具有可协商的最大尺寸,并且在一个或多个PDU中发送。不经请求 主动提供的数据的第一部分可以是立即数据。
现在参照图1,用于网络存储环境,如iSCSI环境的服务质量 (QoS)体系结构和系统。QoS 10可以提供用于iSCSI业务的端对端 服务质量的技术和协议。
为说明起见,应指出,iSCSI能够通过TCP传输SCSI协议。虽 然本发明是在iSCSI环境中描述的,显然本领域的技术人员知道,本 发明可应用于提供网络存储能力的其它技术或协议。
本发明的一个优选实施例修改现有的网络QoS技术以适用于 iSCSI环境,然而,存在较大的方法差别。以下一些主要问题在现有 技术的QoS系统中没有得到解决,但是被QoS系统10解决:
1)用于iSCSI的端对端QoS涉及多种类型的资源,包括网络资 源和I/O资源。I/O资源可以是逻辑单元。现有技术的QoS技术只解 决了一种类型的资源,通常为网络资源。
2)通过IP网络传输SCSI业务对用于网络的QoS造成了独特的 挑战,如
a)严格的时间敏感性——由于SCSI性能需求,iSCSI业务通常 比其它IP网络业务对响应时间更为敏感。通过网络传输存储业务可能 引入额外的延迟,以及潜在的数据丢失,这些都会影响响应时间;以 及
b)长时间的通信会话——网络连接的典型使用都是短时间的。 相反,iSCSI会话的连接意在时间更长;
c)iSCSI业务是双向的。在IP网络中,通常大部分的繁忙业务 是单向的,从服务器到客户端。举例来说,以从服务器到客户端的下 载形式。
现有技术的QoS技术没有解决在2a),b)和c中列举的独特问 题。
3)依赖于iSCSI协议的需求。在现有技术中,网络QoS技术和 协议是在TCP层中实现的。由于以下将要详细说明的理由,由于有 iSCSI需求,不可能在TCP层对iSCSI实现所有的QoS技术和协议。
4)iSCSI发起者可能与业务水平协定不一致。在iSCSI的分布式 环境中,一些发起者可能与QoS策略不一致,或者甚至根本就没有可 实现的QoS。这些发起者可能使得目标充满命令PDU,引起目标处的 I/O拥塞。目标应具备QoS方法来防止这种情况的发生。在现有技术 中,目的地并不跟踪不一致源。
本发明的一个优选实施例使DiffServ技术和协议适用于过滤器 和流规范。本发明还另外识别新的过滤器规范属性和新的流规范参数。
在一个优选实施例中,多个QoS组件均处理一部分iSCSI业务。 因此,每个QoS组件都可以沿着iSCSI业务的端对端路径定位在一个 不同资源,而且可以处理特定类型的业务,如命令、数据输入和数据 输出。
下面将详细描述,QoS组件的布局可能受对于iSCSI的依赖性的 影响。一些QoS活动可能发生在TCP层,而其它QoS活动可能发生 在iSCSI组件中。
本领域的技术人员知道,本发明的QoS技术不同于所有业务都 在TCP层中处理的现有技术的网络QoS技术。
重新参考图1,QoS系统10包括发起者节点20,目标节点30 和SLA服务器40。QoS 10中的单元通过IP网络46通信。尽管为了 清晰起见,图1只示意了一个发起者节点20和一个目标节点30,但 本领域的技术人员显然知道,QoS 10可以包括许多发起者节点20 和许多目标节点30,而且仍然落在本发明的原理之内。SLA服务器 40可以是与一个或多个发起者20以及一个或多个目标30通信的分离 的服务器。应指出,SLA服务器在本领域中是已知的,因此在此不作 进一步说明。
发起者节点20可包括SCSI发起者组件22,iSCSI发起者组件 24,QoS整形组件26,QoS标记组件28以及TCP层32。目标节点 30可包括SCSI执行引擎组件42,iSCSI目标组件44,TCP层34以 及QoS组件36和38。
会话可以在发起者节点20和目标节点30之间建立。本领域的技 术人员显然知道,尽管在图1中只示意了一个会话,但在每个发起者 节点20和每个目标节点30之间可以有多个会话,而且仍然落在本发 明的真正的宗旨和原理之内。
QoS 10对两种类型的资源使用QoS策略:网络和I/O。应指出, 发起者20处的整形组件26可以处理这两种类型的资源。另外指出, QoS组件36和38均可处理一种类型的资源。QoS 36处理网络资源而 QoS 38处理I/O资源。还应指出,在发起者使用的QoS策略可以与 在目标使用的QoS策略系统相同或不同。
在一些优选实施例中,SCSI执行引擎42可以是一般性的。当 SCSI执行引擎42是另一网络的网关时,如存储区网络(SAN),SCSI 网络引擎42可以负责继续执行其它网络中的QoS。
应指出,在现有技术的实施例中,QoS整形和标记都发生在TCP 层。在本发明的优选实施例中,在发起者节点处的整形可以从TCP移 动到iSCSI发起者。在TCP之前执行整形的目的是解决QoS策略和 iSCSI协议需求之间的潜在的竞态(race condition)条件,这将在之 后进行说明。然后在TCP中进行标记。
应指出,在目标节点没有这种潜在的竞态条件。因此,可以在 TCP中同时进行整形和标记。
以下列出的附图示意了SCSI业务流:
1)图2A示意了发起者20和目标30之间的会话。图2A还示意 了从发起者20到目标30的SCSI读/写命令流。
2)图2B示意了发起者20和目标30之间的会话。图2B还示意 了从发起者20到目标30的数据输出PDU流。
3)图3示意了发起者20和目标30之间的会话。图3还示意了 从目标30到发起者20的数据输入PDU流。
从发起者20到目标30的命令PDU的业务流
现在参照图2A,图2A示意了发起者20和目标30之间的会话, 其上覆盖了SCSI读和写命令的示例性业务流。
SCSI命令在SCSI发起者22中发起。这些命令然后可传送(箭 头50)给iSCSI发起者24。iSCSI发起者24可将每个命令打包在PDU 中,然后将命令PDU提交给QoS整形组件26用于整形。
应指出,在本领域中已知的是,整形组件26在iSCSI,不在TCP。 在TCP前在iSCSI中进行整形的当前目的是解决QoS策略和iSCSI 协议需求之间的潜在竞态条件,这将在以下进行说明。
由iSCSI发起者24向TCP发送的命令PDU携带命令序号。命 令序号用于通过同一会话的多个连接,连续地按次序传送目标30的命 令。如果发起者处的整形将在TCP进行,具有较低命令序号的命令 PDU,在与低服务等级相关的连接上,将在TCP中被阻止。期间,具 有较高序号的另一命令PDU可以通过具有快速服务等级的连接到达 iSCSI目标44。由于序号的顺序,具有快速网络服务等级的后一命令 将在iSCSI目标44被延迟,等待具有低网络服务等级的前一命令。这 种行为可能引起性能降级和使QoS的目的失效。
为了解决该潜在的竞态条件,在发起者20的整形在分配命令序 号之前进行。在本发明的优选实施例中,整形组件26被置于iSCSI 发起者24内。
在本发明中,根据用于I/O资源的QoS策略整形命令PDU。如 果命令PDU也包含立即数据,则根据用于网络资源的QoS策略另外 整形PDU。
iSCSI发起者24然后可发送(箭头52)命令PDU给TCP层32。 TCP层32然后可将业务发送(箭头54)给QoS标记组件28。
被标记的业务可返回(箭头56)给TCP层32。作为一种在本领 域已知的处理,TCP层32可经由IP网络46将命令PDU发送(箭头 58)给目标30。
目标30的TCP层34然后可接收(箭头60)目标PDU。TCP 层34可将命令PDU传送(箭头62)给iSCSI目标44。iSCSI目标44 可提取出SCSI命令并将它们提交给QoS组件38用于整形。QoS组 件38可在将命令传送给SCSI执行引擎之前对这些命令进行整形。应 指出,尽管这些命令已经通过QoS整形组件26被整形,它们仍可提 交给QoS组件38用于整形。这是因为潜在地存在非遵从发起者,正 如上面在本发明解决的第4条问题中解释的那样。iSCSI目标44无法 区分一致和非遵从业务,因此必须提交所有到达的命令PDU用于整 形。
应指出,已经通过QoS整形组件26被整形的来自一致发起者20 的命令可能不受在QoS组件38的附加整形的影响。
iSCSI目标44然后可将这些命令以适当的顺序传送(箭头64) 给SCSI执行引擎42。
应指出,本示意描绘了与TCP层32分离的QoS标记组件28。 然而,在可选实施例中,QoS标记组件28可以在TCP层32之内,而 且仍然落在本实施例的原理之内。
另外指出,标记组件28可负责标记从发起者节点20输出的所有 网络业务,包括来自iSCSI以外的应用的业务。另外,发起者节点20 可在TCP层中包含第二整形组件(未示出)。第二整形组件可负责整 形iSCSI以外的应用的网络业务。应理解,上述替换包含在本发明的 真正的宗旨和范围之内。
从发起者20到目标30的数据输出PDU的业务流
现在参照图2B,图2B示意了发起者20和目标30之间的会话, 其上覆盖了数据输出PDU的示例性业务流。
数据输出在SCSI发起者22中发出,发起者22可将其传送(箭 头70)给iSCSI发起者24。iSCSI发起者24可创建数据输出PDU, 而且数据输出PDU然后可被提交给QoS整形组件26用于整形。
QoS整形组件26可将数据输出PDU发送(箭头72)给TCP层 32。TCP层32可提交(箭头74)业务给QoS标记组件28用于标记。 QoS标记组件28然后可返回(箭头76)标记的业务给TCP 32,TCP 32可通过IP网络46将数据输出PDU发送(箭头78)给目标30。
TCP层34可接收(箭头80)数据输出PDU并将它们传送(箭 头82)给iSCSI目标44。iSCSI目标44可从PDU中提取出数据,而 且该数据然后可被传送(箭头84)给SCSI执行引擎42。
从目标30到发起者20的数据输入PDU的业务流
现在参照图3,图3示意了发起者20和目标30之间的会话,其 上覆盖了数据输入PDU的示例性业务流。
数据输入在SCSI LU(未示出)中发出。在本实施例中,SCSI 执行引擎可传送(箭头90)数据输入给iSCSI目标44。ISCSI目标 44可创建数据输入PDU并将数据输入PDU输送(箭头92)给TCP 层34。
在现有技术的网络QoS环境中已知的是,TCP层34然后可整形 和标记在目标处的网络业务。因此,TCP层34将数据输入PDU提交 (箭头94)给QoS组件36用于整形和标记。
应指出,在目标节点30的网络过滤器规范可能比在发起者节点 20的简单。这是由于iSCSI连接结合需求,而且因为每个连接在每个 方向只能有一个服务等级。发起者负责选择用于每个命令的连接,而 且该目标必须使用这个连接用于该命令的所有业务。因此,在目标的 服务等级可以根据连接的身份或发起者的身份来简单地确定。
QoS组件36然后可返回(箭头96)整形/标记的业务给TCP层 34。TCP层34可经由IP网络46将数据输入PDU发送(箭头98)给 发起者20。
TCP层32可接收(箭头l00)数据输入PDU并将它们传送(箭 头102)给iSCSI发起者24。iSCSI发起者24可从PDU中提取出该 数据并将数据输入传送(箭头104)给SCSI发起者22。
应指出,本示意描绘了QoS组件36与TCP层34分离。然而, 在可选实施例中,QoS标记组件36可以在TCP层34之内,并且仍落 在本实施例的原理之内。
另外指出,在一些实施例中,QoS组件36可负责整形和标记从 目标节点30输出的所有网络业务,包括来自iSCSI以外的应用的业务。
多个网络服务等级
每个TCP连接可以只与每个方向上的一个服务等级相关。为了 提供会话中的多个服务等级,可以使用多个连接。
在一些实施例中,iSCSI发起者24或iSCSI目标44可能无法支 持每个会话的多个连接。作为选择,可以使用用于每个服务等级的独 立的会话。
应指出,在发起者20中使用的操作系统环境或文件系统可能成 为限制,需要多个会话接入不相交LU。在此情况下,可能无法使用 多个网络服务等级来从同一发起者接入同一LU。
用于同一逻辑单元的多个I/O服务等级
SCSI体系结构提供了配置逻辑单元对每个I-T-L联系使用独立 的任务集的能力。本发明的优选实施例因此定义了对于同一LU的多 个I/O服务等级。每个I-T-L联系的任务集,连同其读命令和写命令, 可以被分配一个不同的I/O服务等级。作为选择,可以在同一LU的 多个任务集之间共享I/O服务等级,由此为来自多个不同发起者的业 务在目标给予相同的I/O级别。
I/O流超过量(I/O flow excess)
由于系统10的突发特性,可能存在,在发起者符合I/O流规范 的命令PDU在到达目标时变得不符合的情形。为了消除突发行为,本 发明的一些实施例可能允许在所选择的I/O服务等级中的I/O流超过 量。在目标30由QoS组件38使用的I/O流规范可包括用于过量字节 率和过量I/O率的参数。
应指出,在目标的非遵从命令可能被QoS组件38用“任务集满” 或“忙”错误来拒绝。这些错误应尽可能避免。I/O流超过量参数可以 补偿由系统和网络起伏引起的瞬间不一致。I/O流超过量将不会补偿 根本不使用QoS的发起者。
过滤器规范和流规范
可以选择在存在QoS时,影响iSCSI流的区别的过滤器规范属 性。这些过滤器属性的例子包括TCP四元组(发起者和目标IP地址 和端口),LUN,发起者用户ID,会话ID,应用识别属性,活动时 间,等等。上面的列举只是借助举例,并不是想限制;应理解,没有 列举但可能影响iSCSI流的性能的其它过滤器属性,也包含在本发明 的范围之内。
应指出,在一些实施例中,在过滤器属性中有冗余。举例来说, 当指定四元组时,会话id可能冗余。然而,冗余可用于在分配服务等 级时支持模式。举例来说,服务等级可设计为会话内的所有连接。该 分类方法允许使用属性的子集或对于每个属性的值的范围。
QoS 10可使用独立的流规范用于网络资源和I/O资源。
对于网络,可以使用标准的流规范参数,如为DiffServ定义的流 规范参数。网络流参数的例子包括平均字节率,峰值字节率,突发大 小。
对于I/O,没有现行的标准。QoS 10的优选实施例可以选择影响 SCSI执行引擎42的I/O资源共享的流规范参数。流参数的例子可包 括字节率,I/O率,I/O流超过量,等等。上面的列举仅仅是借助举例, 并不想限制;应理解,没有列举但可能影响SCSI执行引擎42的共享 的其它流规范参数,也包含在本发明的范围之内。
应指出,在发起者使用的过滤器规范属性和/或流规范参数可能 与在目标使用的不同。
应指出,I/O率和字节率可以在随机和顺序存取之间提供折中。 随机存取通常的特征是数据长度小,并主要受I/O率的限制。另一方 面,顺序存取通常的特征是数据长度大,并主要受字节率的限制。
在此描述的实施例适用于iSCSI和/或TCP/IP的软件和硬件实 现,以及软件和硬件实现的任何组合。另外,一个节点可以具有一个 以上网络接口卡或一个以上网络链路。而且,在同一会话中的发起者 和目标之间的多个连接可以使用不同的IP地址。所有这些变化都包含 在本发明的真正宗旨和范围之内。
虽然在此公开的方法、设备和系统可能或可能没有参照特定计算 机硬件或软件描述,但显然,在此描述的方法、设备和系统可以很容 易在使用常规技术的计算机硬件或软件中实现。
虽然本发明是参照一个或多个特定实施例描述的,但本说明书意 在从整体上示意本发明,并不认为是将本发明局限为所示的实施例。 显然,本领域的技术人员知道,在此没有特别示出的各种修改也在本 发明的真正宗旨和范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈