具有网络分层的软件定义存储(SDS)系统的制作方法

文档序号:15932240发布日期:2018-11-14 01:49阅读:280来源:国知局

本公开的各方面涉及各种计算组件的配置等功能,并且更具体地涉及软件定义存储(sds)装置的系统、组件和管理。

背景技术

随着计算机在当今社会变得越来越普遍,对于大量数据的存储和这种存储的数据的快速访问的需求日益增加。因此开发了几种类型的大容量存储装置。高容量数据存储系统的示例包括物理磁带驱动系统、大容量光存储系统;只读存储器(rom)系统、随机存取存储器(ram)系统、闪存系统等。这些存储设备可以物理地(诸如在大型存储装置中)或通过网络虚拟地(诸如在存储区域网络(san)装置或网络附加存储(nas)装置)被分组在一起。在物理连接的存储装置中,一个或多个计算设备或应用直接连接到存储设备以存储和取回数据。虚拟存储装置通常通过网络被远程访问,以通过执行应用来存储和取回所利用的数据。在任意存储装置中,在选择特定存储设备以供利用时,计算设备或存储装置的用户必须考虑性能速度、存储容量和数据取回速度之间常常存在的折衷。除了在装置内进行性能和容量折衷之外,当选择在应用的执行期间使用的存储装置时,也可以考虑应用和存储设备之间的网络连接、传输速度和连接性。

考虑到这些和其他问题,开发了本公开的各个方面。



技术实现要素:

本公开的实现包括用于操作软件定义存储(sds)系统的方法。该方法可以包括将在网络交换机处所接收的第一通信分组与第一存储层相关联的操作,第一存储层包括第一存储性能参数并且为第一通信分组选择第一网络层,第一网络层的选择至少基于与所述第一通信分组相关联的所述第一存储层,所述第一网络层包括针对用于通过所述网络交换机发送分组的至少一个服务质量(qos)参数的第一阈值。该方法还可以包括生成针对网络交换机的一个或多个配置指令,该一个或多个配置指令针对第一通信分组应用针对至少一个qos参数的第一阈值,并且向网络交换机发送第一配置指令。

本公开的另一实现包括软件定义存储(sds)系统的管理工具。管理工具包括至少一个通信端口,用于从以下各项接收sds内的存储容量的请求:执行的应用、处理设备、以及连接到处理设备、被配置为存储信息的计算机可读介质。当处理设备执行指令时,它执行为网络设备的通信端口创建多个网络性能层的操作,多个网络性能层中的每一个包括针对用于网络设备的通信端口的用于至少一个服务质量(qos)参数的阈值,确定网络设备的通信端口的第一子集被sds系统的第一类型的存储设备用来发送数据,并且将与sds系统的第一类型的存储设备相对应的第一存储层与网络设备的通信端口的第一子集相关联。此外,处理设备可以执行以下操作:至少基于与通信端口的第一子集相关联的第一存储层来将多个网络性能层中的第一网络层应用于网络设备的通信端口的第一子集,所述第一网络层包括针对用于所述网络设备的所述通信端口的所述至少一个qos参数的第一阈值;以及发送针对所述网络设备的一个或多个配置指令,所述一个或多个配置指令使得所述网络设备用针对至少一个qos参数的第一阈值来配置通信端口的第一子集。

本公开的又一实现包括编码有指令的非暂态计算机可读介质,所述指令可由处理设备执行以用于操作存储系统。这些指令使得处理设备:将网络交换机的一个或多个端口与第一存储层相关联,第一存储层对应于第一存储设备类型的软件定义存储(sds)系统,该软件定义存储(sds)系统利用所述网络交换机的所述一个或多个端口来发送数据,所述指令在由处理设备执行时:针对网络交换机的一个或多个端口从多个网络性能层中选择第一网络层,第一网络层的选择至少基于与一个或多个端口相关联的第一存储层,第一网络层包括针对用于所述网络交换机的端口的至少一个服务质量(qos)参数的第一阈值,并且通过用于所述网络交换机的至少一个配置指令来配置所述网络交换机的所述一个或多个端口,所述至少一个配置指令应用针对所述网络交换机的所述一个或多个端口所述至少一个qos参数的所述第一阈值。

附图说明

图1图示了用于存储和管理高容量数据的示例存储区域网络(san)装置。

图2a图示了用于存储和管理高容量数据的示例软件定义存储(sds)装置。

图2b图示了访问用于存储和管理高容量数据的软件定义存储(sds)的应用的示意图。

