一种基于硬件的服务器半虚拟化方法转让专利

申请号 : CN202310877864.0

文献号 : CN116594785B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马开心

申请人 : 四川华鲲振宇智能科技有限责任公司

摘要 :

本发明属于服务器的控制领域,提出了一种基于硬件的服务器半虚拟化方法,包括:在一个服务器中,将第一数量的CPU平均划分后分别配置在第二数量的主板上,每个主板上配置有独立的硬件设备,并将每个主板作为子服务器;在子服务器内部,将其独立配置的硬件设备之间通过内存总线连接;为所有子服务器配置一个共有的硬盘池和一个任务调度模块;将子服务器与共有的硬盘池之间通过高速总线连接;服务器接收任务指令;任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务;共有的硬盘池将与运行任务对应的运行数据发送至对应子服务器后,接收到运行数据的子服务器正常运转。本发明能够使用物理机代替虚拟机,实现服务器的快速资源调度。

权利要求 :

1.一种基于硬件的服务器半虚拟化方法,其特征在于,包括如下步骤:在一个服务器中,将第一数量的CPU平均划分后分别配置在第二数量的主板上,每个主板上配置有独立的硬件设备,并将每个主板作为子服务器;

在子服务器内部,将其独立配置的硬件设备之间通过内存总线连接;

为所有子服务器配置一个共有的硬盘池和一个任务调度模块;

将子服务器与共有的硬盘池之间通过高速总线连接;

服务器接收其所在的服务器集群中发出的任务指令;

基于所述任务指令,所述任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务;

所述共有的硬盘池将与运行任务对应的运行数据发送至对应子服务器后,接收到运行数据的子服务器正常运转;

所述独立的硬件设备包括硬盘、内存和电源;

所述任务调度模块为CPLD;

所述CPLD根据调度策略自动为各个子服务器分配对应的运行任务后,所述共有的硬盘池通过PCIE总线以环形或网状拓扑结构将与运行任务对应的运行数据发送至对应子服务器。

2.根据权利要求1所述的一种基于硬件的服务器半虚拟化方法,其特征在于,所述第一数量为第二数量的两倍。

3.根据权利要求1所述的一种基于硬件的服务器半虚拟化方法,其特征在于,所述调度策略包括:基于负载均衡的调度策略,用于通过监测服务器的负载情况,获取各个子服务器的负载均值,并将负载高于所述均值的子服务器迁移到低于所述均值的子服务器上;以及,基于性能的调度策略,用于通过监测各个子服务器的性能指标,获取性能指标参数及其规定值,并将性能指标参数大于规定值的子服务器迁移到小于规定值的子服务器上。

4.根据权利要求1‑3任意一项所述的一种基于硬件的服务器半虚拟化方法,其特征在于,所述为所有子服务器配置一个共有的硬盘池和一个任务调度模块之后,还包括:为服务器配置SAN存储设备,用于建立子服务器的物理快照,使服务器能够对于子服务器进行迁移和备份。

5.根据权利要求4所述的一种基于硬件的服务器半虚拟化方法,其特征在于,为服务器配置好SAN存储设备后,将所述SAN存储设备通过PCIE总线分别与各个子服务器连接。

说明书 :

一种基于硬件的服务器半虚拟化方法

技术领域

[0001] 本发明涉及服务器的控制领域,特别涉及一种基于硬件的服务器半虚拟化方法。

背景技术

