控制数据存储输入/输出请求的制作方法

文档序号:9769975阅读:475来源:国知局
控制数据存储输入/输出请求的制作方法
【专利说明】
【背景技术】
[0001]数据存储系统,例如大数据中心和其它类型的数据存储系统,越来越复杂。去往存储(storage)的输入/输出路径常常较长且包含许多层,在层间具有不透明接口。这使得难以施行用于决定存储输入/输出流的性能(例如用以保证可用于该流的特定带宽)的端到端策略。存储输入/输出流包含一连串在存储与计算端点之间的存储输入/输出请求。例如,用以从文件读取数据、向文件写入数据、或者创建文件来存储数据。
[0002]企业数据中心中的物理服务器的虚拟化以及存储的虚拟化已导致了沿着存储输入/输出流的增加的复杂度。
[0003]下面描述的实施例并不限于解决已知数据存储系统的任何或全部缺点的实施方式。

【发明内容】

[0004]下面给出了本公开的简化的概要,以便向读者提供基本理解。此概要不是对本公开的广泛概述,并且其也没有标识关键的/决定性的元素或者描绘本发明的保护范围。此概要的唯一目的是要以简化形式给出在本文中公开的概念的选集,作为对稍后给出的【具体实施方式】的序g。
[0005]对数据存储输入/输出请求进行控制被描述成,例如,将策略应用于在至少一个计算实体与至少一个存IC器(Store)之间的数据输入/输出请求的端到端(end-to-end)的流。在各种例子中,多个队列被配置在所述端到端的流的一个或多个阶(stage)处并被控制以符合策略。在例子中,每个阶具有控制接口,使得该阶能够接收并执行来自控制器的控制指令,控制器可以是集中式的或者分布式的。例如,控制指令包含排队规则和/或队列配置。在各种例子中,队列和排队规则是根据关于如下各项中的任意项的反馈而被动态地创建并修正的:流行为、策略变化、基础设施变化、或其它因素。例如,流端点的高级标识符基于每个阶而被解析成适于该阶使用的低级标识符。
[0006]由于许多附带特征通过参照下面的【具体实施方式】,结合附图考虑,而变得较好理解,所以这些附带特征将更容易被领会。
【附图说明】
[0007]从根据附图的下列【具体实施方式】中将会更好地理解本发明的说明书,其中:
[0008]图1是包含数据中心的数据存储系统的示意图;
[0009]图2是计算服务器与存储服务器的示意图;
[0010]图3是在控制器处的方法与在阶(stage)处的方法的流程图;
[0011]图4是在控制器处的探查(discovery)方法的流程图;
[0012]图5是拓扑图形的示意图;
[0013]图6是控制器处的方法的流程图;
[0014]图7是在阶处的方法的流程图;[00?5]图8是拓扑子图的示意图;
[0016]图9示出了示例性的基于计算的设备,在该基于计算的设备中可以实现数据存储系统的阶的实施例;
[0017]相同的附图标号被用以指定附图中的相同部分。
【具体实施方式】
[0018]下面结合附图提供的【具体实施方式】旨在作为对本发明例子的描述,而并非旨在表示其中本发明例子可以被构造或利用的仅有形式。说明书给出了该例子的功能以及用于构造并操作该例子的步骤的顺序。然而,相同的或等价的功能以及顺序可以通过不同的例子来实现。
[0019]虽然本发明例子在本文被描述并示出为在具有集中式控制器的数据中心中实现,但是描述的系统是作为例子而非作为限制来提供的。如本领域技术人员将意识到的,本发明例子适用于在包括个人计算机在内的并且其中使用非集中式控制器的各种不同类型的数据存储系统中应用。
[0020]如上所描述地,去往存储(storage)的输入/输出路径通常漫长且复杂,并且这使得难以施行端到端策略(例如用以保证特定服务质量或者确保请求是通过净化中间盒(sanitizat1n middlebox)来路由的)。通常,许多不同的客户具有在数据中心或者其它数据存储系统中运行的进程,并且资源被共享。例如,数据存储系统中的实体之间的互连资源以及存储资源。要符合用于对存储输入/输出请求的执行与处理的客户策略(或其它策略)变得非常困难,并且这可能给对云计算服务的采用与发展带来障碍。
[0021]在本文中描述的方法和装置使得端到端策略能够被应用到数据存储输入/输出请求的流,其中,流是在指定的端点之间的一连串这种请求。端点中的至少一个是诸如计算服务器之类的计算实体,且端点中的至少一个是诸如存储服务器上的文件共享或计算服务器处的本地存储上的文件共享之类的存贮器(store)。在一些例子中,计算服务器也可以包含存贮器。在一些例子中,存储服务器也可以包含计算实体。以此方式,策略可以应用于“计算到计算(compute-to-compute)”流和/或“服务器到服务器(server-to-server)”流。策略能够被应用于诸如多对一布置、一对多布置以及多对多布置之类的多点流。流的端点可以使用可能为该流的一个或多个层所不理解的高级标识符来规定。在下面会较详细地描述层。
[0022]策略包含一个或多个标准(criteria),其规定了流的性能和/或要被应用于流的功能,其中,该流是按照其端点来指定的。例如,用于规定性能的标准可以包含要被应用到流的最小带宽。用于规定功能的标准可以包含要被应用到流的病毒检查功能。
[0023]层是数据存储系统的组件,流通过该组件。层的非穷举的例子列表是:计算服务器的管理程序(hypervisor)处的网络驱动器、存储服务器处的网络驱动器、数据存储系统的互连中的交换机。具有控制接口使得层能够与控制器通信的这样的层,在本文档中被称为“阶(stage)”。在本文描述的例子中,至少一个阶被用以控制流以便符合策略。用于操作在本文描述的方法的数据存储系统可以具有一个或多个阶。随着数据中心中的作为阶的层的比例增加,策略实施能力的灵活性与功效也增加。这使得技术能够运行在现行数据存储系统中,而不需将每个层更新以使之变成阶。
[0024]每个阶包含多个队列,队列可以作为从控制器接收的控制指令的结果来接收并安装。控制器可以是集中式的或分布式的。通过发送控制指令给阶,队列可以被动态地配置为使能策略施行。将流行为、策略更新、基础设施变化以及其它因素包括在内的反馈可以被用以动态地配置队列。
[0025]图1是示出示例存储系统100的示意图,存储系统100包含存储数据的多个存储服务器104与运行计算的多个计算服务器102,所述计算读取自或写入到存储服务器104和/或计算服务器中的一个或多个处的本地存储103。在此例子中,存储输入/输出请求的流是由起自计算服务器102处的两个虚拟机116经由互连110中的交换机108去往单个存储服务器104的虚线120来表示的。这仅是一个例子;存储输入/输出请求可以在虚拟机与本地存储之间或者在其它实体之间流动。
[0026]互连110包含将计算服务器102、本地存储103以及存储服务器104互连的任何适当类型的通信链路,例如,以太网、交换结构计算机网络通信链路(诸如InfiniBand(商标)通信链路之类的)、或者其它。一个或多个交换机108可以存在于互连110中,但这不是必不可少的。各种通信协议可以用以在所述通信链路上发送存储输入/输出请求,如在下面详细描述。
[0027]虽然此图示出了四个计算服务器以及两个存储服务器,但是在本文中描述的方法同等地可适用于较小的系统(例如,单个PC)或具有与在图1中示出的计算服务器和/或存储服务器相比较多的计算服务器和/或存储服务器的系统。如上所述,使用提供计算服务器功能和存储服务器功能两者而不是将这些功能分开的实体是可行的。
[0028]图1还示出了控制器106,其被连接到互连110,并从而能够与数据存储系统的一个或多个阶进行通信。如上所述,阶是流的层,其具有的控制接口使得其能够与控制器通信。在此例子中,控制器是集中式的。然而,控制器的功能还可以分布在数据存储系统100中的多个实体当中,例如在多个阶处。
[0029]连接到控制器106的是一个或多个控制应用112,其从运营商、客户、策略库、自动化实体或其它源接收策略114。控制应用与控制器116—起工作以通过向一个或多个阶发送控制指令来实施策略114。在图1的例子中,两个虚拟机116均具有阶118。
[0030]替代地或者另外地,在本文描述的控制器和/或阶的功能能够至少部分地由一个或多个硬件逻辑组件来执行。例如且非限制地,能够使用的示例类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)。
[0031]图2是具有可以在图1的布置中或在其它布置中使用的计算服务器102的例子和
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1