图2c是sds系统的网络流程的图示。

图3是用于为sds装置提供分层网络设置的方法的流程图。

图4是图示针对sds装置的示例网络分层设置的表格。

图5是包括被布置为执行本公开技术的各种操作的操作单元的电子设备的功能框图。

图6示出了根据一个实现的可以实现本文讨论的各种系统和方法的示例计算系统。

具体实施方式

本公开的各方面涉及用于至少基于软件定义存储(sds)装置的存储池的性能度量用于网络交换机的端口的服务质量设置的分层方案的系统和/或方法。在一个特定实施例中,与一个或多个存储装置相关联的网络交换机可以被配置为将网络分层方案应用于网络交换机的端口。分层方案可以与分配给存储池的或与存储池相关联的存储层相关联。例如,第一存储池可以用sds装置的存储组件创建并且被提供给具有对第一存储池的访问的执行应用。第一存储池可以与第一存储层相关联,第一存储层提供由执行应用请求的某些存储性能度量。类似地,也可以用sds装置的存储组件来创建第二存储池。第二存储池可以与第二存储层相关联,第二存储层提供由执行应用所请求的某些存储性能度量,其中第一存储层性能度量与第二存储层性能度量不同。以这种方式,与sds装置相关联的存储池可以被放置到存储层方案中,以供由具有对装置的访问的执行应用使用。

然而,sds装置的性能度量可能受到网络的负面影响,装置通过网络被访问。例如,尽管第一存储层提供了诸如数据取回速度的某些性能度量,但这些度量可能不由网络提供,装置被应用通过网络访问。因此,本申请提供了可以应用于一个或多个网络元件的网络层方案,一个或多个网络元件与sds装置的存储池的存储层相关联。因此,如果这些端口或组件与sds装置的第一存储层相关联,则可以向网络的一个或多个端口或联网组件提供第一联网层。如果这些端口或组件与sds装置的第二存储层相关联,则可以向网络的其他端口或联网组件提供第二联网层。与端口或组件相关联的特定联网层可确定应用于端口或组件的一个或多个服务质量(qos)设置。以这种方式,sds装置通过其被执行的应用访问的网络的组件的端口可以被分配或提供有特定qos设置,特定qos设置与利用端口或组件的存储池相关联。然后,端口或组件的联网层可以对应于存储层的性能度量,以避免在访问sds装置时这些度量的丢失。

图1图示了用于存储和管理高容量数据的示例存储区域网络(san)装置100。如下面更详细解释的,san装置100允许与装置通信的计算设备118和/或应用116的数据的高容量存储。此外,san装置100的存储设备可以被收集到一个或多个存储池中。在一个示例中,基于设备的性能度量来将san装置100的存储设备104被汇集在一起,并且装置的每个存储池可以基于存储设备的性能度量来与存储层相关联。下面更详细地讨论san装置100的组件的汇集。

san装置100可以包括机架102或其中可以安装一个或多个存储组件104的其他外壳结构。在一个实施例中,装置100的组件104之间的通信可以沿着机架的背板发生。尽管图1中图示的装置100仅包括在机架102的顶部搁架上的组件104,但是应当理解,装置可以包括任意数量的搁架、组件、机架等。然而,通常,san装置100是仅限于托管存储型设备,诸如磁盘驱动器或固态存储设备。因此,存储装置100的顶部搁架的存储组件104可以包括任意类型的存储设备。例如,存储设备e108可以是盘驱动器存储器组件,而存储设备h106可以是固态存储器设备。组件(以及其他搁架上的其他组件)之间的通信可以沿着机架102的通信路径发生。

为了提供对装置100的存储设备104的访问,存储处理器110可以通过通信路径112与装置的组件进行通信。通常,存储处理器110将装置100的一个或多个存储设备104配置为存储由一个或多个应用或计算设备利用的数据。因此,存储处理器110还与包括一个或多个计算设备118和一个或多个执行应用116的网络114通信。虽然在图1中仅图示了一个计算设备118和一个应用116,但应当理解网络114可以包括任意数量的这样的设备和应用,其经常位于不同的位置并通过通信网络与存储处理器110通信。此外,应用116可由计算装置118执行,其可利用san装置100的存储容量来存储应用在执行期间使用的数据。以这种方式,数据被提供给存储处理器110(或从存储处理器110请求),存储处理器110进而在存储装置100的存储设备104的一个或多个上提供空间以供存储数据使用。

