系统错误处理方法与使用该方法的服务器系统的制作方法

xiaoxiao2020-7-23  11

专利名称:系统错误处理方法与使用该方法的服务器系统的制作方法
技术领域
本发明涉及一种系统错误处理技术,特别涉及一种系统错误处理方法与使用其的服务器系统。
背景技术
随着科技的发展,通过因特网能够使得世界各地的计算机进行连接。一台计算机通过网络连线便能够与另一台计算机进行数据的交换、存取等动作。在客户端与服务器系统架构上,客户端与服务器便是通过网络来进行沟通。一般来说,服务器系统可配置有多个节点,且每一个节点同时运行多个虚拟机器(Virtual Machine,VM),藉以提供给每一使用者独立的运作环境。并且,每个节点可视为各自独立的计算机,也即各节点具有记忆体、储存空间、运算能力与网络连接功能。因此,各节点可以运行独自的作业 系统,且各节点之间也可以通过网络交换器(Switch)进行沟通与数据传输。然而,在服务器系统运行后,会使用快照(Snapshot)方式于每一个检查点(checkpoint)储存虚拟机器的影像,以便于节点发生错误可利用检查点所储存的虚拟机器的影像,使节点回复(Recovery)至错误发生前的状态。也就是说,当某一节点发生错误时,此节点的虚拟机器只能通过取得最近的时间点所储存的虚拟机器的影像以进行回复。但是,由于每一个检查点之间会有时间间隔,因此当某一节点发生错误时,错误产生的时间点与最近的检查点之间的数据将无法回复,而降低服务器系统的可用性。

