1.本技术涉及计算机技术领域,特别涉及一种存储系统,一种通信方法及组件。
背景技术:2.在当前集群存储系统中,各个存储设备通过fc(fiber channel)链路连接,但由于fc链路的带宽限制,在大数据量的场景下,fc链路的数据传输速率低,而且fc链路易磨损,造成通信质量低,因此fc链路成为了集群存储系统整体性能的瓶颈。
3.因此,如何提高集群存储系统的通信质量和效率,是本领域技术人员需要解决的问题。
技术实现要素:4.有鉴于此,本技术的目的在于提供一种存储系统,一种通信方法及组件,以提高集群存储系统的通信质量和效率。其具体方案如下:
5.第一方面,本技术提供了一种存储系统,包括:
6.至少两个存储设备,每个存储设备包括至少两个控制器,每个控制器设有多个pcie端口;
7.基于任一个控制器的一个pcie端口与另一个控制器的一个pcie端口建立有pcie链路;所述pcie链路用于不同控制器之间的集群管理维护通信;
8.每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通过该光纤交换机与所述业务服务器建立相应的fc链路;所述fc链路用于进行io业务通信。
9.优选地,任意两个控制器之间的pcie链路有至少一条,且轮询使用任意两个控制器之间的各条pcie链路。
10.优选地,属于不同存储设备的任意两个控制器之间还设有至少一条fc链路,该fc链路为这两个控制器之间的pcie链路的备份。
11.优选地,属于同一存储设备的控制器之间的pcie链路由pcie板载连通,所述pcie板载的两端分别插接于所连接的两个控制器的pcie端口。
12.优选地,所述pcie板载设有ntb卡或acc卡。
13.优选地,属于不同多控设备的控制器之间的pcie链路由sas线缆连通,所述sas线缆的两端分别连接于所连接的两个控制器的pcie端口。
14.第二方面,本技术提供了一种通信方法,应用于如上所述的存储系统,包括:
15.若属于不同存储设备的任意两个控制器之间的pcie链路故障,则通过这两个控制器之间的fc链路进行集群管理维护通信。
16.优选地,还包括:
17.若属于不同存储设备的任意两个控制器之间的fc链路少于两条,则不做告警提示。
18.第三方面,本技术提供了一种电子设备,包括:
19.存储器,用于存储计算机程序;
20.处理器,用于执行所述计算机程序,以实现前述公开的通信方法。
21.第四方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的通信方法。
22.通过以上方案可知,本技术提供了一种存储系统,包括:至少两个存储设备,每个存储设备包括至少两个控制器,每个控制器设有多个pcie端口;基于任一个控制器的一个pcie端口与另一个控制器的一个pcie端口建立有pcie链路;所述pcie链路用于不同控制器之间的集群管理维护通信;每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通过该光纤交换机与所述业务服务器建立相应的fc链路;所述fc链路用于进行io业务通信。
23.可见,在本技术所提供的存储系统中,包括至少两个存储设备,每个存储设备包括至少两个控制器,任意两个控制器之间建立有用于集群管理维护通信的pcie链路;同时每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通过该光纤交换机与业务服务器建立有用于进行io业务通信的fc链路,从而在物理链路上实现了集群管理维护通信和io业务通信的隔离,集群管理维护通信和io业务通信不会争抢资源;又由于pcie链路性能优于fc链路,因此用pcie链路替换原有的fc链路进行节点间的维护管理,可以提高数据传输速率和通信质量,从而能够提高存储系统的通信质量和效率,也就提高了存储系统的整体性能。
24.相应地,本技术提供的一种通信方法及组件,也同样具有上述技术效果。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
26.图1为本技术公开的一种存储系统结构示意图;
27.图2为本技术公开的另一种存储系统中pcie链路连接示意图;
28.图3为图2示意的存储系统中,用作跨机箱连接pcie链路备份的fc链路连接示意图;
29.图4为图2和图3示意的存储系统中,所有链路的连接示意图;
30.图5为本技术公开的一种电子设备示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.目前,各个存储设备通过fc链路连接,但由于fc链路的带宽限制,在大数据量的场
景下,fc链路的数据传输速率低,而且fc链路易磨损,造成通信质量低,因此fc链路成为了集群存储系统整体性能的瓶颈。为此,本技术提供了一种存储系统,一种通信方法及组件,能够提高集群存储系统的通信质量和效率。
33.参见图1所示,本技术实施例公开了一种存储系统,包括:
34.至少两个存储设备(即图1中的机箱),每个存储设备包括至少两个控制器,每个控制器设有多个pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)端口。
35.基于任一个控制器的一个pcie端口与另一个控制器的一个pcie端口建立有pcie链路;pcie链路用于不同控制器之间的集群管理维护通信,也就是任意两个控制器之间都有pcie链路。图1未画出所有的pcie链路。
36.每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通过该光纤交换机与所述业务服务器建立相应的fc链路;所述fc链路用于进行io业务通信。
37.在本实施例中,该存储系统以控制器作为节点进行通信连接。不同控制器之间进行的集群管理维护通信包括:不同控制器同步控制器状态、共享数据等。
38.在一种具体实施方式中,属于不同存储设备的任意两个控制器之间还设有至少一条fc链路,该fc链路为这两个控制器之间的pcie链路的备份。当作为pcie链路备份的fc链路有多条时,各条fc链路轮询使用且互为冗余。其中,该fc链路仍然基于光纤交换机连通,但该光纤交换机不同于连接业务服务器的光纤交换机。
39.作为pcie链路备份的fc链路具体可参见图3,实现该fc链路的光纤交换机为1个或多个。若光纤交换机仅有一个,则所有控制器都连接至该光纤交换机,并通过划分zone的方式实现不同fc链路的逻辑隔离。若光纤交换机有n个,则每个控制器出n条线路分别连接n个光纤交换机,从物理上实现不同fc链路的隔离。
40.在一种具体实施方式中,任意两个控制器之间的pcie链路有至少两条,且轮询使用任意两个控制器之间的各条pcie链路。
41.在一种具体实施方式中,属于同一存储设备的不同控制器之间的pcie链路由pcie板载连通,pcie板载的两端分别插接于所连接的两个控制器的pcie端口。
42.在一种具体实施方式中,pcie板载设有ntb(non
‑
transparent bridge,非透明桥)卡或acc卡。
43.在一种具体实施方式中,属于不同存储设备的控制器之间的pcie链路由sas线缆连通,sas线缆的两端分别连接于所连接的两个控制器的pcie端口。
44.需要说明的是,若属于不同存储设备的任意两个控制器之间的pcie链路故障,则可以通过这两个控制器之间的fc链路进行集群管理维护通信。也即:若不同控制器之间同时建立有pcie链路和fc链路,那么fc链路可看作pcie链路的备份。一般地,fc链路的连通要求为至少两条。但由于fc链路可看作pcie链路,因此当属于不同存储设备的任意两个控制器之间的fc链路少于两条时,可不做告警提示。
45.可见,在本实施例所提供的存储系统中,包括至少两个存储设备,每个存储设备包括至少两个控制器,任意两个控制器之间建立有用于集群管理维护通信的pcie链路;同时每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通
过该光纤交换机与业务服务器建立有用于进行io业务通信的fc链路,从而在物理链路上实现了集群管理维护通信和io业务通信的隔离,集群管理维护通信和io业务通信不会争抢资源;又由于pcie链路性能优于fc链路,因此用pcie链路替换原有的fc链路进行节点间的维护管理,可以提高数据传输速率和通信质量,从而能够提高存储系统的通信质量和效率,也就提高了存储系统的整体性能。
46.本技术实施例提供了一种存储系统设计方案,该方案以系统中各个存储设备所包括的控制器为节点进行通信连接。
47.设计点一:在每个控制器上增设外部pcie插槽,以使各个控制器对外提供pcie端口,该pcie端口适配pcie卡(如:ntb卡或其他pcie卡)。其中,通过pcie线缆(sas线)跨机箱连接控制器,形成一条pcie链路;在一个机箱内,通过pcie板载连接控制器,形成一条pcie链路,从而组建pcie高速通信的多控集群存储系统。一个机箱即:一个存储设备。以pcie通信建立的多控集群存储系统,提高了数据传输速率,显著提升跨机箱的数据转发性能,巩固存储系统可靠性,提升系统整体性能。pcie链路可扩充原有通信协议,还支持固件升级、修复、查询展示等功能。
48.设计点二:还通过两条fc链路跨机箱连接控制器。也即:跨机箱连接不同控制器时,同时有pcie链路与fc链路,从而构建控制器间冗余连接的拓扑结构,可大幅提升通信连接的可靠性。在pcie链路与fc链路共存的情况下,有效数据传输由pcie链路承载,fc链路仅作冗余备份。当在pcie链路故障时,可无缝切换到fc链路通信。由于是双fc链路冗余备份,通信质量不会有明显降低。
49.设计点三:系统中不同控制器之间设多条pcie链路,并以路径轮询的方式实现不同pcie链路间负载均衡。
50.设计点四:全互联的pcie链路可以消除对fc链路必须双线的强制约束要求,在有设计点一的情况下,跨机箱连接的fc链路个数可不强制为两条,因此不足两条时也不做告警。
51.设计点五:每个控制器与同一光纤交换机连接,该光纤交换机与业务服务器连接,使得每个控制器通过该光纤交换机与业务服务器建立用于进行io业务通信的fc链路,从而实现:以pcie链路承载节点之间的集群管理维护通信,以同一光纤交换机连通的各条fc链路承载节点之间的io业务流,从物理上实现管理维护和io业务流的信道隔离,以减少相互干扰。
52.为实现上述各个设计点,对各个存储设备需要进行相应改造:
53.1、给存储设备的每个控制器增加外设pcie插槽,插槽个数可尽可能多,以建立更多的pcie链路;
54.2、适配pcie标准进行驱动层改造:在公共接口平台及之下的驱动层部分进行驱动层改造,包括驱动接口层模块、驱动层模块、以及相关硬件的改造。改造后,驱动层模块可在原有基础上从内核驱动中获取端口类型,并识别端口所插接的设备。
55.下面进行存储系统的示例连接,下述示例的存储系统包括两个双控存储设备,共有4个控制器(即4个节点)。
56.请参见图2,在每个控制器增设可插接ntb卡的多个pcie协议接口槽,用sas线缆的两端连接跨机箱的两个控制器,机箱内部在接口槽上插接设有ntb卡的板载,以连接机箱内
部的两个控制器,使得控制器两两之间都有ntb通道(由ntb卡连通的pcie链路)。一个节点可以通过ntb通道连接其他三个节点,组成pcie四控环境。
57.在图2的基础上,每个节点再出两路fc通道连接到两个光纤交换机上,具体请参见图3。在图3中,一个节点出两路连接到两个光纤交换机上,直接实现不同fc链路的隔离。需要说明的是,图2仅示意了pcie链路的连接,图3仅示意了fc链路的连接,实际上图2和图3是叠加的(可参考图1),本实施例为使4个节点之间的两种链路的连接关系清晰呈现,将一个存储系统内的连接关系分解为图2和图3。
58.叠加图2和图3所示的连接关系可见,在该存储系统中,控制器之间通过板载pcie协议ntb端口进行数据转发通信,所以认为控制器连接路径有一条pcie链路,即同一机箱内数据同步,跨机箱通信有fc链路和pcie链路。可见,图2和图3叠加仅呈现了上述设计点一和设计点二的叠加。
59.若上述设计点一、设计点二与设计点五这三者叠加,则连接关系可参见图4。在图4中,交换机1用于连通每个控制器与业务服务器,据此实现的fc链路(图4中的黑粗虚线)用于传输io业务流。交换机1与业务服务器之间的两条链路,一条用于传输业务服务器至存储系统方向的io,另一条用于传输存储系统至业务服务器方向的io。可见。基于交换机1的fc链路传输io业务流,而节点间的集群管理维护通信优选pcie链路。也即:io业务流和节点间的集群管理维护通信所用的物理链路不同,所用接口卡不同,连接端口也不同,彻底实现两者分离。
60.在图4中,各个控制器之间都有pcie链路(图4中的黑粗实线)。交换机2和交换机3用于跨机箱连通控制器,据此实现的fc链路(图4中的细虚线)用作跨机箱的pcie链路的备份。若属于不同存储设备的任意两个控制器之间的pcie链路故障,则可以通过这两个控制器之间的fc链路进行集群管理维护通信。
61.可见,本实施例除同一机箱内板载pcie链路,控制器还外接pcie链路实现所有控制器直接互联,各个控制器以pcie链路进行集群管理维护通信通信,可以显著提高跨机箱的数据转发速率。
62.而且,跨机箱同时设有pcie链路和fc链路,且优先使用pcie链路,pcie链路具有较高稳定性,通信质量有明显提升;pcie+fc的冗余连接方式可使存储系统应对极端情况,也提高了存储系统的可靠性。
63.并且,主机io业务流与集群管理维护通信实现了分离,避免这两项数据流相互干扰。当任意两个控制器之间的pcie链路有多条时,轮询使用各个pcie链路来转发数据,以实现负载均衡,达到资源的有效利用。
64.下面对本技术实施例提供的一种通信方法进行介绍,下文描述的一种通信方法与上文描述的一种存储系统可以相互参照。
65.本技术实施例公开了一种通信方法,包括:
66.当存储系统中用fc链路和pcie链路同时跨机箱连接控制器时,若属于不同存储设备的任意两个控制器之间的pcie链路故障,则通过这两个控制器之间的fc链路进行集群管理维护通信。
67.在一种具体实施方式中,还包括:
68.若属于不同存储设备的任意两个控制器之间的fc链路少于两条,则不做告警提
示。
69.下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种通信方法可以相互参照。
70.参见图5所示,本技术实施例公开了一种电子设备,包括:
71.存储器501,用于保存计算机程序;
72.处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
73.下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种通信方法及设备可以相互参照。
74.一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的通信方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
75.本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
76.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
77.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
78.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd
‑
rom、或技术领域内所公知的任意其它形式的可读存储介质中。
79.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。