如上所述,装置100的多个存储设备104可以由存储处理器110汇集在一起,以为计算网络114的组件提供更大的数据容量。例如,存储组件a和存储组件b可以是由存储处理器110逻辑地汇集在一起,使得这两个组件可以作为单个存储组件操作,由此提供两倍于单个存储组件的存储容量。然后,组合的存储组件被存储处理器110视为存储池。通常,存储池包括具有相同或相似的操作参数或性能度量的存储组件。例如,存储设备e108可以是闪存存储设备,其提供相对较快的存储和取回时间,但是可以具有相对较低的存储容量。存储设备e108通常会与具有相似性能度量的其他闪存设备汇集在一起。备选地,存储设备h106可以是提供相对较慢的存储和取回时间的、但是可以具有相对较高的存储容量的磁盘驱动器存储器存储设备。然后,存储设备h106通常会与具有相似性能度量的其他磁盘驱动器存储设备汇集。

基于性能度量来汇集系统100的类似存储组件104允许存储处理器110创建分层存储系统。例如,第一存储层可以由存储处理器110分配给第一存储池。第一存储层可以与快速执行的设备相关联。与较慢执行的设备相关联的第二存储层可以与第二存储池相关联,并且与慢速执行设备相关联但是具有大容量的第三存储层可以与第三层相关联。应当理解,存储处理器110可以将任意数量的存储层分配给任意数量的存储池。此外,定义存储层的准则可以是存储池中存储设备的任意性能准则。通常,存储处理器110创建存储装置100的存储池并将一个或多个存储层分配给创建的存储池。这允许存储处理器110将更多容量添加到各个存储池,因为更多存储设备被添加到装置100。

存储层允许存储处理器110适应计算网络114的执行应用116和计算设备118的特定执行参数。例如,新执行的应用可以从存储装置100请求存储容量,并且在某些实例中,可以提供可用于应用的某些存储性能度量。存储处理器110可以响应于该请求来确定哪个存储层将为执行的应用提供适当的存储性能度量,确定或创建与所选择的存储层相关联的存储池,并且在该存储池的存储组件104中的一个或多个内创建容量以供应用使用。以这种方式,通过存储池的使用,将san装置100内的存储容量提供给对应于所请求的存储性能度量的应用116或计算机设备118。

图2a图示了用于存储和管理高容量数据的示例软件定义存储(sds)装置200。sds装置200与上述san装置100的类似,因为sds装置可以包括机架202,在机架202中可以安装或安置一个或多个存储设备204。存储服务器210可以与执行上述存储处理器操作的通信(诸如通过装置200的背板)。因此,存储服务器210可以从一个或多个执行的应用或计算设备接收对存储容量的请求,并利用装置200的存储设备204来提供所述容量。

图1的san装置100与图2a的sds装置200之间的一个区别在于,san装置通常被预留给存储设备,而sds装置可以包括任意机架安装设备。换句话说,sds装置通常仅包含存储设备,并且是专用存储装置。备选地,图2a的sds装置200可以是包括一些存储设备204以及其他类型的机架安装设备的计算中心的典型机架。因此,在sds存储方案中创建的存储池是虚拟的或软件定义的,使得存储设备不需要位于相同的机架上和/或与相同的存储处理器相关联。

为了理解sds存储池的虚拟性质,图2b图示了用于存储和管理大容量数据的软件定义存储(sds)的系统示意图。如图所示,若干组存储设备204、224、222、228被连接到关联的存储服务器210、219、220、226。每个存储设备组和存储服务器对通过网络230互连,网络230允许数据在服务器-存储设备对之间发送。此外,通过网络230,一个或多个计算设备232和/或应用234可以访问sds240的存储设备。存储设备可以位于相同的机架中或者可以位于不同的位置。例如,存储设备228可以位于田纳西州的纳什维尔的存储中心,而存储设备204可以位于马萨诸塞州的波士顿。不管存储设备的位置如何,用于每个存储设备组的相关联存储服务器通过网络230从计算设备或应用接收数据或数据请求,并且请求来自相关联的存储设备的容量或数据。以这种方式,位于远处的存储设备可以类似于上面讨论的san的存储设备来被利用,而不需要存储设备在相同的机架中。

