掌桥专利:专业的专利平台
掌桥专利
首页

一种将BMC系统虚拟化的方法及装置

文献发布时间:2023-06-19 13:45:04


一种将BMC系统虚拟化的方法及装置

技术领域

本发明涉及BMC系统虚拟化领域,具体涉及一种将BMC系统虚拟化的方法及装置。

背景技术

随着时代地进步,硬件设备也在飞速地发展,而大多时间电脑的cpu使用率都是低于5%的,虚拟机为企业很好的解决了这个问题。例如一台实体服务器装上多个虚拟服务器,硬件资源很好的被利用起来了。

而在物理服务器中,几乎都配备了BMC系统。而BMC系统是一个独立的系统,对于某些嵌入式设备,可能不需要其它处理器,只要一个BMC系统就能完成工作,即BMC系统本身也是一个带处理器(一般都是ARM处理器)的小系统,单独用来处理某些工作也完全是可以的。但目前没有BMC系统的虚拟化方案,不能很好地利用BMC系统的硬件资源。

发明内容

为解决上述问题,本发明提供一种将BMC系统虚拟化的方法及装置,将实体BMC系统单独物理封装,对BMC系统的硬件资源进行虚拟化操作,虚拟出多个虚拟BMC系统,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

第一方面,本发明的技术方案提供一种将BMC系统虚拟化的方法,包括以下步骤:

将实体BMC系统单独物理封装在一电路板上;

在电路板上设置供虚拟BMC系统与服务器通信的多个数据交互端口;

使用数据交互总线连接数据交互端口与服务器;

将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

进一步地,数据交互总线包括传统实体BMC系统与服务器通信的IPMI总线和串口总线。

进一步地,该方法还包括:

将传统实体BMC系统与服务器通信的IPMI总线和串口总线进行物理包装,获得数据交互总线。

进一步地,将实体BMC系统的硬件资源进行虚拟化操作之后所获得的虚拟BMC系统的数量不多于电路板上数据交互端口的数量。

进一步地,该方法还包括:

将实体BMC系统的硬件资源进行虚拟化操作后,通过设置虚拟BMC系统的IP地址和对应数据交互端口的IP地址,实现一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

进一步地,实体BMC系统的硬件资源包括ARM处理器和网卡。

第二方面,本发明的技术方案提供一种将BMC系统虚拟化的装置,包括电路板和多个数据交互总线;

电路板上设置有单独物理封装的实体BMC系统以及多个数据交互端口;其中,实体BMC系统的硬件资源经虚拟化操作获得多个虚拟BMC系统;

数据交互端口一端与实体BMC系统连接,另一端通过数据交互总线与服务器连接;一个数据交互端口对应一个数据交互端口,一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

进一步地,数据交互总线包括传统实体BMC系统与服务器通信的IPMI总线和串口总线。

进一步地,数据交互端口的数量不少于虚拟BMC系统的数量。

进一步地,实体BMC系统的硬件资源包括ARM处理器和网卡。

本发明提供的一种将BMC系统虚拟化的方法及装置,相对于现有技术,具有以下有益效果:将实体BMC系统单独物理封装,并设置与服务器通信的数据交互端口和数据交互总线,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,虚拟机BMC系统通过数据交互总线与服务器通信,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种将BMC系统虚拟化的方法流程示意图。

图2为本发明实施例二提供的一种将BMC系统虚拟化的方法流程示意图。

图3为本发明实施例三提供的一种将BMC系统虚拟化的方法流程示意图。

图4为本发明实施例四提供的一种将BMC系统虚拟化的装置架构示意图。

图5为本发明实施例五提供的一种终端的结构示意图。

具体实施方式

以下对本发明涉及的术语进行解释。

BMC:一系列的监视和控制功能,操作的对象是系统硬件。比如通过监视系统的温度,电压,风扇、电源等等,并做相应的调节工作,以保证系统处于健康的状态。当然如果系统真的不正常了,也可以通过复位的方式来重新启动系统。同时平台管理还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。以上的这些功能可以集成到一个控制器上来实现,这个控制器被称为基板管理控制器(Baseboard Manager Controller,简称BMC)。

需要说明的是,BMC是一个独立的系统,它不依赖于系统上的其它硬件(比如CPU、内存等),也不依赖于BIOS、OS等(但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果)。

