1.本发明涉及超融合架构技术领域,尤其涉及一种具有容错功能的超融合系统。
背景技术:2.近年来,随着信息技术的快速发展,尤其是虚拟化技术和分布式存储技术的成熟,it基础设施架构发生了一些变化。一种新型的it基础设施架构——超融合架构越来越多的应用在企业中。超融合架构系统是在服务器虚拟化的基础上,把分布式存储技术融入到其内部的一种it架构系统。通过在普通x86服务器上安装超融合软件(包含服务器虚拟化、网络虚拟化、存储虚拟化等)形成超融合系统,超融合系统通过软件把x86服务器具有的计算和存储资源进行虚拟化整合,形成虚拟化资源池。用户可以通过统一管理页面对整个超融合系统的虚拟化资源池进行管理、使用、维护。超融合系统在硬件上,舍弃了传统的磁盘阵列,使用标准的x86服务器,使得整个系统结构上更简单,更灵活,也更易扩展,不存在单点故障和性能瓶颈。因此在现在的企事业单位的信息化建设中,得到了广泛的应用。
3.对于企事业单位的关键应用场合,尤其是工业场景的控制系统,这种普通的超融合系统不能很好的满足实际的需求。主要表现为:
4.1.普通的超融合系统提供的都是高可用(ha)级别的可用性,当超融合服务器出现故障或宕机时,服务器上运行的虚拟机要通过超融合软件进行监测、调度,然后在其他服务器节点上重新启动,整个过程至少需要几分钟的时间。这个过程中,虚拟机停止运行,运行的业务要中断,虚拟机和外界通信中断,出现业务数据不能及时上传,发生数据丢失的情况。
5.2.对于企事业单位的关键应用,如工业场景的控制系统,对可靠性、实时性要求比较高,控制系统连接企业生产的设备,关系到企业的生产经营,一旦出现失控,就可能引起安全事故或者导致生产的产品不合格,造成安全事故或者财产损失。
6.基于当前市场上普通的超融合系统只能提供ha级别的可用性,其可靠性具有一定的局限性。而目前市场上的容错服务器都是独立存在的,无法进行性能扩展和统一管理。
技术实现要素:7.为了解决相关的现有的超融合系统可靠性较低的问题,本发明提供一种具有容错功能的超融合系统。所述技术方案是:
8.一种具有容错功能的超融合系统,包括资源池,资源池被分配为多个容错计算机组和多个普通计算机组,容错计算机组包括至少两个服务器节点,且至少用于创建容错等级虚拟机,容错等级虚拟机运行于容错计算机组内的所有服务器节点上,且一个服务器节点为显示运行状态的主节点,其余服务器节点为显示暂停状态的备节点,普通计算机组包括至少一个服务器节点,且用于创建高可用等级虚拟机或无可用等级虚拟机;以及,
9.还包括心跳服务模块、内存同步服务模块、故障管理服务模块和虚拟机监控服务模块。
10.优选地,心跳服务模块用于检测和识别创建有容错等级虚拟机的容错计算机组内的服务器节点的连接和通信。
11.优选地,心跳服务模块用于检测和识别创建有容错等级虚拟机的容错计算机组内的服务器节点的连接和通信,具体为:
12.心跳服务模块用于当一服务器节点上的容错等级虚拟机在创建或者数据传输时,向同一容错计算机组内的其余服务器节点发送请求,当其余服务器节点返回心跳接收正常时,说明容错计算机组工作正常;若发送请求失败,则通过另一网络发送请求,若其余服务器节点仍无法返回心跳状态,说明容错计算机组工作异常,无法实现容错的功能。
13.优选地,内存同步服务模块用于在监测到主节点接收到io数据后,将内存数据存储在同一容错计算机组内的备节点上。
14.优选地,内存同步服务模块用于在监测到主节点接收到io数据后,将内存数据存储在同一容错计算机组内的备节点上,具体为:
15.内存同步服务模块用于在监测到主节点接收到io数据后,将主节点上的虚拟机设置为暂停状态,同时将内存数据分割为多个数据块并同时给每个数据块打上一个唯一的标签,通过数据网络同步到备节点上。
16.优选地,备节点用于当接收完成同步数据后,通过心跳服务从备节点向主节点发送接收完成的通知和对应数据块的标签;主节点用于在接收到备节点通过心跳服务反馈的状态和数据块标签后,对刚才传输的数据块标签进行校验,校验主、备节点数据标签一致后,把内存数据再次传入缓存硬盘中,同时进行下一个周期的内存数据传输,若校验主、备节点数据不一致,则内存同步服务模块再次将数据块以及对应标签同步到备节点上。
17.优选地,故障管理服务模块用于实时监测各个服务器节点运行状态。
18.优选地,虚拟机监控服务模块用于在虚拟机所在服务器节点出现故障时,根据虚拟机的等级和所在的计算机组进行切换。
19.优选地,虚拟机监控服务模块用于在虚拟机所在服务器节点出现故障时,根据虚拟机的等级和所在的计算机组进行切换,具体为:
20.若虚拟机为无可用等级,则关闭虚拟机,并设置为手动重启;
21.若虚拟机为高可用等级,则虚拟机自动从所对应的计算机组内的其他服务器节点重启,且若计算机组内没有可用的服务器节点,则关闭虚拟机,并设置为手动选择从其他计算机组内的服务器节点重启;
22.若虚拟机为容错等级,则虚拟机自动切换到所对应的容错计算机组内的另一个服务器节点上运行,并设置为切换过程中,虚拟机操作系统不重启,业务不中断。
23.优选地,采用分布式存储技术,且设置有三个副本。
24.与现有技术相比,本发明的有益效果是:
25.本发明实现超融合系统中能够提供容错功能,满足关键应用的高可用性、可靠性需求,即当超融合系统中的一个服务器节点发生故障,另一个服务器节点能够顺利接管上层软件应用与数据,使用户业务继续运行不间断,数据不丢失,可用于关键任务场合的计算机应用部署,以解决关键应用场合服务器不能关机、数据不能丢失、业务不能中断等要求;且相比较传统的容错服务器只能由两台服务器组成,本系统能够提供更多的容错计算机组,具有更好的扩展性和更多的功能,打破了传统容错服务器孤立存在,无法融合的问题;
同时配合分布式存储进一步保证虚拟机的数据不丢失。
附图说明
26.图1为本发明的整体拓扑结构图;
27.图2为本发明中x86服务器结构设计;
28.图3为本发明中虚拟化存储副本存储机制示意图;
29.图4为本发明的架构图;
30.图5为本发明中虚拟机内存同步逻辑图;
31.图6为本发明故障切换流程。
具体实施方式
32.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
33.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
34.如图1所示,一种具有容错功能的超融合系统,包括资源池,资源池被分配为多个容错计算机组和多个普通计算机组。具体地,本系统可以但不限于由3台以上x86服务器组成,并将x86服务器上的计算资源、存储资源统一池化,再通过统一管理界面管理。
35.如图2所示,每台x86服务器的配置应保持一致或相近,x86服务器由cpu、内存、硬盘和网卡等组成。x86服务器的硬盘包括系统盘、缓存盘和数据盘,通过raid卡与服务器主板连接;网卡由数据网(10gb以上)、管理网(1gb以上)、业务网(1gb以上)组成。
36.x86服务器的各组硬盘作用如下:
37.1.系统盘:通常由ssd硬盘组成,通过raid卡设置后用来安装操作系统和超融合软件;
38.2.缓存盘:通常由ssd硬盘组成,通过raid卡设置后用来做服务器内存和本地存储磁盘之间传输的缓存使用,用来提高超融合系统的io读写性能;
39.3.数据盘:通常由hdd硬盘组成,通过raid卡设置后用来做服务器的存储硬盘,通过超融合软件把多台x86服务器的存储硬盘形成统一的存储资源池供虚拟机使用。
40.x86服务器之间通过交换机连接进行通信和数据传输,x86服务器的各种网卡作用如下:
41.1.数据网:数据网由10gb、25gb、40gb或100gb的网络组成,用来同步容错计算机组内的两台服务器之间的内存数据以及位于容错计算机组或者普通计算机组内服务器的硬盘存储数据;
42.2.管理网:管理网通常由1gb以上的网络组成,用来做承载数据管理的数据流量,比如管理节点下发指令给计算节点、管理节点之间的高可用心跳等;
43.3.业务网:业务网通常由1gb以上的网络组成,用来承载用户端到超融合中各个业务应用系统的流量以及超融合内部虚拟机之间的的流量。
44.本系统优选采用分布式存储技术,且设置有三个副本。如图3所示,业务系统的数据在传输到存储系统的过程中,会被分割为固定大小的数据块,通常为4mb或根据需要分割为更小的数据块,每个数据块在不同的节点上保存3个副本,将各个副本数据随机分布在不同节点、不同磁盘中,以实现数据自动平衡和横向扩展。当磁盘或节点遭遇故障或损坏时,系统会根据设置好的副本数和重建机制,重新建立一个新的数据副本。
45.本系统可以把资源池中的资源分配给不同的虚拟机使用,虚拟机在计算机组内创建,并可以创建为不同等级的可用性,包括容错等级虚拟机、高可用等级虚拟机、无可用等级虚拟机。具体地,容错计算机组包括至少两个服务器节点,且至少用于创建容错等级虚拟机,如图4所示,本实施例中,容错计算机组包括两个服务器节点,容错等级虚拟机创建在容错计算机组上,而可用等级虚拟机或无可用等级虚拟机一般设置创建在普通计算机组上。容错等级虚拟机运行于容错计算机组内的所有服务器节点上,且一个服务器节点为显示运行状态的主节点,其余服务器节点为显示暂停状态的备节点。普通计算机组包括至少一个服务器节点,且用于创建高可用等级虚拟机或无可用等级虚拟机。
46.容错等级虚拟机指若虚拟机所在物理服务器节点发生故障或者宕机,本系统会自动调度它到同一容错计算机组中的其他物理节点运行,整个切换过程虚拟机无需停机。
47.高可用等级虚拟机指如果虚拟机所在物理服务器节点发生故障或者宕机,超融合软件在识别到故障后,通过系统读取虚拟机的配置文件,并按照配件文件自动把虚拟机从其他物理节点启动起来。
48.无可用等级虚拟机指如果虚拟机所在物理服务器节点发生故障或者宕机,虚拟机会自动关闭并不会启动,如果要启动虚拟机,需要手动点击启动,超融合系统会再根据虚拟机的配置文件把它从其他物理节点上启动起来。
49.本系统在容错计算机组内创建的容错级别虚拟机,在运行的过程中,本系统会对虚拟机传输的数据进行分割,然后在容错计算机组内的两台服务器节点进行内存数据的同步。内存数据传入缓存盘后,在验证两个节点内缓存数据一致后,再通过分布式存储软件的功能,把数据块通过网络交换机存储在不同节点的不同磁盘中。当容错计算机组内的一个服务器节点故障或者宕机时,组内的另一个服务器节点把虚拟机接管至正常运行的组内节点运行,容错级别虚拟机在整个接管切换过程,虚拟机无需重新启动,高可用等级的虚拟机会根据虚拟机的配置文件读取存储卷从另外一个节点重新启动,无可用等级的虚拟机则会关闭运行,不自动启动。
50.如图5所示,本系统还包括心跳服务模块、内存同步服务模块、故障管理服务模块和虚拟机监控服务模块。
51.心跳服务模块用于检测和识别创建有容错等级虚拟机的容错计算机组内的服务器节点的连接和通信。具体为:
52.心跳服务模块用于当一服务器节点上的容错等级虚拟机在创建或者数据传输时,向同一容错计算机组内的其余服务器节点发送请求,当其余服务器节点返回心跳接收正常时,说明容错计算机组工作正常;若发送请求失败,则通过另一网络发送请求,若其余服务器节点仍无法返回心跳状态,说明容错计算机组工作异常,无法实现容错的功能。
53.内存同步服务模块用于在监测到主节点接收到io数据后,将内存数据存储在同一容错计算机组内的备节点上。具体为:
54.内存同步服务模块用于在监测到主节点接收到io数据后,将主节点上的虚拟机设置为暂停状态,同时将内存数据分割为多个数据块并同时给每个数据块打上一个唯一的标签,通过数据网络同步到备节点上。
55.备节点用于当接收完成同步数据后,通过心跳服务从备节点向主节点发送接收完成的通知和对应数据块的标签;主节点用于在接收到备节点通过心跳服务反馈的状态和数据块标签后,对刚才传输的数据块标签进行校验,校验主、备节点数据标签一致后,把内存数据再次传入缓存硬盘中,同时进行下一个周期的内存数据传输,若校验主、备节点数据不一致,则内存同步服务模块再次将数据块以及对应标签同步到备节点上,从而保证运行在本系统容错计算机组内的容错虚拟机在容错计算机组内的主、备节点数据的强一致性。每个数据的传输周期为毫秒级,因此不会影响虚拟机的状态和运行。
56.本系统通过把容错功能结合到超融合系统,使得结合后的超融合系统能够提供具有容错等级的虚拟机,使得虚拟机具有更高的可用性,能够提供持续的连续运行。和传统的容错服务器相比,通过使用分布式存储的三副本机制,使得数据在存储上更安全更可靠。容错计算机组内的一个物理节点故障,可以实现虚拟机的不停机迁移,即使出现容错计算机内的两个物理节点故障,由于存储的三副本机制,还会有一份数据存在,也可以保证虚拟机的数据不丢失。而且通过超融合的架构,可以实现传统容错服务器实现不了的统一管理和横向扩展能力。
57.故障管理服务模块用于实时监测各个服务器节点运行状态,主要监测服务器节点的网络连接状态和操作系统运行状态。当监测到运行状态异常,例如网络中断或宕机等故障,通过本系统的告警服务对发生的故障向虚拟机监控服务模块进行报警,当虚拟机监控服务模块识别到网络中断或者节点宕机报警后,也即在虚拟机所在服务器节点出现故障时,根据虚拟机的等级和所在的计算机组进行切换。
58.如图6所示,具体为:
59.若虚拟机为无可用等级,则关闭虚拟机,并设置为手动重启;
60.若虚拟机为高可用等级,则虚拟机自动从所对应的计算机组内的其他服务器节点重启,且若计算机组内没有可用的服务器节点,则关闭虚拟机,并设置为手动选择从其他计算机组内的服务器节点重启;
61.若虚拟机为容错等级,则虚拟机自动切换到所对应的容错计算机组内的另一个服务器节点上运行,并设置为切换过程中,虚拟机操作系统不重启,业务不中断。即把备节点运行的暂停状态虚拟机转换成运行状态,并和备节点的内存数据进行通信和传输。因为备节点的内存数据和主节点的内存数据完全一致,所以虚拟机的操作系统不需要重启,可以直接运行。当主节点恢复健康后,会再次同步数据使得容错计算机组具备容错功能,故障时不中断虚拟机业务运行。
62.本系统支持目前主流操作系统(windows/linux),具有无可用、高可用、容错等级等多种可用性,可实现服务器故障或宕机,虚拟机业务系统不停机迁移,同时支持多种可用性虚拟机统一管理。
63.综上所述,本发明实现超融合系统中能够提供容错功能,满足关键应用的高可用性需求,即当超融合系统中的一个服务器节点发生故障,另一个服务器节点能够顺利接管上层软件应用与数据,使用户业务继续运行不间断,数据不丢失,可用于关键任务场合的计
算机应用部署,以解决关键应用场合服务器不能关机、数据不能丢失、业务不能中断等要求;且相比较传统的容错服务器只能由两台服务器组成,本系统能够提供更多的容错计算机组,具有更好的扩展性和更多的功能,打破了传统容错服务器孤立存在,无法融合的问题;同时配合分布式存储进一步保证虚拟机的数据不丢失。
64.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
65.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
66.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
67.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
68.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
69.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。