类似于上述存储处理器110的存储处理器238可以在网络230的任意设备上执行以执行上面讨论的操作。因此,网络230的存储处理器238可以以如所述的相似的方式将sds240的存储设备分组为池。例如,存储设备204(和相关联的存储服务器210)可以与存储设备222(和相关联的存储服务器220)一起分组到第一存储池中。与上面类似,所创建的存储池可以被分配有与包括在存储池中的存储设备的性能度量相关联的存储层。以这种方式,不管存储设备的地理位置如何,sds240系统的存储设备也可以被分组为池并基于性能度量分配存储层。

返回到图2a,呈现了包括一个或多个存储组件203、204的机架202,如上所述,存储组件203、204可以被包括在sds240中。换句话说,图示的机架202中的存储组件203、204可以与其他类似的存储组件(在相同机架内、在相同位置、或在不同位置中)组合以形成存储池,该存储池可以是由执行应用234或计算设备232使用以存储数据。系统200的存储组件的每个搁架或组可以与存储服务器相关联,存储服务器作为相关存储设备的存储处理器操作。因此,存储组件203可以与存储服务器206相关联,并且存储组件204可以与存储服务器210相关联。应当理解,存储服务器可以与如图2a所示的更多或更少的存储组件相关联。此外,用于任意存储组件组的存储服务器可以通过网络214从应用或计算设备接收请求或指令,并相应地配置或访问一个或多个存储设备,如上面关于图1的san的存储处理器110所描述的。

sds比之前的san存储系统的一个优点在于,不必是sds的一部分的附加设备可以安装在包括存储设备的机架202中。例如,图1的san系统100通常被提供为专用存储机架,使得安装在机架上的全部或大部分组件属于san存储系统。备选地,因为sds系统的存储设备虚拟地被分组为池并且可以位于网络内的任意位置,所以包括在图2a的机架202中的所有组件都属于存储系统不是必须的。相反,机架中可以包括其他类型的设备。例如,机架202可以包括一个或多个计算设备,诸如web服务器208或其他类型的联网设备。机架202的计算设备208可以与虚拟sds系统相关联,或者可以执行与存储组件203、204是其一部分的sds系统无关的其他功能。因此,可以从与机架通信的网络214接收用于利用机架202的计算设备208的指令,类似于被接收以配置机架的存储组件203、204并且与机架的存储组件203、204交互的指令。

尽管sds系统202在可以被包括在具有存储设备203、204的机架中的组件的类型中提供更多的灵活性,但是在利用机架202时可能出现其他问题。例如,为了与网络214通信,机架202可以包括网络交换机212或其他联网设备以接收来自网络的通信并将该通信提供给预期的设备。更具体地说,交换机212在交换机内提供用于机架202中的设备的通信端口,并根据所提供的端口来对通信进行路由。在一个实施例中,交换机212位于机架202的顶部,并且机架和网络214之间以及机架202内的组件之间的所有通信都通过交换机发送。然而,因为交换机212必须处理机架202的设备之间的和去往/来自网络214的所有通信,所以交换机可以在机架202的设备的处理速度和性能方面创建瓶颈效应。应当理解,尽管在本文中被讨论为具有物理通信端口的物理交换机设备,但是交换机的操作和通信端口的使用可以被包括为虚拟机或组件。因此,组件向交换机或交换机的端口的任意分配可以虚拟地发生,使得物理端口可以在许多组件之间共享。然而,为了便于理解,交换机的端口在本文中被讨论为被分配给作为物理端口的组件,尽管每个所讨论的端口本质上可以是虚拟的。

例如,图2c是机架202的网络流程的图示,机架202包括形成sds系统的一部分的一个或多个存储设备203、204。如图所示,网络流图示250包括上面讨论的机架202的设备,即交换机212、第一组存储设备203(可能分组到第一存储池)、第二组存储设备204(潜在地分组到第二存储池)、存储服务器或控制器210以及诸如web服务器的计算设备208。应当理解,机架202的更多或更少的组件可以被包括在图2c的网络流程图250中。如所讨论的,每个组件利用交换机212传输数据以与网络的另一组件或与执行的应用进行交互。具体地,执行应用的计算设备208可以与存储控制器210通信以提供用于存储的数据或请求来自存储装置的数据。存储控制器210可以与一组或两组存储设备203、204通信以存储数据或取回存储的数据。控制器210可以基于分配给每个存储池的存储层来确定访问哪些存储设备。此外,存储设备203、204可以彼此通信以在相同存储池内或不同存储池之间的设备之间重建数据和/或重新平衡数据。此外,系统250的组件中的任意一个可以通过交换机212传送出到网络214以与其他组件或应用进行交互。无论如何,系统250的全部通信都通过交换机212传输。