发明内容
鉴于以上的问题,本发明的目的在于提供一种系统错误处理方法与使用该方法的服务器系统,藉以在服务器系统的某一节点产生错误时,仍可正常运作且不会遗失数据,以使服务器系统具有高可用性(high availability, HA) 本发明的一种系统错误处理方法,适于一服务器系统,此服务器系统具有多个节点,例如为提供基础设施即服务(Infrastructure as a Service, IaaS)的货柜式(Container)数据中心(Data Center)。此系统错误处理方法包括下列步骤。检测前述多个节点其中之一的异常状态,而据以产生中断事件。执行第一处理程序处理中断事件,以产生处理指令。依据处理指令,检测中断事件的次数是否达到临界值。当检测中断事件的次数达到临界值时,产生错误节点的通知信息。执行第二处理程序处理通知信息,以产生错误信号,并储存通知信息。依据错误信号,隔离错误节点,并将错误节点的执行中的多个虚拟机器移动至前数多个节点,以取代错误节点。在一实施例中,前述异常状态包括中央处理器异常、记忆体异常、电源供应器异常与总线异常、电压异常、电流异常、湿度异常与温度异常其中之一。在一实施例中,前述系统错误处理方法还包括显示错误信息。在一实施例中,前述在检测中断事件是否达到该临界值的步骤还包括当检测中断事件未达到临界值时,将中断事件行次数累加,并回到检测多个节点其中之一的异常状态的步骤。在一实施例中,前述中断事件为系统管理中断事件、第一处理程序为系统管理中断处理程序、处理指令为处理指令为处理指令为智能平台管理界面指令、第二处理程序为SNMP trap处理程序。本发明的一种服务器系统,包括多个节点、检测单元、第一处理单元、控制单元、第二处理单元与第三处理单元。检测单元耦接前述节点,检测前述节点其中之一的异常状态,而据以产生中断事件。第一处理单元耦接检测单元,用以执行第一处理程序处理中断事件,以产生处理指令。控制单元耦接第一处理单元,用以依据处理指令,检测中断事件的次数是否达到临界值,且当检测中断事件的次数达到临界值时,产生错误节点的通知信息。第二处理单元耦接控制单元,执行第二处理程序处理通知信息,以产生错误信号,并储存通知信息。第三处理单元耦接第二处理单元,用以依据错误信号,隔离错误节点,并将错误节点的执行中的多个虚拟机器移动至前述节点,以取代错误节点。在一实施例中,前述异常状态包括中央处理器异常、记忆体异常、电源供应器异常与总线异常、电压异常、电流异常、湿度异常与温度异常其中之一。在一实施例中,前述服务器系统还包括显示单元。此显示单元耦接第二处理单元,用以接收并显示错误信息。在一实施例中,前述当检测中断事件未达到临界值时,控制单元将中断事件行次数累加,并重复接收中断事件,直到检测中断事件达到临界值为止。在一实施例中,前述中断事件为系统管理中断事件、第一处理程序为系统管理中断处理程序、处理指令为处理指令为处理指令为智能平台管理界面指令、第二处理程序为SNMP trap处理程序。本发明的一种系统错误处理方法与使用该方法的服务器系统,通过检测服务器系统内的节点其中之一产生异常状态,而产生中断事件,并依据此判断中断事件发生的次数是否达到临界值。若中断事件的次数达到临界值时,表示中断事件所对应的节点即将产生错误,以产生通知信息。接着,依据通知信息前述的错误节点进行隔离,且此错误节点上执行的虚拟机器移动至其他健康的节点,进而取代错误节点。如此一来,使得服务器系统可正常运作且不会遗失数据,且服务器系统可以达到高可用性。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为本发明的服务器系统的方框图;图2为本发明的系统错误处理方法的流程图。其中,附图标记100 服务器系统110_1 110_N 节点120 检测单元130、140、150 处理单元160 控制单元
170 显示单元
具体实施例方式下面结合附图对本发明的结构原理和工作原理作具体的描述:请参考图1所示,其为本发明的服务器系统的方框图。本实施例的服务器系统例如运行一云端作业系统(Cloud Operation System, Cloud OS),且例如为提供基础设施即服务(Infrastructure as a Service, IaaS)月艮务的货柜式(Container)数据中心(DataCenter)。服务器系统100包括多个节点110_1 110_N、检测单元120、处理单元130、140、150与控制单元160,其中N为大于I的正整数。在本实施例中,节点110_1 110_N各自配置有中央处理器、记忆体、电源供应器、总线等元件,如此节点110_1 110_N可视为独立运作的计算机系统,且各节点110_1 110_N之间以网络进行数据传输与沟通,以共同运行为服务器系统100。检测单元120耦接节点110_1 110_N,用以检测节点110_1 110_N其中之一的异常状态,而据以产生中断事件。在本实施例中,前述异常状态包括中央处理器异常、记忆体异常、电源供应器异常、总线异常、电压异常、电流异常、湿度异常与温度异常其中之一,中断事件例如为系统管理中断(System management interrupt, SMI)事件。前述异常状态发生的原因例如为某节点内某元件的电流或电压达到此元件所能正常运作的边缘、服务器系统100内的环境温度过高或湿度过重而可能造成其内部元件无法正常运作、或是元件错误发生而使得其节点死机等。处理单元130耦接检测单元120,用以执行第一处理程序处理该中断事件,以产生处理指令。其中,第一处理程序例如是系统管理中断处理程序(SMIhandler),处理指令例如是智能平台管理界面(Intelligent Platform Management Interface)指令。详细地说,当中断事件触发系统管理中断硬体界面时,则会产生系统管理中断信号。而处理单元130接收此系统管理中断信号后,将进入系统管理模式(System Management Mode, SMM),并在系统管理模式下,执行由基本输入输出系统(Basic Input Output System,BIOS)准备好的处理程序以处理中断事件。从系统角度来看,基本输入输出系统会经由系统管理中断信号而收到中断事件的通知。在中断事件发生时,中央处理器收到系统管理中断信号,此时中央处理器进入系统管理模式以将控制权由作业系统转交至基本输入输出系统。接着,基本输入输出系统将会负责完成所请求的动作,即是基本输入输出系统将执行处理程序以处理中断事件。控制单元160耦接处理单元130,用以依据处理指令,检测中断事件的次数是否达到临界值,且当检测中断事件的次数达到临界值时,产生错误节点的通知信息。其中,控制单兀160可为基板管理控制器(Baseboard Management Controller, BMC),且当控制单元160接收到前述的处理指令时,会将中断事件例如储存于一非挥发性随机存取记忆体(Non-Volatile Random Access Memory, NARAM),以记录中断事件发生的次数。接着,控制单元160会依据处理指令,检测中断事件的次数是否达到临界值。当中断事件的次数达到临界值时,则控制单元160会产生错误节点的通知信息。其中,前述通知信息例如为SNMP trap。前述中断事件的次数达到临界值,表示中断事件所对应的节点即将发生错误或死机。
另一方面,当中断事件的次数未达到临界值时,则控制单元160会对中断事件进行累加,并继续检测中断事件的产生,直到检测到中断事件发生的次数达到临界值为止。在本实施例中,前述非挥发性随机存取记忆体的初始值设定为O。而当中断事件产生且中断事件的次数未达到临界值时,控制单元160会将中断事件的次数进行累加,例如每次加I的方式,记录于非挥发性记忆体中。举例来说,将中断事件的次数存放至变数c [i],其中i表示第i个中断事件。当第i个中断事件产生时,则将变数c[i]加I后,再存放至变数c[i],也即c[i] =c[i]+l。在每一次中断事件的次数累加完成后,控制单元160则等待中断事件再次发生,以持续检测中断事件的次数是否达到临界值,直到检测中断事件的次数超过临界值为止,而产生错误节点的通知信息。处理单元140耦接控制单元160,用以执行第二处理程序处理该通知信息,以产生错误信号,并储存通知信息。其中,第二处理程序为SNMP trap处理程序。举例来说,处理单元140处理通知信息,以产生中断事件所对应的节点(例如节点110_1)相关的信息,例如节点的地址(IP Address)、节点位于货柜(Container)内的地址、节点错误的原因、节点错误的排除、节点错误的描述,并且将通知信息例如记录于数据库(Database)。处理单元150耦接处理单元140与节点110_1 110_N,用以依据错误信号,隔离错误节点,并将错误节点的执行中的多个虚拟机器移动至节点,以取代错误节点。在本实施例中,处理单元150接收到错误信号后,会通过错误信号内的信息得知中断事件所对应的错误节点(例如节点110_1)的地址,以将此错误节点阻隔于云端作业系统外。接着,将此错误节点上执行中的多个虚拟机器利用动态移动(Live Migration)的方式移动至此错误节点以外的其他节点(例如节点110_2 110_N),以取代此错误节点,而使得服务器系统100仍可正常运作。如此一来,可在某节点(例如节点101_1)被判定为错误节点时,将此节点上执行的虚拟机器移动至其他的健康节点(Health Nodes)上,以利服务器系统100可正常运作。接着,在虚拟机器移动完成后,则将此错误节点关机。由于动态移动虚拟机器即可在非常短的时间(例如毫秒(ms))完成,使得虚拟机器的数据在移转过程中完全不会遗失,因此可让使用者在毫无感觉且毫无数据遗失下顺利完成,进而使得服务器系统具有高可用性。另外,服务器系统100还包括显示单元170。显示单元170耦接处理单元140,用以接收并显示错误信息。并且,显示单元170可为发光二极管等显示元件,并且使用者可通过发光二极管的发光而得知服务器系统100内某个节点产生错误,再通过图形使用者界面显示错误节点的信息。如此一来,使用者便可得知哪个节点发生错误,并可立即做出对应的处理,进而增加服务器系统100的使用便利性。通过上述实施例的说明,可以归纳出一种系统错误处理方法。请参考图2所示,其为本发明的系统错误处理方法的流程图。本实施例的系统错误处理方法适于一服务器系统,且此服务器系统具有多个节点。在步骤S202中,检测多个节点其中之一的异常状态,而据以产生中断事件。在步骤S204中,执行第一处理程序处理中断事件,以产生处理指令。在步骤S206中,依据处理指令,检测中断事件的次数是否达到临界值。当检测中断事件的次数达到临界值时,则进入步骤S208,产生错误节点的通知信息。另一方面,当检测中断事件的次数未达到临界值时,则回到步骤S202,再次检测多个节点其中之一的异常状态,而据以产生中断事件,并重复执行步骤S204 S206,直到于步骤S206中,检测中断事件的次数达到临界值进入步骤S208为止。在步骤S210中,执行第二处理程序处理通知信息,以产生错误信号,并储存通知信息。在步骤S212中,依据错误信号,隔离错误节点,并将错误节点的执行中的多个虚拟机器移动至多个节点,以取代错误节点。在步骤S214中,显示错误信息。在本实施例中,前述异常状态包括中央处理器异常、记忆体异常、电源供应器异常与总线异常、电压异常、电流异常、湿度异常与温度异常其中之一。另外,前述中断事件为系统管理中断事件、第一处理程序为系统管理中断处理程序、处理指令为处理指令为处理指令为智能平台管理界面指令、第二处理程序为SNMP trap处理程序。本发明的实施例的系统错误处理方法与使用其的服务器系统,通过检测服务器系统内的多个节点其中之一产生异常状态,而产生中断事件,并依据此判断中断事件发生的次数是否达到临界值。若中断事件的次数达到临界值时,表示中断事件所对应的节点即将产生错误,以产生通知信息。接着,依据通知信息对前述的错误节点进行隔离,且此错误节点上执行的虚拟机器动态移动至其他健康的节点,进而取代错误节点。使得服务器系统可正常运作且不会遗失数据,且服务器系统可以达到高可用性。另外,还可通过显示单元显示服务器系统内有节点发生错误,且使用者可通过使用者界面读取数据库中有关此错误节点的相关数据,进而对服务器系统进行处理与维护。如此一来,也可增加使用的便利性。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种系统错误处理方法,适于一服务器系统,该服务器系统具有多个节点,其特征在于,该系统错误处理方法包括: 检测该些节点其中之一的一异常状态,而据以产生一中断事件; 执行一第一处理程序处理该中断事件,以产生一处理指令; 依据该处理指令,检测该中断事件的次数是否达到一临界值; 当检测该中断事件的次数达到该临界值时,产生一错误节点的一通知信息; 执行一第二处理程序处理该通知信息,以产生一错误信号,并储存该通知信息;以及依据该错误信号,隔离该错误节点,并将该错误节点的执行中的多个虚拟机器移动至该些节点,以取代该错误节点。
2.根据权利要求1所述的系统错误处理方法,其特征在于,该异常状态包括中央处理器异常、记忆体异常、电源供应器异常与总线异常、电压异常、电流异常、湿度异常与温度异常其中之一。
3.根据权利要求1所述的系统错误处理方法,其特征在于,还包括: 显示该错误信息。
4.根据权利要求1所述的系统错误处理方法,其特征在于,在检测该中断事件是否达到该临界值的步骤包括: 当检测该中断事件未达到该临界值时,将该中断事件行次数累加,并回到检测该些节点其中之一的该异常状态的步骤。`
5.根据权利要求1所述的系统错误处理方法,其特征在于,该中断事件为系统管理中断事件、该第一处理程序为系统管理中断处理程序、该处理指令为处理指令为处理指令为智能平台管理界面指令、该第二处理程序为SNMPtrap处理程序。
6.一种服务器系统,其特征在于,包括: 多个节点; 一检测单元,耦接该些节点,用以检测该些节点其中之一的一异常状态,而据以产生一中断事件; 一第一处理单元,耦接该检测单元,用以执行一第一处理程序处理该中断事件,以产生一处理指令; 一控制单元,耦接该第一处理单元,用以依据该处理指令,检测该中断事件的次数是否达到一临界值,且当检测该中断事件的次数达到该临界值时,产生一错误节点的一通知信息; 一第二处理单元,耦接该控制单元,用以执行一第二处理程序处理该通知信息,以产生一错误信号,并储存该通知信息;以及 一第三处理单元,耦接该第二处理单元与该些节点,用以依据该错误信号,隔离该错误节点,并将该错误节点的执行中的多个虚拟机器移动至该些节点,以取代该错误节点。
7.根据权利要求6所述的服务器系统,其特征在于,该异常状态包括中央处理器异常、记忆体异常、电源供应器异常与总线异常、电压异常、电流异常、湿度异常与温度异常其中之一 O
8.根据权利要求6所述的服务器系统,其特征在于,还包括: 一显示单元,耦接该第二处理单元,用以接收并显示该错误信息。
9.根据权利要求6所述的服务器系统,其特征在于,当检测该中断事件未达到该临界值时,该控制单元将该中断事件行次数累加,并重复接收该中断事件,直到检测该中断事件达到该临界值为止。
10.根据权利要求6所述的服务器系统,其特征在于,该中断事件为系统管理中断事件、该第一处理程序为系统管理中断处理程序、该处理指令为处理指令为处理指令为智能平台管理界面指令、该第二处 理程序为SNMP trap处理程序。
全文摘要
一种系统错误处理方法与使用该方法的服务器系统,系统错误处理方法,适于具有多个节点的服务器系统。此系统错误处理方法包下列步骤。检测多个节点其中之一的异常状态,而据以产生中断事件。执行第一处理程序处理中断事件,以产生处理指令。依据处理指令,检测中断事件的次数是否达到临界值。当检测中断事件达到临界值时,产生错误节点的通知信息。执行第二处理程序处理通知信息,产生错误信号,并储存通知信息。依据错误信号,隔离错误节点,并将错误节点的执行中的多个虚拟机器移动至前述多个节点,以取代错误节点。
文档编号G06F9/48GK103186435SQ201110461340
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者卢盈志 申请人:英业达股份有限公司

最新回复(0)