智能主动-主动式高可用性das系统的制作方法

文档序号:6504022阅读:265来源:国知局
智能主动-主动式高可用性das系统的制作方法
【专利摘要】智能主动-主动式高可用性DAS系统。高可用性DAS系统采用固态缓存以在DAS集群中提供主动-主动性能,同时保留了主动-被动或双主动系统的简单实现。集群中的每个节点可能包括一个在主动-主动模式下存储热I/O的固态缓存,只有当“热区”的访问入口冷却或高速缓存缺失的情况下,允许数据被读取或写入到底层的双主动或主动/被动DASRAID系统。热I/O数据包括动态累计的热读取数据,不管永久存储热读取数据的驱动器的控制权。热I/O数据还包括热写数据,其镜像整个固态高速缓冲存储器以避免潜在的废写数据冲突并在服务器出现故障的情况下提供高可用性。
【专利说明】智能主动-主动式高可用性DAS系统
【技术领域】
[0001]本发明涉及计算机网络的高可用集群系统,尤其涉及一种采用固态缓存用以在双主动式或主动式/被动式DAS RAID系统中提供近似主动-主动的性能的高可用性DAS系统。
【背景技术】
[0002]目前,为了防止磁盘故障并保护磁盘,已经进行了独立磁盘冗余阵列(RAID)系统的开发。然而,由于自定义的数据存储系统是嵌入到服务器中的,直接连接存储(DAS)RAID控制器针对服务器的故障不能起到预防作用。如果服务器停止工作,RAID控制器也将停止工作,直到服务器和RAID控制器恢复之前,存储数据将暂时无法使用。为了应对这一问题,拥有关键数据的企业客户通常采用包括两个或多个服务器节点的高可用性DAS集群,各有一个带有RAID控制器的嵌入式DAS系统,所述RAID控制器依次连接到一个外壳中的同一组磁盘。所述磁盘单独供电,即使服务器停止工作,其他服务器的RAID系统也能在无干扰模式中读取磁盘为IO提供服务。
[0003]当多个服务器试图访问同一驱动器上存储的数据时,这些多服务器的DAS集群会导致多启动程序问题的产生。这个问题的传统解决方案包括双主动配置,其中的每个驱动器只属于一台服务器,它提供了访问自己独有驱动器的控制权。虽然这种方法避免了多启动程序冲突,但是它会形成服务器之间的高容量的数据(IO)传送。或者,驱动器可以配置为主动-被动配置,在同一时间只有一个服务器是活跃的,且只有当第一服务器出现故障时,第二服务器才开始工作。由于发送到非拥有磁盘的IO需要被运到其他服务器,因此当上层发送IO到两个服务器时,这两种方法都有缺点。
[0004]因此,有必要继续改进高可用性DAS系统。更具体地说,是需要改进DAS群集以克服传统的主动-被动式和双主动式DAS群集的缺点。

【发明内容】