在一些实例中,通过单个交换机212提供所有通信可以否定与sds的存储设备203、204相关联的一个或多个层的预期或承诺的性能度量。例如,可以将第一存储层应用于存储设备203,使得访问存储设备的应用需要或者打算接收快速传输和数据在设备中的存储。然而,由于交换机212除了对存储设备204(其可能具有较低的存储层)以及去往和来自web服务器208的指令的请求之外还处理这些请求,交换机可能无法以预期的速度或性能处理对层存储设备的访问。以此方式,机架202的设备的性能中的瓶颈可以在负责处理设备与网络214之间的通信的交换机212处发生。

为了解决这个潜在的性能问题,本文描述了用于以至少基于软件定义存储(sds)装置200的存储池的性能度量来应用机架202的网络交换机212的端口的服务质量设置的分层方案的系统和方法。具体地,图3是方法300的流程图,方法300用于为sds装置提供分层网络设置,以解决在交换机处针对容纳一个或多个存储设备203、204的特定机架202的潜在瓶颈。在一个实施例中,方法300的操作可以由网络管理系统或程序执行以配置sds系统200的网络交换机212的组件。例如,存储配置系统或与sds系统相关联的管理程序也可以执行下面描述的操作中的一个或多个,sds系统的任务是创建sds系统中包括的存储设备的一个或多个存储池。在另一实施例中,这些操作可以由网络管理员或管理系统来执行,以配置包括在sds方案中的任意存储系统200的交换机212。

从操作302开始,存储系统针对sds的存储层中的每一个为网络交换机的端口确定一个或多个服务质量设置。通常,网络设备的服务质量(qos)设置为通过设备的端口的通信的处理提供了保证的性能度量。例如,网络端口的qos设置可以包括通过端口的数据分组流的特定带宽、与来自多个源的数据分组的处理相关联的优先级、和/或等待通过端口传输的数据分组的相对队列大小。如现在参照图4的表格400讨论的,这些示例和其他qos设置为所接收的数据分组的处理和发送中的特定端口提供了性能速度。

图4是图示了交换机或与sds装置相关联的其他网络设备的示例分层设置的表400。具体地,表400图示了三个不同的联网层402-406和与每个层关联的特定qos设置。应当理解,每个联网层402-406可以包括由联网设备支持的任意数量或类型的qos设置,其确定所接收的数据分组的处理和传输性能。在表格400中包括的qos设置仅是可以应用于每个联网层402-406的许多和不同设置的几个示例。此外,用于sds系统的可用网络层402-406的表400可以包括比所示更少或更多的层。通常,sds系统或管理工具可将一个或多个联网层应用于sds系统200的交换机212的端口,以确保通过网络交换机的端口的通信的特定性能等级。

如表400所示,第一层402(称为“策略a”)包括三个qos设置,即用于设备端口的确保的数据传输带宽408、应用于通过端口传输的数据分组的优先级410、以及等待通过端口处理的数据分组的相对队列大小412。带宽qos设置408建立通过配置有qos设置的特定端口的数据分组流的带宽的下限。例如,网络交换机212可以能够通过交换机的任意一个端口处理高达10mbps的数据。然而,交换机212可能不会一次向全部端口提供全部10mbps,使得基于在交换机处接收的数据分组的数目,每个端口的带宽可能小于10mbps。另一方面,网络层的qos带宽设置408可以确保分配给网络层的端口的处理带宽的下限。例如,网络策略a402对端口的可用带宽提供了50%的下限。在上面的示例中,当网络交换机212一次处理大量数据分组时,该qos设置确保端口处的数据处理将至少以5mbps发生。类似地,针对网络策略b404的带宽qos设置408提供至少2.5mbps的数据处理,并且针对网络策略c406的带宽qos设置提供至少1.5mbps的数据处理。然而,应当理解,联网层可以包括系统200所期望的任意带宽qos设置。

除了带宽qos设置之外,每个网络层402-406可以包括优先级qos设置410。优先级qos设置410应用于在端口处接收的、并且通过端口发送到系统200或网络214的另一组件的数据分组。该优先级建立接收的数据分组在接收端口被处理的顺序。因此,在图4的示例中,网络层a402提供高优先级(3级优先级),网络层b404提供比高优先级(2级优先级)更低的优先级,并且网络层c406提供低优先级(1级优先级)。因此,预期用于或来自与网络层a402内的端口相关联的组件的分组在通过端口处理时接收高优先级标签410。类似于带宽qos设置,联网层402-406可以包括系统200所期望的任意优先级qos设置。