虚拟化:虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。

ARM处理器:ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

IPMI:IPMI是智能型平台管理接口(Intelligent Platform ManagementInterface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着时代地进步,硬件设备也在飞速地发展,而大多时间电脑的cpu使用率都是低于5%的,虚拟机为企业很好的解决了这个问题。例如一台实体服务器装上多个虚拟服务器,硬件资源很好的被利用起来了。

而在物理服务器中,几乎都配备了BMC系统。而BMC系统是一个独立的系统,对于某些嵌入式设备,可能不需要其它处理器,只要一个BMC系统就能完成工作,即BMC系统本身也是一个带处理器(一般都是ARM处理器)的小系统,单独用来处理某些工作也完全是可以的。但目前没有BMC系统的虚拟化方案,不能很好地利用BMC系统的硬件资源。

因此,本发明提供一种将BMC系统虚拟化的方案,将实体BMC系统单独物理封装,对BMC系统的硬件资源进行虚拟化操作,虚拟出多个虚拟BMC系统,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

实施例一

本实施例一提供一种将BMC系统虚拟化的方法,实现BMC系统的虚拟化。

如图1所示为本实施例一提供的一种将BMC系统虚拟化的方法流程示意图,包括以下步骤。

S101,将实体BMC系统单独物理封装在一电路板上。

需要说明的是,传统BMC系统一般是内嵌式,即内嵌在服务器的电路板上,实现与服务器的通信。本实施例为实现BMC系统的虚拟化,将实体BMC系统从服务器电路板上提取出来,单独进行物理封装,使其成为独立于服务器外的硬件系统。

S102,在电路板上设置供虚拟BMC系统与服务器通信的多个数据交互端口。

传统BMC系统由于是内嵌式的,一般在服务器电路板上使用引线即可实现BMC系统与服务器的通信,本实施例的BMC系统独立于服务器外,且需保证各个虚拟BMC系统与服务器的通信,因此本实施例在实体BMC系统所在电路板上设置多个数据交互端口,以便虚拟BMC系统与服务器的通信。

S103,使用数据交互总线连接数据交互端口与服务器。

除了设置数据交互端口外,为了实现虚拟BMC系统与服务器之间的通信,还设置数据交互总线将数据交互端口与服务器之间进行连接,实现数据传输。

S104,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

需要说明的是,使用现有的虚拟化操作算法即可,本实施例不再赘述。其中实体BMC系统的硬件资源包括ARM处理器和网卡,即对实体BMC系统的ARM处理器和网卡进行虚拟化操作,获得多个虚拟BMC系统。

本实施例一提供的一种将BMC系统虚拟化的方法,将实体BMC系统单独物理封装,并设置与服务器通信的数据交互端口和数据交互总线,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,虚拟机BMC系统通过数据交互总线与服务器通信,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

实施例二

考虑到虚拟BMC系统需要通过数据交互总线与服务器通信,而传统BMC系统一般使用IPMI总线和串口总线与服务器通信,在对BMC系统单独物理封装并虚拟化后,为方便与服务器的通信,本实施例二提供的一种将BMC系统虚拟化的方法,预先将传统BMC系统所使用的IPMI总线和串口总线包装,使其在物理上成为一根总线,方便总线安装连接。

如图2所示为本实施例二提供的一种将BMC系统虚拟化的方法流程示意图,包括以下步骤。

S201,将实体BMC系统单独物理封装在一电路板上。

S202,在电路板上设置供虚拟BMC系统与服务器通信的多个数据交互端口。

S203,将传统实体BMC系统与服务器通信的IPMI总线和串口总线进行物理包装,获得数据交互总线。

S204,使用数据交互总线连接数据交互端口与服务器。

S205,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

需要说明的是,一个数据交互端口对应一个数据交互总线,虚拟BMC系统的数据经对应数据交互端口和数据交互总线传输至服务器。

另外,数据交互端口的数量已预先设定,即硬件结构确定之后,数据交互端口的数量已确定。之后对实体BMC系统的硬件资源进行虚拟化操作时,所虚拟出的虚拟BMC系统的数量不多于数据交互端口的数量,以便每个虚拟BMC系统均可正常通信。

本实施例二提供的一种将BMC系统虚拟化的方法,将实体BMC系统单独物理封装,并设置与服务器通信的数据交互端口和数据交互总线,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,虚拟机BMC系统通过数据交互总线与服务器通信,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

实施例三

为实现虚拟BMC系统与服务器的通信,虚拟BMC系统通过数据交互端口和数据交互总线与服务器连接,每个虚拟BMC系统对应一个数据交互端口,也即对应一个数据交互总线。为实现虚拟BMC系统与数据交互端口的对应,在虚拟化操作时,设置对应的IP地址,以使虚拟BMC系统连接到对应数据交互端口上。

如图3所示为本实施例三提供的一种将BMC系统虚拟化的方法流程示意图,包括以下步骤。

S301,将实体BMC系统单独物理封装在一电路板上。

S302,在电路板上设置供虚拟BMC系统与服务器通信的多个数据交互端口。

S303,将传统实体BMC系统与服务器通信的IPMI总线和串口总线进行物理包装,获得数据交互总线。

S304,使用数据交互总线连接数据交互端口与服务器。

S305,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统。

S306,设置虚拟BMC系统的IP地址和对应数据交互端口的IP地址,实现一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

本实施例三提供的一种将BMC系统虚拟化的方法,将实体BMC系统单独物理封装,并设置与服务器通信的数据交互端口和数据交互总线,将实体BMC系统的硬件资源进行虚拟化操作,获得多个虚拟BMC系统,虚拟机BMC系统通过数据交互总线与服务器通信,实现BMC系统的虚拟化,充分利用BMC系统硬件资源,提高系统处理效率。

实施例四

本实施例四提供一种将BMC系统虚拟化的装置,基于前述的将BMC系统虚拟化的方法实现。

如图4所示为本实施例四提供的一种将BMC系统虚拟化的装置架构示意图,在物理层包括实体BMC系统的处理器(一般为ARM处理器)和网卡等,虚拟层包括多个BMC系统,同时物理层通过数据交互端口连接数据交互总线与服务器通信。

具体地,本实施例四提供的一种将BMC系统虚拟化的装置,包括电路板和多个数据交互总线。

电路板上设置有单独物理封装的实体BMC系统以及多个数据交互端口。其中,实体BMC系统的硬件资源经虚拟化操作获得多个虚拟BMC系统,实体BMC系统的硬件资源包括ARM处理和网卡等。

数据交互端口一端与实体BMC系统连接,另一端通过数据交互总线与服务器连接;一个数据交互端口对应一个数据交互端口,一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

为实现虚拟BMC系统与服务器的正常通信,数据交互端口的数量不少于虚拟BMC系统的数量,以便每个虚拟BMC系统都有对应的数据交互端口。

另外,数据交互总线包括传统实体BMC系统与服务器通信的IPMI总线和串口总线,即数据交互总线由传统实体BMC系统与服务器通信的IPMI总线和串口总线包覆而成,可支持虚拟BMC系统与服务器的通信。

本实施例的将BMC系统虚拟化的装置基于前述的将BMC系统虚拟化的方法实现,因此该装置中的具体实施方式可见前文中的将BMC系统虚拟化的方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的将BMC系统虚拟化的装置基于前述的将BMC系统虚拟化的方法实现,因此其作用与上述方法的作用相对应,这里不再赘述。

实施例五

图5为本发明实施例五提供的一种终端装置500的结构示意图,该终端装置500可以用于执行将BMC系统虚拟化的程序。

终端装置500执行将BMC系统虚拟化的程序时,实现以下步骤。

将实体BMC系统的硬件资源进行虚拟化操作;

设置虚拟BMC系统的IP地址和对应数据交互端口的IP地址,实现一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

其中,该终端装置500可以包括:处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。

处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器510可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

实施例五

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有将BMC系统虚拟化的程序。

执行计算机存储介质中存储的将BMC系统虚拟化的程序时,实现以下步骤。

将实体BMC系统的硬件资源进行虚拟化操作;

设置虚拟BMC系统的IP地址和对应数据交互端口的IP地址,实现一个数据交互总线支持一个虚拟BMC系统与服务器的通信。

所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

相关技术
  • 一种将BMC系统虚拟化的方法及装置
  • BMC固件生成的方法和装置、BMC系统启动的方法和装置
技术分类

06120113793135