[0002] 目前生活、商业中产生的各种数据呈井喷式增长,如何建立一个安全可靠,便于扩展的服务器组成架构是我们必须考虑的问题。
[0003] 数据量高速增长,服务器算力和架构迭代迅速,很多企业急需不断拓展服务器的算力和存储空间,但是由于服务器架构差异很多时候难以同时兼容新旧服务器的使用。
[0004] 另外,部分企业的服务器使用存在明显的波峰和波谷,例如高校的网站服务器平时使用率极低,可能仅有10%左右,但是在面临期末、选课等高峰期,又容易满载,因此不得不不断扩展,但是在波谷时期,同样需要巨大的能耗和控件来保证服务器系统的正常运行。
[0005] 有部分企业或单位采用了虚拟化技术,但是虚拟化技术目前仍然存在一些缺点:①性能下降:由于多个虚拟机共享同一台物理服务器的资源,因此在某些情况下可能会导致性能下降,如果某个虚拟机使用了大量的CPU、内存或磁盘资源,就会影响其他虚拟机的性能。②安全性问题:虚拟化软件是一个额外的软件层,可能会增加系统的攻击面,增加安全风险。③网络瓶颈:多个虚拟机使用同一台物理服务器的网络接口,可能会导致网络瓶颈和延迟增加。④管理复杂性,虚拟化环境需要管理多个虚拟机,这可能会增加管理复杂性和管理成本。
[0006] 因此,亟需提供一种虚拟化方案,规避目前虚拟化技术中的一些缺陷问题。

发明内容

[0007] 本发明的目的在于提供一种基于硬件的服务器半虚拟化方法,能够将单个服务器划分成多个子服务器,并将这些子服务器作为物理虚拟机,用于实现服务器的快速资源调度。
[0008] 本发明解决其技术问题,采用的技术方案是:
[0009] 一种基于硬件的服务器半虚拟化方法,包括如下步骤:
[0010] 在一个服务器中,将第一数量的CPU平均划分后分别配置在第二数量的主板上,每个主板上配置有独立的硬件设备,并将每个主板作为子服务器;
[0011] 在子服务器内部,将其独立配置的硬件设备之间通过内存总线连接;
[0012] 为所有子服务器配置一个共有的硬盘池和一个任务调度模块;
[0013] 将子服务器与共有的硬盘池之间通过高速总线连接;
[0014] 服务器接收其所在的服务器集群中发出的任务指令;
[0015] 基于所述任务指令,所述任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务;
[0016] 所述共有的硬盘池将与运行任务对应的运行数据发送至对应子服务器后,接收到运行数据的子服务器正常运转。
[0017] 作为进一步优化,所述第一数量为第二数量的两倍。
[0018] 作为进一步优化,所述独立的硬件设备包括硬盘、内存和电源。
[0019] 作为进一步优化,所述任务调度模块为CPLD。
[0020] 作为进一步优化,所述CPLD根据调度策略自动为各个子服务器分配对应的运行任务后,所述共有的硬盘池通过PCIE总线以环形或网状拓扑结构将与运行任务对应的运行数据发送至对应子服务器。
[0021] 作为进一步优化,所述调度策略包括:
[0022] 基于负载均衡的调度策略,用于通过监测服务器的负载情况,获取各个子服务器的负载均值,并将负载高于所述均值的子服务器迁移到低于所述均值的子服务器上;以及,[0023] 基于性能的调度策略,用于通过监测各个子服务器的性能指标,获取性能指标参数及其规定值,并将性能指标参数大于规定值的子服务器迁移到小于规定值的子服务器上。
[0024] 作为进一步优化,所述为所有子服务器配置一个共有的硬盘池和一个任务调度模块之后,还包括:
[0025] 为服务器配置SAN存储设备,用于建立子服务器的物理快照,使服务器能够对于子服务器进行迁移和备份。
[0026] 作为进一步优化,为服务器配置好SAN存储设备后,将所述SAN存储设备通过PCIE总线分别与各个子服务器连接。
[0027] 本发明的有益效果是:通过上述一种基于硬件的服务器半虚拟化方法,首先,在一个服务器中,将第一数量的CPU平均划分后分别配置在第二数量的主板上,每个主板上配置有独立的硬件设备,并将每个主板作为子服务器;其次,在子服务器内部,将其独立配置的硬件设备之间通过内存总线连接;然后,为所有子服务器配置一个共有的硬盘池和一个任务调度模块;然后,将子服务器与共有的硬盘池之间通过高速总线连接;然后,服务器接收其所在的服务器集群中发出的任务指令;其次,基于所述任务指令,所述任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务;最后,所述共有的硬盘池将与运行任务对应的运行数据发送至对应子服务器后,接收到运行数据的子服务器正常运转。
[0028] 由于本申请中可以通过物理结构和组成代替传统虚拟化中的虚拟机,在服务器负载低时,可通过管理任务调度模块来均衡负载,通过独立电源关闭部分服务器或以低功耗模式运行以节能。