qos设置的另一示例是队列大小412。队列大小412指示要通过交换机212的特定端口传输的数据分组的队列的一般长度或大小。一般来说,当队列已满时,交换机212的端口可以拒绝接收新的数据分组,直到一些数据分组已经通过该端口被发送。在这种情况下,端口可以丢弃所接收的数据分组,使得发送设备或端口必须重传数据分组。因此,较大的队列大小qos设置412指示与具有较小队列大小的端口相比,端口将在队列中保持更多的数据分组。如表400中所示,相对较大的队列大小412可以被分配给第一联网层402,中间队列大小412可以被分配给第二联网层404,并且小的队列大小412可以被分配给第三联网层406。然而,联网层402-406可以具有与该层相关联的任意队列长度412。此外,每层402-406包括分离或不同的队列长度qos设置412不是必须的。相反,两个或更多个联网层402-406可具有系统200所期望的相同的队列长度qos设置412(或任意其他类型的qos设置408、410)。

通过交换机212的各种qos设置408-412,sds系统200可以为交换机的端口调整或设置不同的性能参数。在表400中所图示的具体示例中,分配有网络层a402的qos设置408-412的端口将具有相对较高的性能度量,而分配有联网层c406的qos设置的端口将具有相对较低的性能度量。回到图3的方法300,sds系统确定交换机212的哪些特定qos设置与交换机的特定网络层对应。换句话说,sds系统确定图4的表400中的哪些qos设置用于不同联网层402-406。如上所述,联网层402-406的各种qos设置可以为联网设备212的端口提供各种性能度量。

在操作304中,sds系统确定与交换机212的通信端口中的一个或多个相关联的存储池。例如,如上所述,机架202可以包括一个或多个存储设备203、204。这些存储设备203、204可以是sds系统的存储池的一部分。此外,机架202的存储设备203、204中的每一个可以与网络交换机212的通信端口相关联并且利用网络交换机212的通信端口。例如,来自搁架204的第一存储设备可以利用交换机212的第一通信端口209,来自搁架203的第二存储设备可以利用交换机的第二通信端口211。此外,第一存储设备204可以与sds系统的第一存储池相关联,而第二存储设备203与第二存储池相关联。每个存储池可以基于存储池内的存储设备的能力来包括不同性能度量(以上描述为存储层)。因此,当通信端口209被具有第一存储层的第一存储设备204利用时,sds系统可以将第一存储层与第一通信端口209相关联。类似地,当属于第二存储层的存储设备203利用第二通信端口时,第二通信端口211可以与第二存储层相关联。以这种方式,由sds系统200的、属于存储层的存储设备203、204利用的交换机212的端口也可以与那些存储层相关联。

在操作306中,sds系统200(诸如管理工具或系统的其他组件)基于上面确定的相关联的存储层来将qos设置从联网层应用到网络交换机的端口。例如,如上所述,交换机212的通信端口209与存储层(基于利用该端口的存储设备204的类型)相关联。然而,也如上所述,通信端口可能会降低存储设备的性能,使得由于端口处的数据分组的瓶颈而导致存储设备204的性能度量不被满足。作为响应,管理工具可以向端口分配联网层(以及针对端口的相关联的一个或多个qos设置)以辅助存储设备满足存储层性能度量。例如,端口209可以与高性能存储层和存储设备204相关联。诸如表400中所图示的网络策略a402的类似的高性能联网层可以被应用于端口209以辅助通过端口在存储设备204和执行的应用之间的数据的高性能。与其他存储层相关联的其他端口可以被分配其他网络层策略,诸如针对较低执行存储层的网络层b404以及针对最低执行存储层的网络层c。通常,联网层被配置为为特定端口提供性能水平,特定端口与针对端口的相关联存储层的性能度量匹配或跟踪针对端口的相关联存储层的性能度量。但是,管理工具可以基于端口的关联存储层,根据需要将任意网络层应用于任意端口。

