本发明属于存储控制技术领域,具体涉及一种基于cpld存储双控同步系统、方法、设备及存储介质。
背景技术:
bmc,是baseboardmanagementcontroller的简称,基板管理控制器。
cpld,是complexprogramminglogicdevice的简称,复杂可编程逻辑器件。
vpd,是vitalproductdata的简称,关键产品技术,服务器的vpd信息包括产品序列号sn和配置信息如cpu型号、速率以及每个槽位的接口卡类型。
psu,是powersupplyunit的简称,电源模块。
ui,是userinterface的简称,用户界面。
存储控制器在十年前形成了双控的架构设置,双控在一个控制器突然宕机后,由另外一控接管业务。双控设计大大提高了数据安全和设备的容灾性能。双控早先试也active-standy结构,即是一个控制器在运行,另外一个控制器实时镜像active控制器的业务数据。近年来双控进化为actice-active,两个控制器同时来处理业务数据,双控制器分主从,从控制器处理业务的同时,还是实时镜像这主控制器的业务数据信息。
每一个控制器即是一个基于intel平台的x86复杂的主板。每一个控制器均有bmc芯片,bmc芯片用来做机箱温度,电压和风扇控制,同时访问双控的共享器件,如vpd,psu,ui板等。两个控制器的bmc都有i2c物理连线到共享器件。正常运行时,务必不能两个bmc同时访问共享器件,否则将违背i2c通信规范,出现多主机问题,造成通信失败。所以在存储双控场景下两个bmc之间是一定要区分自己是主还是从的。
存储设备正常运行中,为主bmc将占用与共享器件的i2c通道,从bmc不占用与共享器件的i2c通道。
当主方操作系统需要共享器件vpd信息时,将通过ipmi下发命令到主bmc,主bmc再从i2c抓取共享器件vpd里面信息,之后原路返回数据。
当从方操作系统需要共享器件vpd信息时,将通过ipmi下发命令到从bmc,从bmc通过与主bmc之间的i2c或者uart或者lan等物理途径获取共享器件vpd信息。主bmc再从i2c抓取共享器件vpd里面信息,之后原路返回数据。
另外一些特殊的场景是:控制器插拔场景。实际应用中,控制器会被热插拔。当为主控制器被插出后,从控制器将立即转化自己的身份切换为主机。
在上述框架中,每次从bmc获取共享器件信息时都将借主bmc来访问。但是主bmc除访问共享器件外,还有很多其他的进程在执行(比如轮询温度,电压,升级bios等动作)。或者bmc程序在跑一些redfish应用。总之,当主bmc繁忙时,将不能立即响应从bmc读取共享器件vpd信息的请求。如果响应时间较长,将造成从bmc返回到从方操作系统的数据超时,最终造成从操作系统层面的应用故障。一般共享器件vpd信息获取超时,将造成从操作系统的存储集群建立失败。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于cpld存储双控同步系统、方法、设备及存储介质,是非常有必要的。
技术实现要素:
针对现有技术的上述从bmc依靠主bmc获取共享器件信息,而主bmc业务繁忙,响应从bmc请求超时,导致从bmc向从操作系统反馈信息超时,最终造成从操作系统创建存储集群失败的缺陷,本发明提供一种基于cpld存储双控同步系统、方法、设备及存储介质,以解决上述技术问题。
第一方面,本发明提供一种基于cpld存储双控同步系统,包括主cpld和从cpld;
主cpld连接有主bmc,主bmc连接有主cpu;
从cpld连接有从bmc,从bmc连接有从cpu;
主cpld与从cpld连接,且主cpld连接有共享器件;
从cpu向从bmc发送获取共享器件信息请求,从bmc将获取共享器件信息的请求转发给从cpld,从cpld通过主cpld发送获取共享器件信息请求,并沿原路径向从cpu返回共享器件信息。
进一步地,主cpu向主bmc发送获取共享器件信息请求,主bmc将获取共享器件信息的请求转发给主cpld,主cpld获取共享器件信息,并沿原路径向主cpu返回共享器件信息。
进一步地,所述共享器件包括vpd、psu以及ui板。
进一步地,主cpu通过ipmi协议向主bmc发送获取共享器件信息请求;
从cpu通过ipmi协议向从bmc发送获取共享器件信息请求;
主bmc通过i2c总线向主cpld转发主cpu的获取共享器件信息请求;
从bmc通过i2c总线向从cpld转发从cpu的获取共享器件信息请求。主cpu及从cpu均通过各自的centos操作系统分别向主bmc或从bmc发送获取共享器件信息的ipmi协议请求
进一步地,从cpld通过i2c总线、uart总线或latticwishband总线向主cpld获取共享器件信息,以及主cpld通过i2c总线、uart总线或latticwishband总线向从cpld返回共享器件信息;
主cpld通过i2c总线获取共享器件信息。
第二方面,本发明提供一种基于cpld存储双控同步方法,包括如下步骤:
s1.从bmc接收到从cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给从cpld;
s2.从cpld通过主cpld发送获取共享器件信息请求;
s3.主cpld获取共享器件信息,并沿原路径向从cpu返回共享器件信息。
进一步地,还包括如下步骤:
s4.主bmc接收到主cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给主cpld;
s5.主cpld获取共享器件信息,并沿原路径向主cpu返回共享器件信息。
进一步地,步骤s3中,主cpld获取共享器件信息,将共享器件信息发送给从cpld,从cpld将共享器件信息发送给从bmc,从bmc再将共享器件信息返回给从cpu;
步骤s5中,主cpld获取共享器件信息,将共享器件信息发送给主bmc,主bmc将共享器件信息返回给主cpu。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述第二方面的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
本发明的有益效果在于,
本发明提供的基于cpld存储双控同步系统、方法、设备及存储介质,引入了双cpld,由从cpld获取共享器件信息,避免了双控bmc访问共享器件时,而主bmc只专注与温度、电压及风扇控制,主bmc向从bmc返回数据出现超时的问题。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的系统示意图;
图2是本发明的方法流程示意图一;
图3是本发明的方法流程示意图二;
图中,1-主cpld;2-从cpld;3-主bmc;4-从bmc;5-主cpu;6-从cpu;7-共享器件。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于cpld存储双控同步系统,包括主cpld1和从cpld2;
主cpld1连接有主bmc3,主bmc3连接有主cpu5;
从cpld2连接有从bmc4,从bmc4连接有从cpu6;
主cpld1与从cpld2连接,且主cpld1连接有共享器件7;
从cpu6向从bmc4发送获取共享器件7信息请求,从bmc4将获取共享器件7信息的请求转发给从cpld2,从cpld2通过主cpld1发送获取共享器件7信息请求,并沿原路径向从cpu6返回共享器件7信息;
主cpu5向主bmc3发送获取共享器件7信息请求,主bmc3将获取共享器件7信息的请求转发给主cpld1,主cpld1获取共享器件7信息,并沿原路径向主cpu5返回共享器件7信息。
在某些实施例中,所述共享器件7包括vpd、psu以及ui板。
在某些实施例中,主cpu5通过ipmi协议向主bmc3发送获取共享器件7信息请求;
从cpu6通过ipmi协议向从bmc4发送获取共享器件7信息请求;
主bmc3通过i2c总线向主cpld1转发主cpu5的获取共享器件7信息请求;
从bmc4通过i2c总线向从cpld2转发从cpu6的获取共享器件7信息请求;
从cpld2通过i2c总线、uart总线或latticwishband总线向主cpld1获取共享器件信息,以及主cpld1通过i2c总线、uart总线或latticwishband总线向从cpld2返回共享器件信息;
主cpld1通过i2c总线获取共享器件7信息。latticwishband总线支持i3c总线协议,而i3c的全称是improvedinterintegratedcircuit,融合了i2c与spi优势,双线简单且低功耗高速度,还支持in-band中断、动态编址,以及电源管理功能。主cpu5及从cpu6均通过各自的centos操作系统分别向主bmc3或从bmc4发送获取共享器件7信息的ipmi协议请求。
在某些实施例中,将现有做上下电控制、复位控制的cpld,增加共享器件信息获取逻辑功能,无需增加新的cpld芯片,且增加的功能简单,不会导致现有cpld芯片的升级需求。
实施例2:
如图2所示,本发明提供一种基于cpld存储双控同步方法,包括如下步骤:
s1.从bmc接收到从cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给从cpld;
s2.从cpld通过主cpld发送获取共享器件信息请求;
s3.主cpld获取共享器件信息,并沿原路径向从cpu返回共享器件信息。
实施例3:
如图3所示,本发明提供一种基于cpld存储双控同步方法,包括如下步骤:
s1.从bmc接收到从cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给从cpld;
s2.从cpld通过主cpld发送获取共享器件信息请求;
s3.主cpld获取共享器件信息,并沿原路径向从cpu返回共享器件信息;
s4.主bmc接收到主cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给主cpld;
s5.主cpld获取共享器件信息,并沿原路径向主cpu返回共享器件信息。
在某些实施例中,步骤s3中,主cpld获取共享器件信息,将共享器件信息发送给从cpld,从cpld将共享器件信息发送给从bmc,从bmc再将共享器件信息返回给从cpu;
步骤s5中,主cpld获取共享器件信息,将共享器件信息发送给主bmc,主bmc将共享器件信息返回给主cpu。
实施例4:
本发明提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述实施例2或3所述的方法。
实施例5:
本发明提供一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例2或实施例3所述的方法。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种基于cpld存储双控同步系统,其特征在于,包括主cpld和从cpld;
主cpld连接有主bmc,主bmc连接有主cpu;
从cpld连接有从bmc,从bmc连接有从cpu;
主cpld与从cpld连接,且主cpld连接有共享器件;
从cpu向从bmc发送获取共享器件信息请求,从bmc将获取共享器件信息的请求转发给从cpld,从cpld通过主cpld发送获取共享器件信息请求,并沿原路径向从cpu返回共享器件信息。
2.如权利要求1所述的基于cpld存储双控同步系统,其特征在于,主cpu向主bmc发送获取共享器件信息请求,主bmc将获取共享器件信息的请求转发给主cpld,主cpld获取共享器件信息,并沿原路径向主cpu返回共享器件信息。
3.如权利要求1或2所述的基于cpld存储双控同步系统,其特征在于,所述共享器件包括vpd、psu以及ui板。
4.如权利要求2所述的基于cpld存储双控同步系统,其特征在于,主cpu通过ipmi协议向主bmc发送获取共享器件信息请求;
从cpu通过ipmi协议向从bmc发送获取共享器件信息请求;
主bmc通过i2c总线向主cpld转发主cpu的获取共享器件信息请求;
从bmc通过i2c总线向从cpld转发从cpu的获取共享器件信息请求。
5.如权利要求4所述的基于cpld存储双控同步系统,其特征在于,从cpld通过i2c总线、uart总线或latticwishband总线向主cpld获取共享器件信息,以及主cpld通过i2c总线、uart总线或latticwishband总线向从cpld返回共享器件信息;
主cpld通过i2c总线获取共享器件信息。
6.一种基于cpld存储双控同步方法,其特征在于,包括如下步骤:
s1.从bmc接收到从cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给从cpld;
s2.从cpld通过主cpld发送获取共享器件信息请求;
s3.主cpld获取共享器件信息,并沿原路径向从cpu返回共享器件信息。
7.如权利要求6所述的基于cpld存储双控同步方法,其特征在于,还包括如下步骤:
s4.主bmc接收到主cpu获取共享器件信息的请求后,将获取共享器件信息的请求转发给主cpld;
s5.主cpld获取共享器件信息,并沿原路径向主cpu返回共享器件信息。
8.如权利要求7所述的基于cpld存储双控同步方法,其特征在于,步骤s3中,主cpld获取共享器件信息,将共享器件信息发送给从cpld,从cpld将共享器件信息发送给从bmc,从bmc再将共享器件信息返回给从cpu;
步骤s5中,主cpld获取共享器件信息,将共享器件信息发送给主bmc,主bmc将共享器件信息返回给主cpu。
9.一种终端,其特征在于,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述权利要求6-8任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求6-8任一项所述的方法。
技术总结