附图说明

[0029] 图1为本发明实施例1中一种基于硬件的服务器半虚拟化方法的流程图;
[0030] 图2为本发明实施例2中服务器中的组成架构示意图;
[0031] 图3为本发明实施例2中CPLD的结构框图;
[0032] 图4为本发明实施例2中3级共享空间示意图。

具体实施方式

[0033] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0034] 实施例1
[0035] 本实施例提供的是一种基于硬件的服务器半虚拟化方法,其流程图见图1,其中,该方法包括如下步骤:
[0036] S1、在一个服务器中,将第一数量的CPU平均划分后分别配置在第二数量的主板上,每个主板上配置有独立的硬件设备,并将每个主板作为子服务器;
[0037] S2、在子服务器内部,将其独立配置的硬件设备之间通过内存总线连接;
[0038] S3、为所有子服务器配置一个共有的硬盘池和一个任务调度模块;
[0039] S4、将子服务器与共有的硬盘池之间通过高速总线连接;
[0040] S5、服务器接收其所在的服务器集群中发出的任务指令;
[0041] S6、基于所述任务指令,所述任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务;
[0042] S7、所述共有的硬盘池将与运行任务对应的运行数据发送至对应子服务器后,接收到运行数据的子服务器正常运转。
[0043] 本实施例中,为了使所有主板配置相同,保证由主板构成的子服务器均能独立运行,这里,需要将第一数量设置为第二数量的两倍,即可以在每个主板上配置两个CPU。
[0044] 每个子服务器独立运行时,其需要配置能够使子服务器独立运行的硬件设备,因此,所述独立的硬件设备至少应包括硬盘、内存和电源等。
[0045] 一般来说,所述任务调度模块根据调度策略自动为各个子服务器分配对应的运行任务时,可以通过I2C总线将运行任务分发至对应子服务器,也可以通过CAN或SPI总线将运行任务分发至对应子服务器。为了保证主板内部的硬件设备通信和数据传输,所述内存总线可以为DDR4,在任务调度模块完成调度后,需要实现共有的硬盘池与各个子服务器之间的数据流通,因此,所述高速总线可以为PCIE。
[0046] 需要指出的是,所述任务调度模块可以为CPLD,其只负责调度,所述CPLD根据调度策略自动为各个子服务器分配对应的运行任务后,所述共有的硬盘池可以通过PCIE总线以环形或网状拓扑结构将与运行任务对应的运行数据发送至对应子服务器。
[0047] 本实施例中,所述调度策略可以包括:
[0048] 基于负载均衡的调度策略,用于通过监测服务器的负载情况,获取各个子服务器的负载均值,并将负载高于所述均值的子服务器迁移到低于所述均值的子服务器上;以及,[0049] 基于性能的调度策略,用于通过监测各个子服务器的性能指标,获取性能指标参数及其规定值,并将性能指标参数大于规定值的子服务器迁移到小于规定值的子服务器上。
[0050] 通过调度策略,可以将负载较高的子服务器迁移到性能更好的服务器上,以提高应用程序的性能。
[0051] 由于本实施例实质上是使用物理机代替虚拟机,并且可以提供SAN存储设备以完善物理机功能,因此,所述为所有子服务器配置一个共有的硬盘池和一个任务调度模块之后,还可以包括:
[0052] 为服务器配置SAN存储设备,用于建立子服务器的物理快照,使服务器能够对于子服务器进行迁移和备份。为服务器配置好SAN存储设备后,需要将所述SAN存储设备通过PCIE总线分别与各个子服务器连接。
[0053] 因此,本实施例将传统服务器中的虚拟化方法转化为物理虚拟机方法,使用性能相对较低的低功耗处理器,通过独立的电源模块和CPLD管理的方式,近似理解成单台服务器所组件的多台虚拟机,同时由于是硬件分组,并且调度逻辑由CPLD完成,因此对于虚拟化的性能损耗也极低,可以实现虚拟机的快速备份和资源调度。
[0054] 实施例2
[0055] 本实施例基于实施例1,可以知道,传统的虚拟化技术是将单个服务器作为物理机,在此物理机型的基础上通过软件进行虚拟化,而本实施例则设计了一种以多路CPU为基础的服务器半虚拟化方案,本实施例中,以32路CPU为例进行详细说明。
[0056] 本实施例中,CPU并不需要采用多核多线程的高性能CPU,也可根据使用环境扩展,采用物理分隔的方式,将32路CPU分在16块主板上,每块主板具有独立的硬件设备包括内存,硬盘,电源等,参见图2,主板之间通过高速总线(如PCIE)连接,主板内部使用内存总线(如DDR4)连接。同时存在有所有主板共用的磁盘阵列作为共有资源池。
[0057] 需要指出的是,由于是通过物理结构和组成代替传统虚拟化中的虚拟机,因此,在服务器负载低时,可通过管理的CPLD来均衡负载,CPLD的结构框图参见图3,可以通过独立电源关闭部分服务器或以低功耗模式运行以节能。
[0058] 本实施例中,整个服务器配备了SAN存储设备,用于快速建立物理子服务器的物理快照,使服务器能够对于子服务器进行快速的迁移和备份,达到类似于服务器虚拟机的效果,同时可以通过以下策略进行调度:
[0059] 基于负载均衡的调度策略:这种策略通过监测服务器的负载情况,将负载较高的子服务器迁移到负载较低的服务器上;
[0060] 基于性能的调度策略:这种策略通过监测子服务器的性能指标,如CPU、内存和网络等使用率,将负载较高的子服务器迁移到性能更好的服务器上,以提高应用程序的性能。
[0061] 本实施例中,由于存在共有的硬盘池,调度的效率也较高,并且由于整个调度策略都是由CPLD进行调控和逻辑判断,因此对于整体的损耗也相对较低。
[0062] 参见图4的3级共享空间示意图,本实施例将服务器的使用区域分为了3个等级:
[0063] 等级1:主板内,也就是子服务器,通过板内高速总线连接,调度的CPLD接收到任务后将任务划分为板块分发给各个子虚拟机,子虚拟机相当于一台独立的性能相对较低的服务器,可独立处理数据。
[0064] 等级2:整个服务器,通过高速总线(如PCIE进行通信和数据流转),由于有共有的硬盘池,数据流通速度和调度策略执行速度也是较快的。
[0065] 等级3:服务器集群:通过万兆网线等协议进行连接,相当于将本实施例设计的服务器当作一个整体,通过接收集群管理软件的控制和调度;
[0066] 本实施例中,CPLD只负责调度,实际的数据流通仍然通过PCIE总线以环形拓扑或网状拓扑结构分发到各个子服务器。
[0067] 因此,本实施例由于是采用了物理分割方式,并且使用CPLD模块进行调度,可以使性能损耗很低;并且,由于没有服务器虚拟化的软件层,所以安全性相对更高;同时,由于实际的数据流通通过PCIE的高速总线进行流通,可以同时多路进行传输,可使网络极限更高;最后,由于整个服务器作为集群中的一个节点,在管理方面可理解为单个高性能服务器,任务分配后此方案的服务器可以自行分配任务,进行相应的性能调度、能耗调度等,管理者只需要关注服务器的极限性能即可,可管理性更强。
[0068] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。