qos设置对交换机212的端口的应用可以通过管理工具向交换机提供用于配置端口的qos设置的一个或多个配置指令来发生。例如,交换机212可以从管理工具接收一个或多个配置指令,以基于该端口与第一存储层相关联来将来自网络层a402的qos设置应用于通信端口209。可以向交换机提供类似指令以用于交换机的其他端口,以将网络层402-406的qos设置应用于交换机的各个端口。另外,并非交换机212的所有端口都可以与存储层相关联。例如,sds系统200包括计算设备,即web服务器208。web服务器208可以或不可以利用sds系统的存储设备203、204。无论如何,web服务器208可以利用交换机212的一个或多个端口来与系统的其他组件进行通信,或者通过连接的网络214与组件或应用进行通信,使得去往/来自计算设备的业务数据可以进一步降低交换机的性能,负面影响系统的存储设备的数据传送。由于计算设备208可能没有被分配存储层作为sds系统的一部分,因此网络层402-406可能不会被基于存储层应用于网络服务器208的端口。因此,在操作308中,管理工具可以将一个或多个qos设置应用于由计算设备(或者未分配给存储层的任意其他设备)利用的交换机212的那些端口。计算设备308的qos设置可以包括任意qos设置,包括应用于交换机212的端口的默认qos设置集合,其不通过一个或多个配置指令以其他方式被配置。

在操作310中,存储管理工具从执行的应用或设备接收对sds系统中的存储容量的请求。该请求可以包括存储容量所需或期望的特定存储层,包括应用或设备所需的存储的处理速度和大小。在操作312中,管理工具然后可基于针对数据的所请求的存储层来将所请求的存储容量分配给应用或设备。此外,因为交换机212的通信端口也被分配了类似于端口的存储层的网络层402-406,所以去往和来自应用或设备的数据分组可满足存储层性能度量,而不会在端口处产生瓶颈。以这种方式,交换机212的端口允许sds系统200内的数据以sds系统的各个存储层的必要性能度量来通过。

尽管以上讨论了将网络层应用于交换机的端口,但应当理解,网络分层不一定限于分配给物理端口。例如,在一些情况下,单个存储设备可以服务对多个存储层的请求。因此,相同的存储设备可以接收第一存储层的存储请求和第二存储层的请求。由于交换机的物理端口被存储设备使用,两种存储层类型都通过单个通信端口在存储设备处被接收。在这种存储配置中,可以基于分组本身的特性对在通信端口处对所接收的业务或通信分组进行分类。例如,sds可以对所接收的分组执行深度分组检查以确定分组的类型并将分组与特定的存储层相关联。这样的深度分组检查可以确定通信的性能要求,诸如分组的有效载荷、分组所关联的应用或服务、与分组相关联的处理能力的量等。利用这些信息,sds可以类似于将存储层分配给上述的特定端口,将分组与存储层相关联。利用分配给分组的存储层,联网层也可以与所描述的层的相关qos设置一起被应用。在另一示例中,可以利用与所接收的通信相关联的虚拟局域网(vlan)标签来确定所接收的通信的存储层。类似于深度分组检测,与通信的vlan标签相关联的存储层然后可以用于提供用于通过网络设备传输通信的网络层和qos设置。

此外,虽然本文针对包含存储设备203、204的机架202内的网络交换机212进行了讨论,但应当理解,上述系统和方法可以应用于任意联网设备。例如,网络214内的交换机也可以被配置为基于存储设备的存储层来应用针对特定网络层的qos设置。以这种方式,执行的应用或设备与存储设备之间的整个传输路径可以具有端口,端口被基于所请求或分配的存储设备的存储层来配置有网络层的特定qos设置。应用的网络层可以通过用于传输数据的任意组件来防止传输数据的瓶颈。

转到图5,示出了包括操作单元502-512的示例电子设备500,操作单元502-512被布置为执行本公开技术的各种操作。设备500的操作单元502-512通过硬件或硬件和软件的组合来实现,以实现本公开的原理。本领域技术人员将理解,图5中描述的操作单元502-512可以被组合或分成子块以实现本公开的原理。因此,本文的描述支持操作单元502-512的任意可能的组合或分离或进一步的定义。

在一个实现中,电子设备500包括被配置为显示诸如图形用户界面的信息的显示单元502以及与显示单元502和输入单元506通信的处理单元504,输入单元506被配置为从一个或多个输入设备或系统接收数据。本文描述的各种操作可以由处理单元504使用由输入单元506接收的数据以输出信息用于使用显示单元502显示来实现。

附加地,在一个实现中,电子设备500包括实现参考图3所描述的操作的单元。例如,网络层创建单元508可以确定与该系统的网络层中的每一个相关联的qos设置。诸如确定单元510的另一单元可确定交换机或其他联网设备的哪些端口与存储层相关联并且因此与sds系统的存储设备相关联。此外,设备500的配置单元512可以生成一个或多个配置指令并将一个或多个配置指令发送到交换机,以根据网络层的qos设置来配置端口。电子设备500中还可以包括附加的单元,使得所图示的单元仅仅是在设备中包括的可能单元的样本。

