CN112860477A - 一种操作系统高可靠运行方法、系统、存储介质及服务器 - Google Patents
一种操作系统高可靠运行方法、系统、存储介质及服务器 Download PDFInfo
- Publication number
- CN112860477A CN112860477A CN202011621763.XA CN202011621763A CN112860477A CN 112860477 A CN112860477 A CN 112860477A CN 202011621763 A CN202011621763 A CN 202011621763A CN 112860477 A CN112860477 A CN 112860477A
- Authority
- CN
- China
- Prior art keywords
- operating system
- started
- mmu
- operating
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000011084 recovery Methods 0.000 claims abstract description 115
- 230000002159 abnormal effect Effects 0.000 claims abstract description 62
- 238000012544 monitoring process Methods 0.000 claims abstract description 45
- 238000004891 communication Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 238000005192 partition Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种操作系统高可靠运行方法、系统、存储介质及服务器,其中,所述方法包括:服务器上电启动后,查询MMU中的系统标识信息,并根据系统标识信息启动第一操作系统或所述第二操作系统;实时监控启动的第一操作系统或第二操作系统的工作状态是否异常;若正常,则继续监控启动的第一操作系统或第二操作系统的工作状态;若异常,则切换启动第二操作系统或第一操作系统,并实时监控切换启动的第二操作系统或第一操作系统的工作状态;当第一操作系统和第二操作系统的工作状态都出现异常时,对第一操作系统和第二操作系统进行系统恢复。本发明在一个操作系统运行异常时能够切换到另一个操作系统运行,从而提高系统稳定性而不带来额外的硬件成本。
Description
技术领域
本发明涉及X86架构服务器设计的技术领域,更具体地,涉及一种操作系统高可靠运行方法、系统、存储介质及服务器。
背景技术
X86架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。X86架构服务器在各个领域的应用越来越广泛,其强大的处理性能使得它能快速处理大量数据,且平台通用性高。X86架构服务器的优势在于价格便宜、兼容性好,但其劣势在于稳定性较差、安全性不算太高,因此解决X86架构服务器的稳定性是一个至关重要的问题,为了提高系统的稳定性,现有技术中常使用硬件备份的方式实现基于X86架构服务器的稳定性,但是这种方式需要进行硬件的双倍部署,所以采用硬件备份提高X86系统的稳定性的方式会带来双倍的成本问题,因此,亟需设计一种系统,无需额外的硬件成本即可实现X86平台的高可靠性。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷,提供一种操作系统高可靠运行方法、系统、存储介质及服务器,在一个操作系统运行异常时能够切换到另一个操作系统运行,并且两个操作系统都出现运行异常时能够进行远程恢复,从而提高系统稳定性而不带来额外的硬件成本。
本发明采取的技术方案是,一种操作系统高可靠运行方法,应用于服务器,所述服务器包括MMU和运行有第一操作系统和第二操作系统的CPU,所述方法包括:
服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或所述第二操作系统;
实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常;
若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态;
当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
通过服务器上电启动后CPU(Central Processing Unit,中央处理器)和MMU(Module Manage Unit,模块管理单元)各自独立启动,CPU启动到BIOS(Basic InputOutput System,基本输入输出系统)阶段向MMU查询系统标识信息,并根据系统标识信息对应启动第一操作系统或第二操作系统,MMU负责监控当前第一操作系统或第二操作系统的工作状态,当第一操作系统或第二操作系统的工作状态出现异常时,切换第二操作系统或第一操作系统,从而实现了当某个操作系统无法正常运行时,可以被切换到另一个操作系统运行,实现双操作系统的切换及备份还原;并且当第一操作系统和第二操作都出现异常无法启动时,对两个操作系统进行系统恢复,进一步提高了系统整体的稳定性和可靠性。
进一步地,所述若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态,包括:
若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
本发明通过查询MMU中的系统标识信息来对应启动第一操作系统或第二操作系统的,当监控到当前处于运行状态的第一操作系统或者第二操作系统的工作状态是正常的,MMU中的系统标识信息保持不变;当监控到当前处于运行状态的第一操作系统或者第二操作系统的工作状态是异常的,变更MMU中的系统标识信息,并根据查询到变更后的系统标识信息切换启动对应的第二操作系统或第一操作系统,实现操作系统的切换及保证整个平台系统的正常运行。
进一步地,所述MMU设有watchdog模块,所述CPU设有keepalive模块,其中,所述实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常,包括:
根据watchdog模块在预设超时时间内是否接收到keepalive模块发出的keepalive消息来判断启动的所述第一操作系统或所述第二操作系统的工作状态是否异常。
当服务器上电启动后,MMU开启watchdog模块和CPU开启keepalive模块,当第一操作系统或第二操作系统运行正常时,watchdog模块在预设超时时间内能够接收到keepalive模块发送的keepalive消息;当第一操作系统或第二操作系统运行异常时,watchdog模块在预设超时时间内不能够接收到keepalive模块发送的keepalive消息,本发明通过watchdog模块和keepalive模块实现对操作系统工作状态的实时监控,以便快速处理操作系统的切换,提高系统的稳定性和可靠性。
进一步地,所述若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态,包括:
当watchdog模块在预设超时时间内接收到keepalive模块发出的keepalive消息时,清除所述watchdog模块中的定时器且以预设超时时间重新计时,所述MMU中的系统标识信息保持不变;
当watchdog模块在预设超时时间内未接收到keepalive模块发出的keepalive消息时,更新所述MMU中的系统错误次数,并且当所述系统错误次数达到预设次数时,变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
本发明通过watchdog模块在预设超时时间内接收到keepalive消息时,则判断第一操作系统或第二操作系统的工作状态是正常的,此时清除watchdog模块中的定时器,并且定时器以预设超时时间重新计时,MMU中的系统标识信息保持不变;当watchdog模块在预设超时时间内未接收到keepalive消息时,则判断第一操作系统或第二操作系统的工作状态是异常的,当到达预设超时时间后,watchdog模块将产生超时事件,MMU中的系统错误次数会进行更新,当系统错误次数达到预设次数时,也即watchdog模块多次没有接收到keepalive消息时,变更MMU中的系统标识信息,并且CPU查询变更后的系统标识信息后切换启动对应的第二操作系统或第一操作系统。本发明通过watchdog模块产生的超时事件更新系统错误次数,并通过系统错误次数达到预设次数后变更系统标识信息,避免watchdog模块的监控过程中出现的超时事件的偶然性,确保当前操作系统出现运行异常才切换另一操作系统。
进一步地,所述当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复,包括:
复位所述CPU;
控制所述MMU接收系统恢复文件,并将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
当第一操作系统和第二操作系统运行异常时,可实现远程对第一操作系统和第二操作系统进行系统恢复,首先复位CPU,CPU重启后进入待恢复状态,停留在BIOS阶段等待系统恢复文件;然后控制MMU接收外部系统恢复文件,并将系统恢复文件发送至CPU,以使CPU接收到系统恢复文件后对第一操作系统和第二操作系统进行恢复。当两个操作系统都无法正常启动时,以往都是需要人工现场恢复的,本发明通过远程恢复的方法,打造了一整套从双操作系统切换到后续维护的可靠性机制,使得两个操作系统出现异常时,操作系统通过远程恢复仍然可以稳定可靠地运行。
进一步地,当所述第一操作系统或所述第二操作系统的工作状态正常时,控制所述CPU将网络参数发送至所述MMU。
进一步地,所述控制所述MMU接收系统恢复文件,将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复,包括:
控制所述MMU通过所述网络参数连接对外网络,并接收系统恢复文件,将所述系统恢复文件通过内部网络通信发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
当第一操作系统或第二操作系统正常运行时,CPU进行对外网络通信,为了实现后续维护的远程恢复,CPU将对外网络通信的网络参数发送至所述MMU,且MMU保存该网络参数;当第一操作系统和第二操作系统都出现运行异常时,对CPU进行复位,CPU重启后进入待恢复状态,停留在BIOS阶段等待系统恢复文件,而MMU通过网络参数实现连接对外网络通信,并且MMU与CPU建立内部网络通信,MMU通过对外网络通信接收外部系统恢复文件,通过内部网络通信将系统恢复文件发送至CPU,以实现覆盖运行异常的第一操作系统和第二操作系统。本发明在两个操作系统都异常后可以通过对外网络通信从远端操作MMU接收系统恢复文件以实现系统恢复,进一步强化了整个操作系统的可靠性。
本发明采取的另一种技术方案是,一种操作系统高可靠运行系统,包括:
启动模块,用于在服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或第二操作系统;
监控模块,用于实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否正常;
切换模块,用于若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态;
恢复模块,用于当所述第二操作系统或所述第一操作系统的工作状态出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
通过启动模块对服务器上电启动后,CPU和MMU各自独立启动,CPU启动到BIOS阶段向MMU查询系统标识信息,并根据系统标识信息对应启动第一操作系统或第二操作系统,通过监控模块监控当前第一操作系统或第二操作系统的工作状态,当第一操作系统或第二操作系统的工作状态出现异常时,切换模块切换第二操作系统或第一操作系统,从而实现了当某个操作系统无法正常运行时,可以被切换到另一个操作系统运行,实现双操作系统的切换及备份还原;并且当第一操作系统和第二操作都出现异常无法启动时,恢复模块对两个操作系统进行系统恢复,进一步提高了系统整体的稳定性和可靠性。
进一步地,所述恢复模块具体包括:
复位单元,用于复位所述CPU;
系统恢复单元,用于控制所述MMU接收系统恢复文件,并将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
当第一操作系统和第二操作系统运行异常时,恢复模块可实现远程对第一操作系统和第二操作系统进行系统恢复,通过复位单元复位CPU,CPU重启后进入待恢复状态,停留在BIOS阶段等待系统恢复文件;然后通过系统恢复单元控制MMU接收外部系统恢复文件,并将系统恢复文件发送至CPU,以使CPU接收到系统恢复文件后对第一操作系统和第二操作系统进行恢复。当两个操作系统都无法正常启动时,以往都是需要人工现场恢复的,本发明打造了一整套从双操作系统系统切换到后续维护的可靠性机制,使得两个操作系统出现异常时,操作系统通过远程恢复仍然可以稳定可靠地运行。
本发明采取的另一种技术方案是,一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行所述一种操作系统高可靠运行方法。
本发明采取的另一种技术方案是,一种服务器,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述一种操作系统高可靠运行方法。
与现有技术相比,本发明的有益效果为:本发明一种操作系统高可靠运行方法、系统、存储介质及服务器,实现了当第一操作系统和第二操作系统中的某个操作系统无法正常运行时,可以被切换到另一个操作系统运行,实现双操作系统的切换及备份还原;并且当两个操作系统都出现异常无法正常启动时,对两个操作系统进行远端系统恢复,两个操作系统通过远程恢复仍然可以稳定运行,进一步提高了系统整体的稳定性和可靠性;本发明还通过watchdog模块和keepalive模块实现对操作系统工作状态的实时监控,以便快速处理操作系统的切换,提高系统的稳定性和可靠性。
附图说明
图1为本发明一种操作系统高可靠运行方法的整体流程图。
图2为本发明CPU和MMU的上电启动流程图。
图3为本发明CPU与MMU的系统恢复流程图。
图4为本发明一种操作系统高可靠运行系统的结构图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。
在本发明的具体实施方式中,本发明一种操作系统高可靠运行方法,应用于X86架构服务器中,服务器中包括CPU和MMU,由服务器执行本方法,当服务器上电启动后,CPU和MMU上电启动,CPU负责运行自身软件,CPU中预装有第一操作系统和第二操作系统,第一操作系统和第二操作系统装在硬盘地址中,且硬盘地址分别标记为os1_start和os2_start,CPU可对应运行第一操作系统或第二操作系统;MMU是独立于CPU的模块管理单元,负责管理和监控设备上其它模块的运行状态,并向CPU提供系统标识信息。
如图1所示,本发明实施例一种操作系统高可靠运行方法,应用于服务器中,其方法包括以下步骤:
S101、服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或所述第二操作系统;
具体地,在步骤S101中,服务器上电启动后,CPU和MMU各自独立启动,CPU启动后运行BIOS,BIOS启动后查询MMU中的系统标识信息,根据系统标识信息判断从os1_start或者os2_start中对应启动第一操作系统或第二操作系统。
更具体地,系统标识信息可设为1和2,当系统标识信息为1时,从os1_start分区中对应启动第一操作系统;当系统标识信息为2时,从os2_start分区中对应启动第二操作系统。
S102、实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常;
作为本发明的优选实施方式,所述MMU设有watchdog模块,所述CPU设有keepalive模块,其中,所述实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常,包括:根据watchdog模块在预设超时时间内是否接收到keepalive模块发出的keepalive消息来判断所述第一操作系统或所述第二操作系统的工作状态是否异常。
具体地,在步骤S102中,若启动第一操作系统时,实时监控第一操作系统的工作状态是否异常;若启动第二操作系统时,实时监控第二操作系统的工作状态是否异常,其中具体监控过程为:CPU上电启动后开启keepalive模块,MMU上电启动后开启watchdog模块,keepalive模块能够定时发送keepalive消息给MMU中的watchdog模块,当操作系统运行正常时,watchdog模块能够在预设超时时间内周期性地收到keepalive消息,watchdog模块不会出现超时情况;当操作系统运行异常时,keepalive模块无法发送keepalive消息,watchdog模块在预设超时时间内收不到keepalive消息。
S103、若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动的所述第二操作系统或所述第一操作系统的工作状态;
作为本发明的优选实施方式,步骤S103具体包括:
若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
具体地,在步骤S103中,若第一操作系统的工作状态异常时,则将第一操作系统对应的系统标识信息变更为第二操作系统对应的系统标识信息,并且根据变更后的第二操作系统对应的系统标识信息切换为第二操作系统时,实时监控第二操作系统的工作状态;若第二操作系统的工作状态异常时,则将第二操作系统对应的系统标识信息变更为第一操作系统对应的系统标识信息,并且根据变更后的第一操作系统对应的系统标识信息切换为第一操作系统时,实时监控第一操作系统的工作状态。
作为本发明的优选实施方式,结合watchdog模块和keepalive模块的内容,步骤S103还具体包括:
当watchdog模块在预设超时时间内接收到keepalive模块发出的keepalive消息时,清除所述watchdog模块中的定时器且以预设超时时间重新计时,所述MMU中的系统标识信息保持不变;
当watchdog模块在预设超时时间内未接收到keepalive模块发出的keepalive消息时,更新所述MMU中的系统错误次数,并且当所述系统错误次数达到预设次数时,变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控所述第二操作系统或第一操作系统的工作状态。
具体地,在步骤S103中,若当前操作系统为第一操作系统(或第二操作系统),对当前第一操作系统(或第二操作系统)的工作状态进行监控,watchdog模块在预设超时时间内不断接收到keepalive消息,判断当前所述第一操作系统(或所述第二操作系统)的工作状态是正常的,并且在接收到keepalive消息后,watchdog模块会清除定时器,并以预设超时时间重新计时,此时MMU中对应的系统标识信息保持不变,所述第一操作系统(或所述第二操作系统)保持运行;当watchdog模块在预设超时时间内无法接收到keepalive消息时,则判断当前所述第一操作系统(或所述第二操作系统)的工作状态出现异常,无法发送keepalive消息,此时MMU更新系统错误次数,并且当系统错误次数达到预设次数后,MMU变更系统标识信息,BIOS查询变更后的系统标识信息引导所述第二操作系统(或第一操作系统)启动。
S104、当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
作为本发明的优选实施方式,步骤S104具体包括:
S1041、复位所述CPU;
S1042、控制所述MMU接收系统恢复文件,并将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
作为本发明的优选实施方式,当所述第一操作系统或所述第二操作系统的工作状态正常时,控制所述CPU将网络参数发送至所述MMU。
作为本发明的优选实施方式,步骤S1041具体包括:
控制所述MMU通过所述网络参数连接对外网络,并接收系统恢复文件,将所述系统恢复文件通过内部网络通信发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
具体地,在步骤S104中,当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,通过远程恢复操作实现两个操作系统的恢复,具体过程为:首先,对CPU进行复位操作;其次,MMU通过网络参数连接对外网络,这里的网络参数是指当第一操作系统或第二操作系统的工作状态正常时CPU连接对外网络通信,并将对外通信的网络参数发送给MMU,MMU保存该网络参数以实现远程恢复时连接对外网络;然后,MMU通过对外网络接收外部系统恢复文件,并将系统恢复文件发送给CPU,CPU接收到系统恢复文件后将系统恢复文件覆盖原来异常的操作系统,以实现系统的远程恢复。
如图2所示为服务器中CPU和MMU的上电启动流程图,其中,通过CPU和MMU实现本发明实施例操作系统高可靠运行方法的具体过程为:
服务器上电启动后,CPU和MMU分别独立上电启动;
CPU启动后运行BIOS,查询MMU中的系统标识信息,根据系统标识信息选择os1_start或者os2_start中对应的第一操作系统或第二操作系统进行启动;
MMU启动后激活watchdog模块;
当第一操作系统或第二操作系统正常启动时,运行keepalive模块持续与MMU的watchdog模块交互心跳,也即是发送keepalive消息至MMU的watchdog模块,watchdog模块可持续不断收到CPU的keepalive消息;
若watchdog模块在预设超时时间收到keepalive消息,则操作系统保持正常工作,并将网络参数发给MMU;
若watchdog模块在预设超时时间无法收到keepalive消息,则MMU更新系统标识信息,并重启CPU,切换操作系统;
若第一操作系统和第二操作系统都无法正常工作,则复位CPU,并对第一操作系统和第二操作系统进行系统恢复。
其中,当watchdog模块在预设超时时间无法收到keepalive消息,则MMU更新系统标识信息的具体过程为:
假设CPU当前运行的操作系统为第一操作系统,对应的系统标识信息为1,预设次数设置为3,对当前的第一操作系统的工作状态进行实时监控时,若watchdog模块在预设超时时间内不断接收到keepalive消息,则判断当前所述第一操作系统的工作状态是正常的,watchdog模块会清除定时器,并以预设超时时间重新计时,此时系统标识信息保持为1,系统错误次数保持为0;若watchdog模块在预设超时时间内无法接收到keepalive消息时,则判断当前所述第一操作系统的工作状态出现异常,无法发送keepalive消息,此时MMU根据watchdog模块中的定时器计时功能将系统错误次数由0更新为1,当watchdog模块在预设超时时间内再次无法接收到keepalive消息时,系统错误次数由1更新为2,当系统错误次数更新到3时,系统标识信息变更为2,CPU重启后BIOS查询变更后的系统标识信息后对应启动第二操作系统,当第一操作系统和第二操作系统都无法无法正常启动时,系统标识信息变更为3,CPU复位重启后进入待恢复状态,假设CPU当前运行的操作系统为第二操作系统时实现过程与以上过程相同,其中,系统标识信息和系统错误次数的具体更新规则如下表1所示,
启动次数 | 系统标识信息 | 系统错误次数 |
1 | 1 | 0 |
2 | 1 | 1 |
3 | 1 | 2 |
4 | 1 | 3 |
5 | 2 | 0 |
6 | 2 | 1 |
7 | 2 | 2 |
8 | 2 | 3 |
9 | 3 | 0 |
其中,若第一操作系统和第二操作系统都无法正常工作,则复位CPU,并对第一操作系统和第二操作系统进行系统恢复,如图3所示为通过CPU和MMU实现系统恢复的流程:
首先,对CPU进行复位操作,此时CPU重启进入待恢复状态,停留在BIOS中等待操作系统恢复;
其次,MMU通过网络参数连接对外网络,当操作系统正常运行时,CPU通过IP1与外部进行网络通信,并将IP1网络参数发送给MMU,当两个操作系统都出现异常时,MMU通过IP1网络参数建立对外网络连接,同时关闭CPU的对外网络连接,MMU使用CPU预先配置好的网络参数,对外发送ARP报文以更新链路的ARP表,使得后续的通信中外部网络还能继续通过IP1与本设备通信,只不过在该状态下,IP1由MMU使用,因此外部网络访问到的是MMU,除了切断CPU的对外网络连接和打通MMU对外网络连接之后,MMU还需要通过I2C链路向CPU发送内部通信IP2,CPU接收到之后,CPU就可以用该内部通信IP2与MMU进行网络通信,以实现简单的以太网报文收发;
最后,当MMU接收到外部网络发送的系统恢复文件后,MMU将该系统恢复文件,用内部IP2发送给CPU,CPU接收到之后就可以将恢复文件覆盖掉原来启动异常的操作系统,更新系统恢复文件并通知MMU更新完毕,以实现系统远程恢复。
在本发明的另一种具体实施方式中,如图4所示,一种操作系统高可靠运行系统,包括:
启动模块201,用于在服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或第二操作系统;
具体地,通过启动模块201,服务器上电启动后,CPU和MMU各自独立启动,CPU启动后运行BIOS,BIOS启动后查询MMU中的系统标识信息,根据系统标识信息判断从os1_start或者os2_start中对应启动第一操作系统或第二操作系统。
更具体地,系统标识信息可设为1和2,当系统标识信息为1时,从os1_start分区中对应启动第一操作系统;当系统标识信息为2时,从os2_start分区中对应启动第二操作系统。
监控模块202,用于实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否正常;
具体地,所述MMU设有watchdog模块,所述CPU设有keepalive模块,根据watchdog模块在预设超时时间内是否接收到keepalive模块发出的keepalive消息来判断所述第一操作系统或所述第二操作系统的工作状态是否正常。CPU上电启动后开启keepalive模块,MMU上电启动后开启watchdog模块,keepalive模块能够定时发送keepalive消息给MMU中的watchdog模块,当当前操作系统运行正常时,watchdog模块能够在预设超时时间内周期性地收到keepalive消息,watchdog模块不会出现超时情况;当当前操作系统运行异常时,keepalive模块无法发送keepalive消息,watchdog模块在预设超时时间内收不到keepalive消息。
切换模块203,用于若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态;
具体地,切换模块203具体包括:
用于若正常,则继续监控所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
具体地,结合watchdog模块和keepalive模块的内容,切换模块203还具体包括:
用于当watchdog模块在预设超时时间内接收到keepalive模块发出的keepalive消息时,清除所述watchdog模块中的定时器且以预设超时时间重新计时,所述MMU中的系统标识信息保持不变;
当watchdog模块在预设超时时间内未接收到keepalive模块发出的keepalive消息时,更新所述MMU中的系统错误次数,并且当所述系统错误次数达到预设次数时,变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
具体地,若当前操作系统为第一操作系统(或第二操作系统),对当前第一操作系统(或第二操作系统)的工作状态的监控结果进行判断,watchdog模块在预设超时时间内不断接收到keepalive消息,判断当前所述第一操作系统(或所述第二操作系统)的工作状态是正常的,并且在接收到keepalive消息后,watchdog模块会清除定时器,并以预设超时时间重新计时,此时MMU中对应的系统标识信息保持不变,所述第一操作系统(或所述第二操作系统)保持运行;当watchdog模块在预设超时时间内无法接收到keepalive消息时,则判断当前所述第一操作系统(或所述第二操作系统)的工作状态出现异常,无法发送keepalive消息,此时MMU更新系统错误次数,并且当系统错误次数达到预设次数后,MMU变更系统标识信息,BIOS查询变更后的系统标识信息引导所述第二操作系统(或第一操作系统)启动。
更具体地,假设CPU当前运行的操作系统为第一操作系统,对应的系统标识信息为1,预设次数设置为3,对当前的第一操作系统的工作状态进行实时监控时,若watchdog模块在预设超时时间内不断接收到keepalive消息,则判断当前所述第一操作系统的工作状态是正常的,watchdog模块会清除定时器,并以预设超时时间重新计时,此时系统标识信息保持为1,系统错误次数保持为0;若watchdog模块在预设超时时间内无法接收到keepalive消息时,则判断当前所述第一操作系统的工作状态出现异常,无法发送keepalive消息,此时MMU根据watchdog模块中的定时器计时功能将系统错误次数由0更新为1,当watchdog模块在预设超时时间内再次无法接收到keepalive消息时,系统错误次数由1更新为2,当系统错误次数更新到3时,系统标识信息变更为2,CPU重启后BIOS查询变更后的系统标识信息后对应启动第二操作系统,当假设CPU当前运行的操作系统为第二操作系统时实现过程与以上过程相同。
恢复模块204,用于当所述第二操作系统或所述第一操作系统的工作状态出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
其中,恢复模块204具体包括:
复位单元,用于复位所述CPU;
系统恢复单元,用于控制所述MMU接收系统恢复文件,并将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
其中,当所述第一操作系统或所述第二操作系统的工作状态正常时,控制所述CPU将网络参数发送至所述MMU。系统恢复单元具体包括:控制所述MMU通过所述网络参数连接对外网络,并接收系统恢复文件,将所述系统恢复文件通过内部网络通信发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
具体地,当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,通过远程恢复操作实现两个操作系统的恢复,具体过程为:首先,对CPU进行复位操作;其次,MMU通过网络参数连接对外网络,这里的网络参数是指当第一操作系统或第二操作系统的工作状态正常时CPU连接对外网络通信,并将对外通信的网络参数发送给MMU,MMU保存该网络参数以实现远程恢复时连接对外网络;然后,MMU通过对外网络接收外部系统恢复文件,并将系统恢复文件发送给CPU,CPU接收到系统恢复文件后将系统恢复文件覆盖原来异常的操作系统,以实现系统的远程恢复。
更具体地,对两个操作系统的恢复过程为:首先,对CPU进行复位操作,此时CPU重启后进入待恢复状态,停留在BIOS中等待操作系统恢复;其次,MMU通过网络参数连接对外网络,当操作系统正常运行时,CPU通过IP1与外部进行网络通信,并将IP1网络参数发送给MMU,当两个操作系统都出现异常时,MMU通过IP1网络参数建立对外网络连接,同时关闭CPU的对外网络连接,MMU对外发送ARP报文以更新链路的ARP表,使得后续的通信中外部网络还能继续通过IP1与本设备通信,只不过在该状态下,IP1由MMU使用,因此外部网络访问到的是MMU,除了切断CPU的对外网络连接和打通MMU对外网络连接之后,MMU还需要通过I2C链路向CPU发送内部通信IP2,CPU接收到之后,CPU就可以用该内部通信IP2与MMU进行网络通信,以实现简单的以太网报文收发。当外部网络发送系统恢复文件给MMU后,MMU将该系统恢复文件,用内部IP2发送给CPU,CPU接收到之后就可以将恢复文件覆盖掉原来启动异常的操作系统,以进行系统远程恢复。
在本发明的另一种具体实施方式中,一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行所述一种操作系统高可靠运行方法。
在本发明的另一种具体实施方式中,一种服务器,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述一种操作系统高可靠运行方法。
本发明实施例的有益效果为:本发明实施例一种操作系统高可靠运行方法、系统、存储介质及服务器,实现了当第一操作系统和第二操作系统中的某个操作系统无法正常运行时,可以被切换到另一个操作系统运行,实现双操作系统的切换及备份还原;并且当两个操作系统都出现异常无法正常启动时,对两个操作系统进行远端系统恢复,两个操作系统通过远程恢复仍然可以稳定运行,进一步提高了系统整体的稳定性和可靠性;本发明实施例还通过watchdog模块和keepalive模块实现对操作系统工作状态的实时监控,以便快速处理操作系统的切换,提高系统的稳定性和可靠性。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种操作系统高可靠运行方法,其特征在于,应用于服务器,所述服务器包括MMU和预装有第一操作系统和第二操作系统的CPU,所述方法包括:
服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或所述第二操作系统;
实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常;
若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态;
当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
2.根据权利要求1所述的一种操作系统高可靠运行方法,其特征在于,所述若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态,包括:
若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
3.根据权利要求2所述的一种操作系统高可靠运行方法,其特征在于,所述MMU设有watchdog模块,所述CPU设有keepalive模块,其中,所述实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否异常,包括:
根据watchdog模块在预设超时时间内是否接收到keepalive模块发出的keepalive消息来判断启动的所述第一操作系统或所述第二操作系统的工作状态是否异常。
4.根据权利要求3所述的一种操作系统高可靠运行方法,其特征在于,所述若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态,并保持所述MMU中的系统标识信息不变;若异常,则变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态,包括:
当watchdog模块在预设超时时间内接收到keepalive模块发出的keepalive消息时,清除所述watchdog模块中的定时器且以预设超时时间重新计时,所述MMU中的系统标识信息保持不变;
当watchdog模块在预设超时时间内未接收到keepalive模块发出的keepalive消息时,更新所述MMU中的系统错误次数,并且当所述系统错误次数达到预设次数时,变更所述MMU中的系统标识信息且根据变更后的系统标识信息切换启动对应的第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或第一操作系统的工作状态。
5.根据权利要求1所述的一种操作系统高可靠运行方法,其特征在于,所述当所述第一操作系统和所述第二操作系统的工作状态都出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复,包括:
复位所述CPU;
控制所述MMU接收系统恢复文件,将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
6.根据权利要求5所述的一种操作系统高可靠运行方法,其特征在于,当所述第一操作系统或所述第二操作系统的工作状态正常时,控制所述CPU将网络参数发送至所述MMU。
7.根据权利要求6所述的一种操作系统高可靠运行方法,其特征在于,所述控制所述MMU接收系统恢复文件,将所述系统恢复文件发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复,包括:
控制所述MMU通过所述网络参数连接对外网络,并接收系统恢复文件,将所述系统恢复文件通过内部网络通信发送至所述CPU,以使所述系统恢复文件覆盖所述第一操作系统和所述第二操作系统来进行系统恢复。
8.一种操作系统高可靠运行系统,其特征在于,包括:
启动模块,用于服务器上电启动后,查询所述MMU中的系统标识信息,并根据所述系统标识信息启动所述第一操作系统或第二操作系统;
监控模块,用于实时监控启动的所述第一操作系统或所述第二操作系统的工作状态是否正常;
切换模块,用于若正常,则继续监控启动的所述第一操作系统或所述第二操作系统的工作状态;若异常,则切换启动所述第二操作系统或所述第一操作系统,并实时监控切换启动后的所述第二操作系统或所述第一操作系统的工作状态;
恢复模块,用于当所述第二操作系统或所述第一操作系统的工作状态出现异常时,对所述第一操作系统和所述第二操作系统进行系统恢复。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行所述权利要求1-7任一项所述的一种操作系统高可靠运行方法。
10.一种服务器,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1-7任一项中所述的一种操作系统高可靠运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621763.XA CN112860477A (zh) | 2020-12-31 | 2020-12-31 | 一种操作系统高可靠运行方法、系统、存储介质及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621763.XA CN112860477A (zh) | 2020-12-31 | 2020-12-31 | 一种操作系统高可靠运行方法、系统、存储介质及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860477A true CN112860477A (zh) | 2021-05-28 |
Family
ID=75999197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011621763.XA Pending CN112860477A (zh) | 2020-12-31 | 2020-12-31 | 一种操作系统高可靠运行方法、系统、存储介质及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860477A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391960A (zh) * | 2021-08-18 | 2021-09-14 | 深圳市中科鼎创科技股份有限公司 | 一种快速实现操作系统恢复的技术方法和系统 |
CN114237722A (zh) * | 2021-11-19 | 2022-03-25 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
WO2023273085A1 (zh) * | 2021-06-30 | 2023-01-05 | 南昌华勤电子科技有限公司 | 一种服务器及其控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050385A1 (en) * | 2003-08-26 | 2005-03-03 | Chih-Wei Chen | Server crash recovery reboot auto activation method and system |
CN103686363A (zh) * | 2013-12-06 | 2014-03-26 | 康佳集团股份有限公司 | 一种支持双操作系统的机顶盒及其操作系统切换方法 |
CN104899091A (zh) * | 2015-07-02 | 2015-09-09 | 中国地质大学(武汉) | 一种智能嵌入式设备多操作系统切换方法 |
CN111124728A (zh) * | 2019-12-12 | 2020-05-08 | 加弘科技咨询(上海)有限公司 | 业务自动恢复方法、系统、可读存储介质及服务器 |
-
2020
- 2020-12-31 CN CN202011621763.XA patent/CN112860477A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050385A1 (en) * | 2003-08-26 | 2005-03-03 | Chih-Wei Chen | Server crash recovery reboot auto activation method and system |
CN103686363A (zh) * | 2013-12-06 | 2014-03-26 | 康佳集团股份有限公司 | 一种支持双操作系统的机顶盒及其操作系统切换方法 |
CN104899091A (zh) * | 2015-07-02 | 2015-09-09 | 中国地质大学(武汉) | 一种智能嵌入式设备多操作系统切换方法 |
CN111124728A (zh) * | 2019-12-12 | 2020-05-08 | 加弘科技咨询(上海)有限公司 | 业务自动恢复方法、系统、可读存储介质及服务器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023273085A1 (zh) * | 2021-06-30 | 2023-01-05 | 南昌华勤电子科技有限公司 | 一种服务器及其控制方法 |
CN113391960A (zh) * | 2021-08-18 | 2021-09-14 | 深圳市中科鼎创科技股份有限公司 | 一种快速实现操作系统恢复的技术方法和系统 |
CN113391960B (zh) * | 2021-08-18 | 2021-11-30 | 深圳市中科鼎创科技股份有限公司 | 一种快速实现操作系统恢复的技术方法和系统 |
CN114237722A (zh) * | 2021-11-19 | 2022-03-25 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
CN114237722B (zh) * | 2021-11-19 | 2023-09-01 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860477A (zh) | 一种操作系统高可靠运行方法、系统、存储介质及服务器 | |
CN100388218C (zh) | 一种在服务器之间实现备份的方法 | |
US20080201470A1 (en) | Network monitor program executed in a computer of cluster system, information processing method and computer | |
CN105323113A (zh) | 一种基于可视化技术的系统故障应急处置系统及方法 | |
US7450568B2 (en) | System and method for managing a VolP network | |
CN101047564A (zh) | 网络通信设备平台及在其上实现高可靠性的方法 | |
CN105242980A (zh) | 互补式看门狗系统及互补式看门狗的监测方法 | |
CN114090184B (zh) | 一种虚拟化集群高可用性的实现方法和设备 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN108964977B (zh) | 节点异常处理方法及系统,存储介质和电子设备 | |
CN110943855A (zh) | 一种通过bmc实现服务器宕机后状态恢复的方法 | |
US20040136246A1 (en) | Server apparatus having function of changing over from old to new module | |
CN111694707A (zh) | 一种小型服务器集群管理系统及方法 | |
CN101938369B (zh) | 综合网管接入管理系统、管理方法及应用的网络管理系统 | |
CN106411574B (zh) | 一种管理控制方法和装置 | |
KR100489849B1 (ko) | 자산 관리 시스템 및 자산 관리 방법 | |
CN102143011A (zh) | 一种实现网络保护的装置及方法 | |
US20040078681A1 (en) | Architecture for high availability using system management mode driven monitoring and communications | |
CN107896176B (zh) | 一种计算节点的处理方法、智能终端及存储介质 | |
US20060212267A1 (en) | System managing apparatus, information processing apparatus, and method of implementing redundant system-managing apparatus | |
KR100484492B1 (ko) | 라우터 시스템의 장애 및 상태 관리를 위한 망 관리시스템 및 그 방법 | |
US7729879B2 (en) | Apparatus and method to integrate hardware adapter diagnostics with a host OS diagnostics through signaling | |
Cisco | Operation, Administration, and Maintenance | |
Cisco | Operation, Administration, and Maintenance | |
CN112217718A (zh) | 一种业务处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |