一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集群服务器的制作方法

2021-10-24 06:34:00 来源:中国专利 TAG:集群 服务器


1.本技术涉及服务器集群领域,特别是涉及一种集群服务器。


背景技术:

2.服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
3.现有的集群服务器通常只能做到软件系统层面的集群,也就是当某一台服务器出现故障,运行在这台服务器上的应用就会切换到其他的服务器上,而此故障机器上的硬盘资源就不会再被应用,传输到这个服务器上的存储链路也会被切断,从而也不能得到此服务器上的存储内容,导致存储资源的利用率得不到充分利用。


技术实现要素:

4.在本实施例中提供了一种集群服务器,以解决相关技术中集群服务器的存储资源利用率低的问题。
5.在本实施例中提供了一种集群服务器,包括:交换机和至少三个服务器,所述服务器与所述交换机连接;
6.所述服务器包括存储设备,所述存储设备包括硬盘控制器和磁盘阵列,各所述硬盘控制器通过磁盘连接器连接至少一个其他服务器的磁盘阵列;
7.所述至少三个服务器包括主服务器,所述主服务器用于控制各所述服务器获取或释放对当前服务器的磁盘阵列和/或至少一个其他服务器的磁盘阵列的控制权。
8.在其中的一些实施例中,各所述硬盘控制器通过磁盘连接器连接两个其他服务器的磁盘阵列,各所述服务器的存储设备以环状拓扑结构连接。
9.在其中的一些实施例中,所述服务器包括中央处理器,所述中央处理器与所述交换机连接;所述主服务器的中央处理器用于监测其他服务器的在线状态,并在其他服务器掉线的情况下,通知相邻的服务器获取对掉线的服务器的磁盘阵列的控制权。
10.在其中的一些实施例中,其他服务器与所述主服务器建立心跳连接,所述主服务器通过心跳信息监测其他服务器的在线状态。
11.在其中的一些实施例中,所述服务器还包括基板管理控制器,所述基板管理控制器与所述交换机连接,所述基板管理控制器还与当前服务器的硬盘控制器连接,所述基板管理控制器用于获取或释放对当前服务器的磁盘阵列和/或至少一个其他服务器的磁盘阵列的控制权。
12.在其中的一些实施例中,
13.所述基板管理控制器用于监测当前服务器内各硬件的运行状态,并将所述运行状态发送给当前服务器的中央处理器;
14.其他服务器的中央处理器用于在所述运行状态异常的情况下,释放磁盘阵列控制
权,并将所述运行状态异常通知给所述主服务器;
15.所述主服务器的中央处理器用于在接收到所述运行状态异常的通知后,通知相邻的服务器获取对所述运行状态异常的服务器的磁盘阵列的控制权。
16.在其中的一些实施例中,其他服务器还用于在将当前服务器的磁盘阵列的控制权移交给其他服务器之后,对当前服务器的硬件进行自检修复,并在自检修复成功之后,重新获取对当前服务器的磁盘阵列的控制权。
17.在其中的一些实施例中,各所述服务器的磁盘阵列采用独立电源供电,所述其他服务器通过重启当前服务器进行自检修复。
18.在其中的一些实施例中,所述磁盘连接器为串行连接小型计算机系统接口连接器。
19.在其中的一些实施例中,每个所述服务器的存储设备在物理上集中设置于服务器内。
20.与相关技术相比,在本实施例中提供的集群服务器,包括:交换机和至少三个服务器,服务器与交换机连接;服务器包括存储设备,存储设备包括硬盘控制器和磁盘阵列,各硬盘控制器通过磁盘连接器连接至少一个其他服务器的磁盘阵列;至少三个服务器包括主服务器,主服务器用于控制各服务器获取或释放对当前服务器的磁盘阵列和/或至少一个其他服务器的磁盘阵列的控制权,解决了相关技术的集群服务器的存储资源利用率低的问题,提高了集群服务器的存储资源利用率。
21.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
22.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
23.图1是本实施例的服务器的示意图。
24.图2是本实施例提供的集群服务器的结构示意图。
25.图3是本实施例的线状拓扑结构的示意图。
26.图4是本实施例的环状拓扑结构的示意图。
具体实施方式
27.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
28.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理
的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
29.本实施例提供了一种集群服务器,该集群服务器包括三个或者三个以上的服务器。图1是本实施例的服务器的示意图,服务器又可以称为主机,如图1所示,每个服务器都包括计算部分10和存储部分20。其中,计算部分10通常包括中央处理器110(cpu,又称为主控制器或主控);存储部分通常由存储设备210组成。
30.存储设备210包括磁盘阵列211。需要说明的是,本实施例所称的磁盘阵列211可以仅包括一块磁盘驱动器,也可以是由多块磁盘驱动器组合成的磁盘组。并且,构成该磁盘阵列的磁盘驱动器不限于hdd磁盘驱动器还是sdd磁盘驱动器,在一些实施例中也可以是hdd磁盘驱动器和sdd磁盘驱动器的组合。并且,磁盘阵列211可以采用jbod(just a bunch of disks)技术由所有磁盘驱动器串联而成的大容量磁盘驱动器,也可以是采用诸如raid(独立磁盘冗余阵列)技术被服务器所使用,从而提高磁盘容错能力。
31.计算部分10与磁盘阵列211之间的接口设备称为硬盘控制器212,也被称为磁盘驱动器适配器。硬盘控制器212在软件层面用来解释计算部分10给出的命令,向磁盘驱动器发出各种控制信号;检测磁盘驱动器状态,或者按照规定的磁盘数据格式将数据写入和读出磁盘也是由硬盘控制器212控制。从硬件层面来说,硬盘控制器212提供了一个或者多个用于连接磁盘阵列211的物理接口。硬盘控制器212可以通过这些物理接口连接一个或者多个磁盘阵列211,以及获取或释放对物理接口连接的磁盘阵列211的控制权。
32.每个磁盘阵列211可以包括一个或者多个用于与硬盘控制器212连接的物理接口。例如,基于sas(串行连接小型计算机系统接口)技术的磁盘阵列211可以通过与多个服务器的硬盘控制器212连接,实现多个服务器共享同一个磁盘阵列211。
33.每个服务器的计算部分10和存储部分20可以在物理上集中设置,例如设置在同一个服务器机箱内。计算部分10和存储部分20可以设置在同一主电路板上,也可以分开设置。例如,存储部分20设置在服务器背板,计算部分10设置在主电路板上。
34.除了存储部分20和计算部分10之外,服务器通常还有具有两个核心固件,分别为bios(基础输入输出系统)(图未示)和bmc(基板管理控制器)(图未示)。其中,在计算机体系中,bios有这比服务器的操作系统更为底层和基础性的作用,主要负责检测、访问和调试底层硬件资源,并分配给操作系统,以保障整个及其顺利安全运转。而bmc则是独立于服务器的操作系统之外的小型操作系统,通常集成在主板上,或者通过pcie等形式插在主板上。bmc对外的表现形式通常为一个标准的rj45网口,并且bmc拥有独立的ip固件系统。通常服务器可以使用bmc指令进行无人值守操作,例如服务器的远程管理、监控、安装、重启等。
35.图2是本实施例提供的集群服务器的结构示意图。在图2中以五个服务器为例进行示例性说明,在其他实施例中服务器数量可以为大于三个的任意数,通常根据对集群服务器的计算资源和存储资源的需求具体设定,在本实施例中并不限定其数量。
36.如图2所示的集群服务器包括交换机40和五个服务器。每个服务器均与交换机40连接。每个服务器的硬盘控制器212通过磁盘连接器(例如sas连接器)连接到当前服务器的
磁盘阵列211和至少一个其他服务器的磁盘阵列211。其中,其他服务器是指集群服务器中除当前服务器之外的其他服务器。
37.在这五个服务器中,通过自选举或者用户配置其中一个服务器为主服务器(图2中的服务器a),其他服务器相对于主服务器而言被称为从服务器。主服务器用于控制各服务器获取或释放对当前服务器的磁盘阵列和/或至少一个其他服务器的磁盘阵列的控制权。
38.但是需要说明的是,在本实施例中的主从服务器并不限定这些服务器在实际业务处理上具有主从关系,而仅仅表示在实现本实施例时主服务器处于主导地位。在实际业务处理中,主服务器可以与其他的从服务器具有同等的地位,或者比其他的某个从服务器的地位更低或更高。
39.本实施例提供的集群服务器通过将其中一个服务器作为主服务器,以及各个服务器的硬盘控制器均通过磁盘连接器连接当前服务器的磁盘阵列和至少一个其他服务器的磁盘阵列,通过主服务器以控制其他服务器获取或释放对当前服务器的磁盘阵列和/或至少一个其他服务器的磁盘阵列的控制权,使得在某个其他服务器故障的情形下,主服务器可以控制其他服务器接管故障服务器的磁盘阵列211,提高了磁盘阵列211的利用率。相较于相关技术中采用诸如成本昂贵的sas交换机实现磁盘阵列211的共享而言,本实施例不需要额外新增任何sas交换机,而可以直接利用集群服务器用于业务处理的交换机40就能够满足需求,大大地降低了成本。
40.各服务器的计算部分10包括中央处理器110,各服务器的中央处理器110与交换机40连接。各从服务器的中央处理器110可以通过交换机40向主服务器周期性或者非周期性地向主服务器上报当前服务器的状态,一旦从服务器上报的状态表明该从服务器不能正常完成业务处理,则主服务器可以通知该从服务器释放对当前服务器的磁盘阵列的控制权,并通知其他的从服务器获取对该故障的从服务器的磁盘阵列的控制权。在一些实施例中,从服务器也可以在出现故障的情形下,主动释放对当前服务器的磁盘阵列的控制权。
41.然而,在从服务器掉线或异常掉电时,从服务器无法将当前服务器的状态上报给主服务器,因此,在一些实施例中,主服务器可以主动监测从服务器的状态,例如监测其他从服务器的在线状态。主服务器的中央处理器110,在其他服务器掉线的情况下,则通知与该掉线的从服务器相邻的服务器获取对掉线的服务器的磁盘阵列211的控制权。
42.其中,检测其他从服务器的在线状态可以采用心跳连接。即其他从服务器与主服务器均建立心跳连接,从服务器周期性通过心跳连接发送心跳信息(保活信息)给主服务器,若主服务器在超过设定时间间隔后没有收到某个从服务器发送的心跳信息,则认为该从服务器掉线。
43.在每个服务器中,中央处理器110和bmc都可以用来控制硬盘控制器212获取或释放磁盘阵列211的控制权。bmc通过rj45网口与交换机40连接,bmc还与当前服务器的硬盘控制器212连接。bmc用于控制硬盘控制器212获取或释放对当前服务器的磁盘阵列211和/或至少一个其他服务器的磁盘阵列211的控制权。在一些情形下,如果从服务器的操作系统崩溃或者cpu故障导致无法控制硬盘控制器212释放当前服务器的磁盘阵列211的控制权,则主服务器可以通过交换机40控制该从服务器的bmc来释放对当前服务器的磁盘阵列211的控制权。同样地,主服务器也可以通过交换机40控制其他从服务器的bmc来获取对某个磁盘阵列211的控制权。
44.由于bmc是独立于服务器操作系统之外的小型操作系统,因此,即使从服务器的操作系统因硬件故障或者软件故障而崩溃了,bmc仍能正常工作,保证集群服务器的磁盘阵列211的控制权能够正常移交。
45.bmc作为服务器中第三方的独立存在,能够监控整个服务器的硬件信息,例如系统的温度、电源电压、风扇转速等,还能够监控系统网络模块、用户交互模块(例如usb模块,显示模块)或者其他模块的工作状态。一旦服务器的某个模块出现了能够影响服务器正常业务能力的异常,bmc判断到服务器无完成存储功能,则bmc将异常信息传递给当前服务器的中央处理器110,或者通过交换机40直接传递给主服务器的中央处理器。因此中央处理器110对当前服务器的运行状态的监测可以通过bmc来实现。例如,bmc监测当前服务器内各硬件的运行状态,并将运行状态发送给当前服务器的中央处理器110;其他服务器的中央处理器110在运行状态异常的情况下,释放磁盘阵列211控制权,并将运行状态异常通知给主服务器;主服务器的中央处理器110在接收到运行状态异常的通知后,通知相邻的服务器获取对运行状态异常的服务器的磁盘阵列211的控制权。
46.为了避免采用sas交换机对集群服务器中所有的磁盘阵列211进行互联导致的成本增加,本实施例中各硬盘控制器212通过磁盘连接器(sas连接器)连接当前服务器的磁盘阵列211和至少一个其他服务器的磁盘阵列211。通过这样的连接,各服务器的存储设备可以形成诸如图3所示的线状拓扑结构。线状拓扑结构下,当处于拓扑结构两端的服务器发生了故障,则存储设备只能够被一个相邻的服务器接管,在这个相邻的服务器计算负荷较大的情形下,可能导致相邻的服务器接管存储设备后因负荷进一步增大而引发自身故障,导致集群服务器稳定性降低。或者拓扑结构两端出现连续两台相邻的服务器发生了故障,则最外侧的服务器的存储设备将不能被任何一个服务器接管,由此可见,存储设备的利用率仍有提高空间。
47.为此,在其中的一些实施例中,各硬盘控制器212通过磁盘连接器(sas连接器)连接当前服务器的磁盘阵列211和两个其他服务器的磁盘阵列,各服务器的存储设备形成诸如图4所示的环状拓扑结构。这样的连接方式,使得任意一个服务器故障的情况下,都有两个相邻的服务器可以接管该故障服务器的存储设备;即使连续相邻的两个服务器故障也可以保证分别有一个服务器接管这两个故障服务器的磁盘阵列;只有在连续相邻的三个服务器故障的情况下,才可能导致有一个服务器的存储设备不能被任何一个服务器接管。由此可见,采用环状拓扑结构提高了集群服务器的稳定性及存储设备的利用率。
48.下面对本实施例的集群服务器的工作过程进行描述。
49.实施例1
50.在本实施例中,由主服务器控制各服务器的硬盘控制器212获取或释放对当前服务器和/或其他服务器的磁盘阵列的控制权。
51.参照图4是拓扑结构,以主服务器为服务器a,其他服务器为从服务器为例,本实施例提供的集群服务器的工作过程包括如下步骤:
52.步骤1,主从服务器均监测各自服务器内各硬件的运行状态。
53.步骤2,服务器b在运行状态异常的情况下,控制服务器b的硬盘控制器212释放对服务器b的磁盘阵列211的控制权。
54.步骤3,服务器b向服务器a发送磁盘阵列控制权移交指令。
55.其中,服务器b向服务器a发送的磁盘阵列控制权移交指令中携带有服务器b的标识信息,或者携带有服务器b的磁盘阵列的标识信息。
56.步骤4,服务器a在通过交换机40接收到服务器b发送的磁盘阵列控制权移交指令的情况下,根据磁盘阵列控制权移交指令中携带的标识信息,通过查询预先配置的映射表确定该标识信息对应的服务器b的相邻服务器分别为服务器a和服务器c。
57.步骤5,服务器a确认当前服务器与服务器b相邻,则可以直接控制服务器a的硬盘控制器211获取对服务器b的磁盘阵列211的控制权。
58.实施例2
59.在本实施例中,由主服务器控制各服务器的硬盘控制器212获取或释放对当前服务器和/或其他服务器的磁盘阵列的控制权。
60.参照图4是拓扑结构,以主服务器为服务器a,其他服务器为从服务器为例。本实施例提供的集群服务器的工作过程包括如下步骤:
61.步骤1,主从服务器均监测各自服务器内各硬件的运行状态。
62.步骤2,服务器b在运行状态异常的情况下,控制服务器b的硬盘控制器212释放对服务器b的磁盘阵列211的控制权。
63.步骤3,服务器b向服务器a发送磁盘阵列控制权移交指令。
64.其中,服务器b向服务器a发送的磁盘阵列控制权移交指令中携带有服务器b的标识信息,或者携带有服务器b的磁盘阵列的标识信息。
65.步骤4,服务器a在通过交换机40接收到服务器b发送的磁盘阵列控制权移交指令的情况下,根据磁盘阵列控制权移交指令中携带的标识信息,通过查询预先配置的映射表确定该标识信息对应的服务器b的相邻服务器分别为服务器a和服务器c。
66.步骤5,服务器a发现自身与服务器b相邻,但此时服务器a的运行状态表明其工作负荷已经较大,此时,服务器a向服务器c发送磁盘阵列控制权获取指令,在磁盘阵列控制权获取指令中携带有服务器b的标识信息或故障服务器的磁盘阵列211的标识信息。
67.步骤6,服务器c在接收到磁盘阵列控制权获取指令后,根据其中携带的标识信息获取服务器b的磁盘阵列211的控制权。
68.相邻服务器可以为一个或者多个服务器。例如,在环状拓扑结构中,每个服务器具有两个相邻服务器,在另一些实施例中,在服务器采用诸如sas技术的磁盘阵列211的情形下,两个相邻服务器可以共同接管同一个故障服务器的磁盘阵列211的控制权。
69.在主服务器可以维护一个硬盘控制器212的物理接口和磁盘阵列211的映射表,以获知各个物理接口所连接的磁盘阵列211的标识信息,或者磁盘阵列211所属的服务器的标识信息;还可以维护一个集群服务器的拓扑信息,以获知各服务器的相邻服务器。在从服务器获得磁盘阵列控制权获取指令后,根据磁盘阵列控制权获取指令中携带的标识信息来确定所要接管的磁盘阵列211所连接的物理接口,从而控制硬盘控制器212获得该物理接口所连接的故障服务器的磁盘阵列211的控制权。
70.实施例3
71.在本实施例中,由主服务器控制各服务器的硬盘控制器212获取或释放对当前服务器和/或其他服务器的磁盘阵列的控制权,但各从服务器可以不需要主动上报各自服务器的运行状态。
72.参照图4是拓扑结构,以主服务器为服务器a,其他服务器为从服务器为例。本实施例提供的集群服务器的工作过程包括如下步骤:
73.步骤2,服务器a监测集群服务器内各服务器的心跳信息,根据心跳信息确定服务器b掉线。
74.步骤3,服务器a根据服务器b的标识信息,通过查询预先配置的映射表确定服务器b的相邻服务器为服务器a和服务器c。
75.步骤4,服务器a发现自身与服务器b相邻,但此时服务器a的运行状态表明其工作负荷已经较大,此时,服务器a向服务器c发送磁盘阵列控制权获取指令,在磁盘阵列控制权获取指令中携带有服务器b的标识信息或服务器b的磁盘阵列211的标识信息。
76.步骤5,服务器c在接收到磁盘阵列控制权获取指令后,根据其中携带的标识信息获取服务器b的磁盘阵列211的控制权。
77.在主服务器可以维护一个硬盘控制器212的物理接口和磁盘阵列211的映射表,以获知各个物理接口所连接的磁盘阵列211的标识信息,或者磁盘阵列211所属的服务器的标识信息;还可以维护一个集群服务器的拓扑信息,以获知各服务器的相邻服务器。在从服务器获得磁盘阵列控制权获取指令后,根据磁盘阵列控制权获取指令中携带的标识信息来确定所要接管的磁盘阵列211所连接的物理接口,从而控制硬盘控制器212获得该物理接口所连接的故障服务器的磁盘阵列211的控制权。
78.步骤6,服务器b在因故障或掉线等情形,主动或者被动将服务器b的磁盘阵列211的控制权移交给服务器c之后,对服务器b的硬件进行自检修复。
79.步骤7,若服务器b的自检修复成功,则服务器b重新获取对服务器b的磁盘阵列211的控制权。
80.其中,服务器b重新获取对服务器b的磁盘阵列211的控制权时,可以向服务器a发送磁盘阵列控制权获取请求。服务器a在收到服务器b的磁盘阵列控制权获取请求后,向当前控制了服务器b的磁盘阵列控制权的服务器c发送磁盘阵列控制权释放指令,并在接收到服务器c成功释放磁盘阵列控制权的通知后,向服务器b发送确认消息。服务器b接收到此确认消息,则重新获取其磁盘阵列的控制权。通过上述方式实现了故障服务器的自检及自修复。
81.其中,各服务器的磁盘阵列211采用独立电源供电,服务器可以通过重启当前服务器进行自检修复,并保证当前服务器的磁盘阵列211不断电而能够被其他服务器接管和利用。
82.集群服务器还可以包括控制节点,控制节点与交换机40连接,用于配置各服务器,例如配置各服务器的控制程序,或者各服务器的标识信息,或者各服务器中存储的映射表。此外,通过控制节点还可以控制各服务器的bmc实现远程无人值守功能,例如远程重启等。
83.综上所述,传统的集群服务对待异常的节点通常为断掉此节点服务,无法对存储部分调用。本实施例实现了从硬件方面完成集群服务,有效利用了异常设备的存储部分进行复用和存储部分内容的调取。本实施例使用磁盘连接器对多个服务器的磁盘阵列进行互联,使多个服务器的存储部分成为一个能够进行控制权移交的整体,并通过其中一个服务器作为主服务器实现参与集群控制,大大提高了集群方案的稳定性和安全性,一旦某个异常,便能做出快速决断进行磁盘阵列控制权的移交,使集群方案稳定性大大提高。
84.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
85.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0086]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0087]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