图6是图示了可用于实现上面公开的sds系统200的实施例的计算设备或计算机系统600的示例的框图。例如,图6的计算系统600可以用于实现上面讨论的存储控制器以将一个或多个联网层应用到联网设备的端口。计算机系统(系统)包括一个或多个处理器602-606。处理器602-606可以包括一个或多个内部级别的高速缓存(未示出)和总线控制器或总线接口单元以引导与处理器总线612的交互。也被称为主机总线或前端总线的处理器总线612可以用于将处理器602-606与系统接口614耦合。系统接口614可以被连接到处理器总线612,以使系统600的其他组件与处理器总线612对接。例如,系统接口614可以包括存储器控制器614,用于将主存储器616与处理器总线612对接。主存储器616通常包括一个或多个存储卡和控制电路(未示出)。系统接口614还可以包括用于将一个或多个i/o桥或i/o设备与处理器总线612对接的输入/输出(i/o)接口620。一个或多个i/o控制器和/或i/o设备可以与i/o总线626连接,诸如i/o控制器628和i/o设备640,如图所示。

i/o设备640还可以包括输入设备(未示出),诸如字母数字输入设备,其包括字母数字按键和用于向处理器602-606传送信息和/或命令选择的其他按键。另一类型的用户输入设备包括光标控制,诸如鼠标、轨迹球或光标方向键,其用于向处理器602-606传送方向信息和命令选择并用于控制显示设备上的光标移动。

系统600可以包括被称为主存储器616的动态存储设备或随机存取存储器(ram)或耦合到处理器总线612的用于存储要由处理器602-606执行的信息和指令的其他计算机可读设备。主存储器616也可以用于在处理器602-606执行指令期间存储临时变量或其他中间信息。系统600可以包括只读存储器(rom)和/或耦合到处理器总线612用于存储用于处理器602-606的静态信息和指令的其他静态存储设备。图6中阐述的系统仅仅是可以根据本公开的各方面使用或配置的计算机系统的一个可能示例。

根据一个实施例,上述技术可以由计算机系统600响应于处理器604执行在主存储器616中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从诸如存储设备的另一机器可读介质读取到主存储器616中。在主存储器616中包含的指令序列的执行可以使处理器602-606执行本文描述的处理步骤。在替代实施例中,电路可以代替软件指令或与软件指令组合使用。因此,本公开的实施例可以包括硬件和软件组件。

机器可读介质包括用于以机器(例如,计算机)可读的形式(例如,软件、处理应用)来存储或传输信息的任意机制。这样的介质可以采取但不限于非易失性介质和易失性介质的形式。非易失性介质包括光盘或磁盘。易失性介质包括动态存储器,诸如主存储器616。机器可读介质的常见形式可以包括但不限于磁存储介质;光存储介质(例如,cd-rom);磁光存储介质;只读存储器(rom);随机存取存储器(ram);可擦除可编程存储器(例如,eprom和eeprom);闪存;或适用于存储电子指令的其他类型的介质。

在本公开中,所公开的方法可以被实现为设备可读的指令集合或软件集合。此外,应当理解,所公开的方法中的步骤的具体顺序或层级是示例方案的实例。基于设计偏好,可以理解的是,该方法中的步骤的具体顺序或层级可以被重新布置,同时保持在所公开的主题内。所附方法权利要求以示例顺序呈现各个步骤的元素,并且不一定意味着限于所呈现的特定顺序或层级。

所描述的公开可以被提供为计算机程序产品或软件,其可以包括其上存储有指令的计算机可读存储介质,所述指令可以被用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。计算机可读存储介质包括用于以计算机可读的形式(例如,软件、处理应用)存储信息的任意机制,如以上参照图6所述。

以上描述包括实施本公开的技术的示例系统、方法、技术、指令序列和/或计算机程序产品。然而,应当理解,可以在没有这些具体细节的情况下实施所描述的公开。

尽管已经参考各种实现描述了本公开,但将理解,这些实现是说明性的,并且本公开的范围不限于它们。许多变体、修改、添加和改进都是可能的。更一般地,已经在特定实现的上下文中描述了根据本公开的实现。功能可以与本公开的各种实施例不同地在框中分开或组合,或者以不同的术语描述。这些和其他变体、修改、添加和改进可以落入所附的权利要求中所定义的本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1