[0005]本发明提供了一种采用固态缓存的高可用性DAS系统,以在DAS集群中提供智能主动-主动性能。集群中的每个节点都可能包括在主动-主动模式下存储(缓存)有“热I/O” (I/ O访问最频繁的磁盘位置)的固态高速缓存,只有当一个高速缓存缺失时,才允许数据被读取或写入相关双主动或主动/被动DAS RAID系统,即数据不在SSD缓存中寻找,需从底层的硬盘驱动器中提取。热I / O数据包括动态积累的热读取数据,而不管永久存储热读取数据的直接连接驱动器。此外,热I / O数据还包括跨两台服务器的固态高速缓冲存储器镜像的热写数据,这样在服务器出现故障的情况下,废数据可以由幸存的服务器提供,也避免了潜在的废写数据冲突。本发明可以但不必在双主动或主动-被动的RAID系统中的一个DAS集群上实施。
[0006]更具体地说,“热读”数据存储在只取决于所读IO来源的每个节点上的固态高速缓冲存储器上,与底层VD的控制权无关。例如,假设服务器A拥有VD,但大多数IO连接到了服务器B,在这种情况下,读取缓存将积聚在服务器B,而不是在服务器A。对于一个缓存命中,缓存读取数据将被直接送达从服务器B的高速缓存中,而不需要通过IO发送到服务器A。该系统允许基于使用模式动态的建立热读取数据,不管其是否为永久存储热读数据的物理连接驱动器所控制。这消除了热读数据的多个运送处理,不管哪个节点控制永久存储热读数据的驱动器。
[0007]对于热写数据,固态存储器的每个节点上包含任何废数据的镜像副本。这维持了服务器之间的废数据的完整性,直到它被写入到永久存储器,同时允许每个节点在自己的固态高速缓存中存储写数据,不管是哪个服务器拥有永久存储数据的物理驱动器。虽然固态高速缓存技术可以应用于热读数据或仅仅是热写数据,但是本发明最大有益效果来自于热读取和热写数据的主动-主动缓存。
[0008]本发明还可以在DAS系统中实施,其中一台服务器包含多个I/O控制器,每个控制器都有一组专用的连接数据驱动器。此系统包括每个I/o控制器连接专用的单独的超高速缓冲存储器,它反过来介导访问其专用的一组数据驱动器。高速缓冲存储器被配置以实施本发明的智能主动-主动式超高速缓冲存储器系统,其中热读取数据动态的积累在每个高速缓存中,不管其控制权和跨高速缓冲存储器镜像的废写数据。单服务器、多个控制器DAS系统与多个服务器的DAS系统相似,除了单个服务器上执行的多个控制器取代了不同的服务器上执行的多个控制器。DAS系统可以类似的方式进行其他操作。以该种方式,也可以在本发明所述的专用驱动器的I/O控制器的任何一组间实施,而不管任何特定的服务器上实现的I/O控制器的数量。
[0009]应清楚的是,前面的一般性描述和下面的详细描述只是举例和说明,并不是本发明的权利要求的必要限制。并入说明书中并构成本说明书的一部分的附图,说明本发明的实施例,与一般性的描述一起用于解释本发明原理。
[0010]附图简要说明
为了更好理解本发明的众多有益效果,参考附图中:
图1是一种DAS主动-主动集群固态缓存的功能框图。
[0011]图2是利用主动-主动固态缓存系统对DAS群集的节点上存储的数据的读请求的数据流程图。
[0012]图3是利用主动-主动固态缓存系统对DAS群集对等体节点上存储的数据的读请求的数据流程图。
[0013]图4是利用主动-主动固态缓存系统对DAS群集节点上存储的数据的写请求的数据流程图。
[0014]图5是利用主动-主动固态缓存系统对DAS群集对等体节点上存储的数据的写请求的数据流程图。
[0015]图6是主动-主动式的超高速缓冲存储器系统操作的逻辑流程图。
[0016]图7是具有多个I/O控制器的形成的具有主动-主动固态缓存的DAS集群的服务器的功能框图。
【具体实施方式】
[0017]本发明可以具体化为被动-主动或双主动集群,具有位于群集的每个节点的主动-主动固态高速缓冲存储器(SSD)。虽然为了方便描述,在下图中所示和讨论的均为两台服务器的DAS群集,但应明白,本发明可以扩展至任意数量节点的DAS系统。此外,“主机”通常是指接收一个I/O请求的服务器,“主控者”通常是指拥有物理存储有I/O的物理驱动器的服务器,而“对等”通常指的是在集群中的任何其他的服务器。虽然DAS节点通常被称作为主机,一个特定的I/O事务的所有者或对等体的节点,名称是相对的,任何节点都可以是一个特定的I/O事务的主机,主控者或对等体的节点,这取决于主体节点是否接收I/O的请求或是否控制请求的I/O永久处于的物理驱动器。还应清楚的是,图示的实施例中,包括独立磁盘冗余阵列(RAID)系统介导的DAS系统的示例应用程序,且本发明可以应用到利用由多台服务器的DAS集群控制的磁盘存储器的任何类型的系统或应用程序。
[0018]在这种多服务器类型的高可用性DAS数据存储系统中,直接连接驱动器通常为两个控制器(通常简称为“处理器”,“服务器”,“启动程序”或“节点”)都可以访问的光存储驱动器(由于“只是基本的旧驱动器”,有时被称为JB0DS)。然而,如果两个控制器都试图配置、旋转预备、或发送I/O到同一个存储设备,被称为多启动程序问题的访问冲突可能会出现。例如,一个启动程序可能在其他启动程序并不知道的情况下启动任务管理,超时后复位。然后其他节点可能启动另一个复位,导致“复位风暴”。此外,有效的存储管理要求带宽谈判在各种背景操作的控制器之间协同,如重建、重组、使一致等等。
[0019]虽然这些问题可能被服务器之间的协调和通信解决,但通信开销很快就变得过重,代码过于复杂。因此,DAS集群通常选择主动-被动或双主动配置,以防止多启动程序冲突发生。在主动-被动配置中,两个启动器被连接到所控制的驱动器,但只有第一个启动器是主动模式,而第二启动器保持在被动模式。只有当第一个启动器出于某种原因离线,第二个启动器才变为主动。因此,在主动-被动配置下的同一时间只有一个启动器是活跃的。虽然这种做法防止了多启动程序问题的产生,但它也使DAS控制器成为随时无效的服务器之一 O
[0020]另外,在双主动配置下,两个启动器在同一时间都是主动的。为了避免多启动的问题,每个驱动器可以只由潜在启动器节点(例如,服务器)中的一个控制(也简称为“所拥有的”)。在这种情况下,位于非主控节点上的I/o不得不被运到所属节点。虽然这种做法也能有效消除多启动问题,但节点之间的I/o请求的传输会降低系统的性能,并在系统地使用两个控制器拥有的驱动器空间的配置中尤为严重。例如,当每个物理驱动器上的多个虚拟驱动器和一个特定的物理驱动器上的虚拟驱动器被分配到不同的节点上时,会发生服务器开销数据传送。另外,当配置操作系统的上层,在主动-主动模式下故意发送I/o以传播的节点之间的数据时,传送请求会变得严格。某些RAID控制器,例如,可以作为RAID的数据的安全性协议的一部分被配置以故意传播在一个主动-主动模式下存储的数据。允许来宾访问驱动器也可以增加传送,因为来宾操作系统的可能没有考虑主机节点系统来进行操作配置。
[0021]本发明可以应用在任何在每个服务器中具有一个本地的SSD高速缓存加速器的DAS群集。例如,SSD可以是只一台服务器可见的本地磁盘,或控制器上的板载SSD。热I/O (即在同一本地块地址[LBA]范围内频繁出现的I/ O)均基于I/O模式缓存在主控者和对等的本地SSD中,不管其控制权。
[0022]由于缓存不考虑控制权,基于I/O模式,热读取数据动态的建立在的本地高速缓存上,不考虑其控制权。缓存命中(大部分1/0,因为SSD高速缓存通常是非常大的)数据将只从本地控制器服务,也不考虑其控制权。所有慢的、旋转绑定磁盘I/O将依旧遵循I/O运输机制。区域锁将只保持在主控者方,从主控者处获得锁之后,I/o可以从对等端SSD缓存完成。
[0023]所有旋转的磁盘仍然有一个单独的主控者控制器。因此不分控制性质,热读取数据维持在两个控制器中,而冷数据根据底层的多服务器DAS协议存储在自有驱动器中。因此,热读取I/O缓存在接收I/O的控制器中,并不取决于控制权并在I/O模式基础上动态的变化。对于任何从对等节点传送的1/0,所有者节点通常不会运行热逻辑,但可以执行其他操作,如搜索SSD、解除区域锁等等。热写数据跨服务器镜像于缓存以避免潜在的废写数据冲突。
[0024]因此,本发明对双主动DAS系统产生了重大的性能改进,因为消除了从SSD缓存中访问的大多数I/o的I/O传送。对于一个从节点上接收的存储在SSD该节点的热读取数据的读请求,该节点通过直接存储器存取为数据提供服务,不需要任何跨SAS链路传送。对于一个从主机节点上接收的存储在SSD另一个节点(SSD所有者节点)上的热读取的数据的读请求,对等节点需要一个SSD的主控者节点的锁,并且DMA数据从主控者SSD接收到主机(对等)系统内存。因此,在使用基础上动态的建立不分控制性质的热读取数据,并以最多一个横跨SAS链路传输为SSD提供服务。对于任何存储在SSD缓存的热读取数据,不会从底层驱动器发生传送。
[0025]对于主机节点的热写数据的写请求,数据只有当在SAS链路上镜像SSD缓存对等节点上的热写数据时发生移动。对于一个对等节点热写数据的写请求,数据只有当在SAS链路上镜像SSD缓存对等节点上的热写数据时发生移动。因此,热写反映在服务器上的SSD高速缓存中,并由一个具有横跨SAS链路的单一传输的SSD服务。同样的,对于存储在SSD缓存中的热写数据,底层的驱动器不发生的任何传送。数据一旦冷却下来,废写数据将最终存储到正确的主控者驱动器上的永久存储器(例如,对数据的访问已放缓至阈值以下)。
[0026]现参照附图,图1是多服务器系统10的一个功能方框图,包括本发明中配置为实现智能主动-主动模式的超高速缓冲存储器系统的DAS群集30。所述实施例中,DAS群集30包括:主机服务器12a和对等服务器12b。主机服务器12a包括CPU14a复合体和系统存储器15a,典型的DDR或DDR3或其它合适的SDRAM。主机服务器12a还包括DAS高可用性存储系统,在这个例子中由RAID控制器16a的介导。此外,主机服务器12a包括高速缓冲存储器18a,在这个例子中的诸如闪存的固态装置(SSD)。类似的,对等服务器12b包括一个复合CPU14b,一个系统存储器15b,一个RAID控制器16b,和高速缓冲存储器SSD18b。应当注意,虽然高速缓冲存储器18a- b在这些特定的实施例中表示为一种驻留在各自的服务器的固态设备(SSD),高速缓存可以通过一个专用的连接驱动器、连接驱动器的专用部分,或任何其他合适的在本发明中分配给超高速缓冲存储器功能的计算机内存来实现。
[0027]DAS高可用存储系统依赖于主机和对等服务器12a_b、与主机服务器12a相关第一组数据驱动24a,和与对等服务器12b相关的第二组数据驱动24b之间的功能连接。这两台服务器12a_b连接到在故障模式下具有备份用途的服务器或驱动器的两套驱动器24a_b,但正常运行期间限制驱动器的同时访问,以避免多启动的问题。例如,所述驱动器24a_b可以在个一双主动的配置下工作,就是指“控制”第一组数据驱动器24a的主机服务器12a和“控制”第二组数据驱动器24b的对等服务器12b。在这种情况下,属于非所属的服务器上的I/O请求,必须传送到拥有服务器,来维持其“控制”驱动器的专控。另外,数据驱动器24a-b可以在主动-被动配置下工作,其中在同一时间只有一组数据驱动器是主动的。在所述两种配置中,DAS集群30缺乏真正的同时到两组数据驱动器24a-b的主动-主动访问以避免多启动的问题。
[0028]在此示例的配置中,RAID控制器16a_b介导访问底层的DAS数据驱动器和高速缓冲存储器器18a-b,以实现本发明中的智能主动-主动模式的超高速缓冲存储器系统32。月艮务器(也称为“控制器或节点)可以具有不同的配置,从图示的实施例中,除了 RAID控制器以外的DAS控制器可以控制高速缓冲存储器,可以使用除了固态硬盘以外的高速缓冲存储器,且在集群中可能有两个以上的节点,图1中所示的基本要素足以提供一个合适的环境实施本发明的实施例。也可以理解为,系统30可包括范围广泛的其他元件,来宾控制器可能被允许访问DAS系统。为方便起见,在图中所示的,只是本发明实施过程中所涉及的最基本的一组服务器和组件。
[0029]主动-主动缓存32为DAS集群30提供智能主动-主动访问暂时存储在被确定为固态硬盘18a-b的高速缓冲存储器中的“热I/O”。驻留在主机服务器12a上的SSDlSa为“热I/O”提供一个高速缓冲存储器,其中包括“热读”和“热写”1/0。类似的,驻留在对等服务器12b的SSD18b为“热1/0”,包括“热读”和“热写”1/0提供一高速缓冲存储器。热I/O数据包括经常发生在同一本地地址(LBA)范围(即经常访问的I/O数据)的读取和写数据。基于固态硬盘18a-b的内存容量和其他因素,定义热I/O数据的访问频率可以设置为一个设计参数。
[0030]与预期的I/O流量相比,高速缓冲存储器应该足够大,让绝大多数的I/O在幕后或在使用率较低或闲置期间允许废写永久存储的缓存中出现。热读取数据可以在使用模式的基础上在每个高速缓存中动态地建立,而不用考虑永久存储读取数据驱动器的所有者。热读取数据可以根据维持高速缓存存储容量的需要清除,例如,为了给新的热读取数据腾出空间,需要及时远程清除读取数据访问。
[0031]热写数据可能会被称为“废写”数据,因为它可能包括同日在永久存储器中的用户修改副本。热写数据镜像于本地缓存中的两台服务器上,以避免潜在的废写数据冲突。
[0032]图2是利用主动-主动固态缓存系统存储在DAS集群节点上的数据读请求的数据流程图40。每个固态硬盘18a-b根据动态使用模式存储热读取数据,不考虑永久存储数据的所在的驱动器的控制权。因此,SSDlSa存储通过服务器12a请求热读取数据,不管是哪个服务器控制永久存储数据的驱动器。同样的,SSDlSa存储通过服务器12a请求热读取数据,不管是哪个服务器控制永久存储数据的驱动器。因此,由服务器12a接收的一个热读I/O请求可能指向存储在高速缓存SSD18a或SSD18b的热读取数据。图2说明了服务器12a接收一个热读I/O请求并指向自己的SSD18a的情况。在这种情况下,从SSD18a到系统存储器15a,热读I/O请求通过在服务器上12a的高速缓存储器入口 42a被作为DMA请求处理。类似地,图2说明了服务器12b接收一个热读I/O请求并指向自己的SSDlSb的情况。在这种情况下,从SSD18a到系统存储器15b,热读I/O请求通过在服务器上12b的高速缓存储器入口 42b被作为DMA请求处理。
[0033]图3是称赞情形的数据流程图50,其中一个服务器收到一个存储在对等SSD上的数据的热读取I/o请求。如本例所示,服务器12a接收到一个对存储在对等服务器12b上的SSD18b高速缓冲存储器中的数据的热读取I/O请求。在这种情况下,请求的I/O被视为一个直接从SSD18到对等体的高速缓冲存储器入口 42b服务的DMA请求。然后请求的数据通过SAS链路44到运输主机的高速缓冲存储器入口 42a和系统内存15a。因此,I/O请求看起来像一个传统的连接到主机服务器的DMA请求,所需的热读取I/O在高速缓冲存储器入口模块42a_b之间传送不需要额外的服务器18a_b中任意一个数据传送控制开销。本发明的缓存数据读取和RAID介导的SAS链路运输主动-主动模式的数据存取程序取代了传统的磁盘数据读取和CPU介导数据传送处理。
[0034]图4是对DAS群集节点上存储数据的写请求的数据流程图60。在所示的例子中,主机服务器12a接收对于永久地存储在主机服务器上的数据的写请求。写数据被写入到SSDlSa的热写数据段并从SAS链路44运送到对等服务器12b,其中反映了 SSDlSb的热写数据段。这确保了任何废写数据都在这两个高速缓冲存储器18a-b中被反映处理,以避免任何潜在的废写数据冲突。
[0035]图5是称赞情形的数据流程图70,其中一个服务器收到一个永久存储在对等服务器驱动器上的数据的热写I/O请求。如本例所示,服务器12a接收了一个永久存储在对等服务器12b驱动器中数据的热写I/O请求。写入的数据最初存储在主机SSDlSa中。然后写数据通过SAS链路44从主机服务器12a上的高速缓冲存储器入口 42a传输到的对等服务器12b上的高速缓冲存储器入口 42b。之后热写数据被写入到对等SSDlSb的热写数据段来反映这两个高速缓冲存储器18a-b的热写数据,以避免任何潜在的废写数据冲突。
[0036]图6是操作主动-主动式的超高速缓冲存储器系统的逻辑流程图80。在步骤82中,系统确定在主机服务器上收到的热读I/o请求是否指向主机服务器上的固态高速缓存。如果从主机服务器上收到的热读取I/o请求指向主机服务器上的固态高速缓存,第82步至84步后会发生“是”分支,其中I/O请求被直接从主机服务器上的固态高速缓存内读取。这种情况对应于图2中所示的数据流程图。
[0037]如果热读I/O请求尚未被主机服务器收到并指向主机服务器上的固态高速缓存,第82步到86步后会发生“否”分支,系统确定在主机服务器上收到的热读I/O请求是否指向对等服务器的固态高速缓冲存储器。如果已收到指向对等服务器上的固态高速缓冲存储器的主机服务器的热读取I/O请求,第86步到88步后会发生“是”分支,其中I/O请求被直接从对等服务器上的固态高速缓存读取。步骤88后为步骤90,其中热读取数据通过SAS链路被输送到主机服务器的固态高速缓冲存储器,其中主机服务器通过直接存取从主机固态高速缓冲存储器访问数据。这种情况对应于图3中所示的数据流程图。
[0038]如果尚未收到主机服务器上的热读I/O请求并指向对等服务器上的固态高速缓冲存储器,步骤86到步骤92之后会发生“否”分支,其中该系统确定指向主机服务器上永久存储器是否收到主机服务器的一个热写I/O请求。如果指向主机服务器永久存储器已经收到主机服务器的上的热写I/O请求,那么步骤92到步骤94之后会发生“是”分支,其中写数据被写入到主机服务器上的固态高速缓冲存储器。步骤84之后是步骤99,其中热写数据通过SAS链路被输送到对等服务器的固态高速缓冲存储器中,反映服务器之间的写数据,以防止存储在不同的服务器上的废写数据中的可能冲突。这种情况对应于图4中所示的数据流程图。[0039]如果尚未收到主机服务器上的热写I/O请求并指向对等服务器的永久存储器,步骤92到步骤98之后会发生“否”分支,其中该系统确定指向对等服务器的永久存储器是否收到主机服务器的一个热写I/O请求。如果指向对等服务器的永久存储器已经收到主机服务器的上的热写I/O请求,那么步骤98到步骤102之后会发生“是”分支,其中写数据被写入到主机服务器上的高速缓冲内存。步骤102之后是步骤104,其中热写数据通过SAS链路被输送到对等服务器的固态高速缓冲存储器中,步骤104之后是步骤106,热写数据被存储在对等服务器的高速缓冲存储器中,反映服务器之间的写数据,以防止存储在不同的服务器上的废写数据中的可能冲突。这种情况对应于图5中所示的数据流程图。
[0040]图7是另一种在其中一台服务器上包含多个I / O控制器来实现本发明的智能主动-主动式高速缓冲存储器系统的DAS系统71的功能框图。图7的DAS系统71类似于图1中的DAS系统30,除了在单个服务器上实现多个控制器取代了在不同的服务器上实现多个控制器。另外,图7的DAS以类似图1的DAS的方式操作。不难理解,该系统每个I /O控制器都包括一个独立的高速缓冲存储器,它反过来又介导访问其专用的数据驱动器组。高速缓冲存储器被配置以实施本发明的智能主动-主动式超高速缓冲存储器系统,其中热读取的数据动态的积累在每个高速缓存中,不考虑其控制权和废写数据在高速缓冲存储器中的镜像。单服务器、多个控制器DAS系统筒多个服务器的DAS系统相似,除了在单个服务器上实现多个控制器取代了在不同的服务器上实现多个控制器。DAS系统以类似的方式进行其他操作。以这种方式,本发明可以在拥有专用驱动器的I/O控制器的任何一组之间实施,而不管在任何特定的服务器上实施的I/O控制器的数量。
[0041]更具体地,DAS高可用存储器71包括一个具有CPU复合体13和系统存储器17的服务器11,典型的DDR或DDR3或其它合适的SDRAM。本例中的DAS高可用内存系统71专有多个RAID控制器19a-n。主机服务器11包括一个具有多个高速缓冲存储器21a的主动-主动高速缓冲存储器系统72,例如固态设备(SSD)如闪存。每个超高速缓冲存储器专有相关联的I/O控制器,专用于I/O控制器19a的高速缓存21a,专用于I/O控制器19b的高速缓存21b等等。此外,每个I/O控制器“控制”一组相关的专用数据驱动器,I/O控制器19a拥有驱动器25a-n,I/O控制器19b拥有驱动器27a_n等等。
[0042]DAS系统71依赖于服务器11和数据驱动器组25a_n,27a_n等之间的功能连接。服务器连接到所有的驱动器组用于在服务器或硬盘故障模式备份,但在正常运行期间控制器限制并调解同时访问,以避免多启动的问题。例如,控制器19a下的驱动器25a-n只能通过控制器19a被访问,控制器19b下的驱动器27a-n只能通过控制器19b被访问等等。每个驱动器组可以任意工作在双主动或主动-被动配置下。例如,由控制器19a控制的驱动器25a-n可以在一个主动-被动模式下操作,并且由控制器19b控制的驱动器27a_n可以一个在主动-被动模式下操作。更一般地,驱动器控制模式的任意组合可根据需要被用于任何一个I/O控制器中。
[0043]要实现智能主动-主动式高速缓存系统,高速缓冲存储器21a专控于I/O控制器19a,其具有驱动器25a-n ;高速缓冲存储器21b专控于I/O控制器19b,其具有驱动器27a-n ;等等。一旦每个驱动器组都有一个专用的I/O控制器和高速缓冲存储器,则高速缓冲存储器系统可参考前面所述图1中的DAS系统30,以相同的方式操作,其中,在DAS71(图7)的单个服务器上的I/O的控制器19a-b取代了在双服务器DAS系统30 (图1)中的I/O控制器16a-b。单服务器,多控制器配置也消除了跨SAS数据传输。每个DAS系统30和71可以随意被扩展为包括更大数量“η”的I/O控制器。此外,如果每个控制器都有其专用的驱动器和高速缓冲存储器组,多功能控制服务器可与单控制器服务器相结合。即本发明也可以在专用驱动器的I/O控制器的任何一组之间实施,而不管任何特定的服务器上实施的I/O控制器的数量。
[0044]本发明可以包括(不是必需包括)目前现有的系统的调整或重新配置。此外,本发明实施时可能提供原始设备。
[0045]本文所描述的所有方法,可包括实施例中存储在存储介质方法中的一个或多个步骤的结果。结果可包括这里所描述的任何结果,并且可以用本领域中已知的任何方式存储。其中,所述的存储介质可包括本文所描述的任何存储介质,或本领域中已知的其他任何合适的存储介质。在结果被存储后,所述结果可以使用实施例中所描述的任何方法或系统在存储介质中访问,以及使用另一软件模块,方法或系统等等进行格式化以用于用户显示。此夕卜,结果可以被存储为“永久”,“半永久”,暂时,或一段时间。例如,该存储介质可以是随机存取存储器(RAM),并且结果可能未必在存储介质中无限地持续下去。
[0046]可以进一步设想,上述实施例中的每一个方法,可以包括所述的任何其它方法的任何其他的步骤。此外,上述实施例中的每个方法,可以通过本文所述的任何系统执行。
[0047]本【技术领域】的技术人员易于理解,所述的过程和/或系统和/或其他技术可采用各种媒介(例如,硬件,软件和/或固件),而最优媒介会根据上下文中的进程和/或系统和/或其他技术变化。例如,如果实施者认为速度和精度是最重要的,他可能选择一个主要的硬件和/或固件媒介;如果灵活性是最重要的,实施者可能选择一个主要的软件实现;此外,实施者还可能选择硬件,软件和/或固件的一些组合。因此,根据本文所描述的过程和/或设备和/或的其它技术,会产生几种可能的媒介。本质上,其中没有任何要利用的媒介是最优的,这取一种决于在上下文实施者具体部署和关注问题(例如,速度,灵活性,或可预测性)的媒介选择,其中任何一个因素都可能会发生变化。本领域技术人员可以认识到,光学方面的实现通常采用光学导向的硬件,软件,或固件。
[0048]本领域技术人员将认识到,这里所阐述的时下流行的设备和/或过程,和之后使用工程实践整合所述的设备和/或过程到数据处理系统,在本【技术领域】内是很常见的。也就是说,通过合理的实验,本文所描述的设备和/或过程中的至少一部分可以被集成一个数据处理系统。本【技术领域】的技术人员可以认识到,一个典型的数据处理系统一般包括一个或多个系统单元外壳,一个视频显示装置,一个存储器例如易失性和非易失性存储器,处理器例如微处理器和数字信号处理器,计算实体例如操作系统,驱动程序,图形用户界面,应用程序,一个或多个交互设备,如触摸板或屏幕,和/或反馈回路和控制电机(例如,用于检测位置的反馈控制系统,和/或用于移动和/或调节组件和/或数量的速度控制电机,)。一个典型的数据处理系统可以使用任何合适的可利用组件实现,例如那些代表性的出现数据计算/通信和/或网络计算/通信系统中的组件。
[0049]本文所述的主旨间或阐明了包含在内的不同组件或连接的其它不同的组件。但是应当明白的是,描述这种硬件架构的仅仅是示例性的,实际上可以由许多其他的体系结构实现相同的功能。概念上讲,实现相同的功能的任何配置的组件都可以被有效地“关联”,以实现所需的功能。因此,任意两个为实现特定功能而结合的组件可以被视为彼此“关联”以实现所期望的功能,不管其硬件架构或中间的组件。同样的,任何两个相关的组件也可以被看作是“连接”或“耦合”,彼此实现期望的功能,并且任何两个能够如此相关的组件也可以被看作是“耦接”,彼此实现期望的功能。耦接的具体例子包括但不限于物理上可配对和/或物理相互作用的组件和/或无线相互作用性和/或无线交互的组件和/或逻辑上的相互作用和/或逻辑相互作用性的组件。
[0050]因为已经展示和描述了本文所述主题的细节,根据上述的教导,可能会在不偏离本文主题和更广泛的方面的情况下作出改变和修改,这对本领域技术人员是显而易见的,因此,所附的权利要求书包括本文所描述的本质和范围以及在其范围内的所有这些变化和修改。
[0051]此外,还应当了解,本发明由从属权利要求限定。
[0052]尽管已经展示了本发明的特定实施例,但明显的,本领域的技术人员可以在不偏离上述公开的范围和实质的情况下对本发明进行各种修改和实施。因此,本发明的保护范围应当仅由附属权利要求限定。
[0053]由前面的描述,相信可以理解本发明中公开的信息和相应的优点,明显的,在不脱离所公开的主题或不牺牲其所有材料的优势的情况下,形式上会有变化,结构和布置也可以进行各种改变。所描述的形式仅是说明性的,所述权利要求的意图是包含和包括此类更改。
【权利要求】
1.一种多服务器计算机系统,包括主机服务器、对等服务器和高可用性直接连接存储系统,该高可用性直接连接存储系统包括: 由所述主机服务器控制的第一组直接连接数据驱动器; 由所述对等服务器控制的第二组直接连接数据驱动器; 一高速缓冲存储器系统,其包括驻留或连接到所述主机服务器的一主机高速缓冲存储器和驻留在或连接到所述对等服务器的对等高速缓冲存储器; 其中,所述高速缓冲存储器系统提供存储在所述高速缓冲存储器系统中的热I/o数据的主动-主动访问,同时避免与所述热I/O数据相关的所述第一组和第二组直接连接数据驱动器之间的多启动程序冲突; 其中,所述主机高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权; 其中,所述对等高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权;以及 其中,所述主机和对等高速缓冲存储器进一步被配置用以存储跨所述主机和对等高速缓冲存储器镜像的热写数据,以防止存储在所述主机和对等高速缓冲存储器的废写数据中产生数据冲突,以及在服务器或控制器故障情况下提供不受约束的数据可用性。
2.根据权利要求1所述的多服务器计算机系统,其特征在于:所述第一组和第二组直接连接数据驱动器包括双主动配置。
3.根据权利`要求1所述的多服务器计算机系统,其特征在于:所述第一组和第二组的直接连接数据驱动器包括主动-被动配置。
4.根据权利要求1所述的多服务器计算机系统,其特征在于:所述多个服务器用作主动-被动和双主动模式的组合。
5.根据权利要求1所述的多服务器计算机系统,其特征在于:进一步包括驻留在所述主机服务器上的一第一 RAID控制器和驻留在所述对等服务器上的一第二 RAID控制器,其中所述第一 RAID控制器和第二 RAID控制器调解服务器访问所述高可用性直接连接存储系统。
6.根据权利要求1所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向存储在驻留于所述主机服务器上的所述高速缓冲存储器中的热读取I/o数据的热I/o读取请求,通过访问驻留在所述主机服务器上的所述高速缓冲存储器的直接存储器提供给所述主机服务器的系统内存。
7.根据权利要求1所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向存储在驻留于所述对等服务器上的所述高速缓冲存储器中的热读取I/o数据的热I/o读取请求,通过访问驻留在所述主机服务器上的所述高速缓冲存储器的直接存储器提供给所述主机服务器的系统内存。
8.根据权利要求1所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向由所述主机服务器控制的所述直接访问数据驱动器的热I/O写入请求,存储在驻留于所述主机服务器上的所述高速缓冲存储器中,并在驻留于所述对等服务器上的所述高速缓冲存储器中被镜像,以避免存储在所述主机和对等固态高速缓冲存储器中的废写数据潜在的数据冲突。
9.根据权利要求8所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向由所述主机服务器控制的所述直接访问数据驱动器的所述热I/O写入请求的高速缓存包括跨所述主机和对等服务器之间的SAS链路的所述热写数据的单个传输。
10.根据权利要求1所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向由所述主机服务器控制的所述直接访问数据驱动器的热I/o写入请求,存储在驻留于所述主机服务器上的所述高速缓冲存储器中,并在驻留于所述对等服务器上的所述高速缓冲存储器中被镜像,以避免存储在所述主机和对等固态高速缓冲存储器中的废写数据的潜在数据冲突。
11.根据权利要求10所述的多服务器计算机系统,其特征在于:由所述主机服务器接收的指向所述对等服务器控制的所述直接访问数据驱动器的所述热I/o写数据的高速缓存包括跨所述主机和对等服务器之间的SAS链路的单个的所述热写数据。
12.根据权利要求1所述的多服务器计算机系统,其特征在于:所述主机高速缓冲存储器包括驻留在所述主机服务器上的固态高速缓冲存储器。
13.根据权利要求12所述的多服务器计算机系统,其特征在于:所述对等高速缓冲存储器包括驻留于所述对等服务器上的固态高速缓冲存储器。
14.一种提供多服务器计算机系统的方法,该多服务器计算机系统包括主机服务器、对等服务器和高可用性直接连接存储系统,其特征在于,该方法包括以下步骤: 提供由所述主机服务器控制的第一组直接连接数据驱动器; 提供由所述对等服务器控制的第二组直接连接数据驱动器; 提供一高速缓冲存储器系统,其包括驻留在所述主机服务器上的主机高速缓冲存储器和驻留在所述对等服务器上的对等高速缓冲存储器; 其中,所述高速缓冲存储器系统提供存储在所述高速缓冲存储器系统中的热I/O数据的主动-主动访问,同时避免与所述热I/O数据相关的所述第一组和第二组直接连接数据驱动器之间的多启动程序冲突; 其中,所述主机高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权; 其中,所述对等高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权;以及 其中,所述主机和对等高速缓冲存储器进一步被配置用以存储跨所述主机和对等高速缓冲存储器镜像的热写数据,以防止存储在所述主机和对等高速缓冲存储器的废写数据中产生数据冲突。
15.根据权利要求14所述的方法,其特征在于,进一步包括步骤:在双主动配置中配置所述第一组和第二组直接连接数据驱动器。
16.根据权利要求14所述的方法,其特征在于,进一步包括步骤:在主动-被动配置中配置所述第一组和第二组直接连接数据驱动器。
17.根据权利要求14所述的方法,其特征在于,进一步包括步骤:提供驻留在所述主机服务器上的第一 RAID控制器和驻留在所述对等服务器上的第二 RAID控制器,其中所述第一和第二 RAID控制器调解服务器访问所述高可用性直接连接存储系统。
18.根据权利要求14所述的方法,其特征在于,进一步包括步骤:接收所述主机服务器上指向存储在驻留于所述主机服务器上的高速缓冲存储器中的热读取I/O数据的热I/O读取请求,并通过直接存储器访问驻留在所述主机服务器上的所述高速缓冲存储器提供所述请求数据给所述主机服务器的系统内存。
19.根据权利要求14所述的方法,其特征在于,进一步包括步骤:接收由所述主机服务器上指向存储在驻留于所述对等服务器上的所述高速缓冲存储器的热读取I/o数据的热I/o读取请求,并通过直接存储器访问驻留在所述对等服务器上的所述高速缓冲存储器提供所述请求数据给所述主机服务器的系统内存。
20.根据权利要求14所述的方法,其特征在于,进一步包括步骤:接收所述主机服务器上指向由所述主机服务器控制的所述直接访问数据驱动器的热I/o写入请求,将所述热写数据存储在驻留于所述主机服务器上的所述高速缓冲存储器中,并将在驻留于所述对等服务器上的所述高速缓冲存储器中镜像所述热写数据,以避免存储在所述主机和对等固态高速缓冲存储器中的废写数据潜在的数据冲突。
21.根据权利要求20所述的方法,其特征在于:由所述主机服务器接收的指向由所述主机服务器控制的所述直接访问数据驱动器的所述热I/O写入请求的高速缓存包括跨所述主机和对等服务器之间的SAS链路的所述热写数据的单个传输。
22.根据权利要求14所述的方法,其特征在于,进一步包括步骤:由所述主机服务器接收指向由所述主机服务器控制的所述直接访问数据驱动器的热I/O写入请求,将热读取数据存储在驻留于所述主机服务器上的所述高速缓冲存储器中,并在驻留于所述对等服务器上的所述高速缓冲存储器中镜像热写数据,以避免存储在所述主机和对等固态高速缓冲存储器中的废写数据的潜在数据冲突。
23.根据权利要求22所述的方法,其特征在于:所述主机服务器上接收的指向所述对等服务器控制的所述直接访`问数据驱动器的所述热I/O写数据的高速缓存包括跨所述主机和对等服务器之间的SAS链路的所述热写数据的单个传输。
24.根据权利要求14所述的方法,其特征在于:所述的主机高速缓冲存储器包括驻留在所述主机服务器上的固态高速缓冲存储器。
25.根据权利要求14所述的方法,其特征在于:所述的对等高速缓冲存储器包括驻留于所述对等服务器上的固态高速缓冲存储器。
26.—种多控制器计算机系统,包括服务器、在该服务器上运行的第一和第二 I/O控制器、和高可用性直接连接存储系统,该高可用性直接连接存储系统包括: 由所述第一 I/O控制器控制的第一组直接连接数据驱动器; 由所述第二 I/O控制器控制的第二组直接连接数据驱动器; 驻留在所述服务器上的高速缓冲存储器系统,所述高速缓冲存储器系统包括专用于所述第一 I/O控制器的第一高速缓冲存储器和专用于所述第二 I/O控制器的第二高速缓冲存储器; 其中,所述高速缓冲存储器系统提供存储在所述第一和第二高速缓冲存储器中的热I/O数据的主动-主动访问,同时避免与所述热I/O数据相关的所述第一组和第二组直接连接数据驱动器之间的多启动程序冲突; 其中,所述第一高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权; 其中,所述第二高速缓冲存储器被配置用以存储由动态系统使用产生的热读取数据,不考虑永久存储所述热读取数据的所述连接数据驱动器的控制权;以及 其中,所述第一和第二高速缓冲存储器进一步被配置用以存储跨所述第一和第二高速缓冲存储器镜像的热写数据,以防止存储在所述第一和第二高速缓冲存储器的废写数据中产生数据冲突,以及在服务器 或控制器故障情况下提供不受约束的数据可用性。
【文档编号】G06F12/08GK103514108SQ201310224937
【公开日】2014年1月15日 申请日期:2013年6月7日 优先权日:2012年6月19日
【发明者】萨玛尼西·山姆塔, 苏杰·必斯瓦思, 霍瑞亚·西米欧尼斯克 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1