发明内容
有鉴于此,有必要提供一种可有效防止数据丢失且方便用户维护的服务器监控系统。
一种服务器监控系统,用以监控多个含有基板管理控制器的服务器是否发生当机;该服务器监控系统包括与所述多个服务器一一对应的多个看门狗定时器、与所述多个服务器一一对应的地址译码器、存储单元及显示单元,每一基板管理控制器分别连接至相应的地址译码器,所述地址译码器均连接至存储单元,所述每一看门狗定时器的输出端分别连接至相应的地址译码器,当所述多个服务器正常工作时,所述基板管理控制器分别发送一写本服务器信号至对应的地址译码器,所述地址译码器接收该写本服务器信号,并将所述写本服务器信号转换为该存储单元内相应的地址,使得所述多个服务器分别通过相应的地址译码器将所述服务器的编号及相应的基板管理控制器状态写入至对应的地址;当一个或多个服务器发生当机时,与发生当机的服务器对应的看门狗定时器输出一溢出信号至对应的地址译码器,所述地址译码器将所述溢出信号转换为与发生当机的服务器对应的地址,并改变发生当机的服务器的基板管理控制器状态,该等未发生当机的服务器的基板管理控制器再周期性地读取该存储单元内存储的所有数据,以确定每一服务器的基板管理控制器状态,进而将正常工作的服务器及发生当机的服务器进行区分,并传送至显示单元进行显示。
上述服务器监控系统通过将该等服务器的基板管理控制器状态及时输出至显示单元以供用户参考,进而供用户监控该等服务器是否发生当机,以便于用户及时对出现当机的服务器进行维修,并防止数据丢失。
具体实施方式
请参阅图1,本发明较佳实施方式提供一种服务器监控系统100,用以监控多个服务器S1-Sn是否发生当机(crash)。每一服务器S1-Sn内分别设置有相应的基板管理控制器(baseboard management controller,BMC)及电源供应单元(power supply unit,PSU)。该服务器监控系统100包括多个与门A1-An、多个看门狗定时器(Watchdog timer)W1-Wn、多个地址译码器Y1-Yn、存储单元10及显示单元30。
每一服务器S1-Sn的BMC均通过I2C总线连接至对应的地址译码器Y1-Yn。该地址译码器Y1-Yn均连接至该存储单元10。例如,服务器S1的BMC通过I2C总线连接至对应的地址译码器Y1,并通过该地址译码器Y1连接至该存储器10。每一服务器S1-Sn的BMC还连接至相应的与门A1-An的第一输入端。该与门A1-An的第二输入端连接至对应的PSU。该与门A1-An的输出端分别连接至相应的看门狗定时器W1-Wn的复位端Reset。该看门狗定时器W1-Wn的启动控制端Ctrl连接至对应的PSU。该看门狗定时器W1-Wn的输出端Output 连接至对应的地址译码器Y1-Yn。例如,该服务器S1的BMC连接至与门A1的第一输入端。该与门A1的第二输入端连接至该服务器S1的PSU。该与门A1的输出端连接至看门狗定时器W1的复位端Reset。该看门狗定时器W1的启动控制端Ctrl连接至服务器S1的PSU。该看门狗定时器W1的输出端Output连接至对应的地址译码器Y1。
该看门狗定时器W1-Wn的工作原理均相同,因此,在本实施例中,以该看门狗定时器W1的工作原理为例加以说明。具体地,当服务器S1正常上电时,所述服务器S1的PSU输出一高电平。此时,该看门狗定时器W1的启动控制端Ctrl因连接至该服务器S1的PSU而获得一高电平,该看门狗定时器W1开始计时,同时该服务器S1的BMC开始初始化。当所述服务器S1的BMC初始化完成后,该服务器S1的BMC将输出一复位信号至相应的与门A1的第一输入端,而所述与门A1的第二输入端接收来自服务器S1的PSU的高电平信号。因此,该与门A1的输出端输出所述复位信号至该看门狗定时器W1的复位端Reset,以刷新该看门狗定时器 W1。
而当所述服务器S1发生当机时,所述服务器S1的BMC将无法输出相应的复位信号至该与门A1的第一输入端。该服务器S1的PSU保持输出一高电平至该与门A1的第二输入端。因此,所述与门A1的输出端输出一低电平信号至该看门狗定时器W1的复位端Reset。由于该服务器S1的BMC未在该看门狗定时器W1的计时周期内发出复位信号至该看门狗定时器W1的复位端Reset,即未于计时周期内刷新该看门狗定时器W1,进而导致该看门狗定时器W1溢出,并通过该看门狗定时器W1的输出端Output输出相应的溢出信号至该地址译码器Y1。在本实施例中,该看门狗定时器 W1-Wn的计时周期为该服务器S1-Sn的BMC的初始化时间的2倍。该看门狗定时器 W1-Wn的计时周期为服务器S1-Sn的BMC发出复位信号的时间周期的4倍。
该地址译码器Y1-Yn用以当所述服务器S1-Sn的BMC初始化完成后,接收来自相应的BMC发出的一写本服务器信号,并将所述写本服务器信号转换为该存储单元10内相应的地址。如此,该服务器S1-Sn的BMC可通过相应的地址译码器Y1-Yn将所述服务器S1-Sn的编号,相应的服务器S1-Sn的BMC状态(例如0代表服务器的BMC工作正常,1代表服务器的BMC发生当机)等服务器信息写入至该存储单元10内相应的地址译码器Y1-Yn转换后的地址。例如,当所述服务器S1、S2的BMC分别发出一写本服务器信号时,所述地址译码器Y1、Y2分别将上述写本服务器信号转换为该存储单元11内的相应的地址1、地址2。如此,该服务器S1、S2的BMC可分别通过地址译码器Y1、Y2将所述服务器S1、S2的编号,服务器S1、S2的BMC状态等服务器信息分别写入至存储单元11内的地址1、地址2。在本实施例中,每一地址译码器Y1-Yn转换出来的存储单元10的地址互不重复且与该服务器S1-Sn一一对应。
该地址译码器Y1-Yn还用以当其中一个或多个服务器S1-Sn发生当机,以使得相应的看门狗定时器W1-Wn产生溢出信号时,接收相应的溢出信号,并将相应的溢出信号转换为与存放该服务器S1-Sn信息相同的地址,并更改出现当机的服务器对应的BMC状态,例如将出现当机的服务器对应的BMC状态设置为1,以表明该服务器所对应的BMC发生当机。
该存储单元10为一非易失性随机访问存储器(non-volatile random access memory,NVRAM),其内存储有各服务器S1-Sn的编号、服务器S1-Sn对应的BMC状态等信息。例如,所述存储单元10内的地址1用以存储服务器S1的编号、服务器S1的BMC状态等信息。所述存储单元11内的地址n用以存储服务器Sn的编号、服务器Sn的BMC状态等信息。
每一服务器的BMC内均设置有固件(firm ware,FW)。该FW用以定义该服务器S1-Sn的BMC对该BMC状态的采样时间。因此,未发生当机的服务器的BMC便可根据该采样时间周期性地向相应的地址译码器Y1-Yn发出读取该存储单元10内存储的数据的请求。该地址译码器Y1-Yn接收到该请求后,将对该请求进行转换,使得该等未发生当机的服务器的BMC通过对应的地址译码器获取存储单元10内存储的所有数据,并利用该FW内的传感器数据记录(sensor data record,SDR)将所读取的数据定义为threshold型的虚拟传感器的读数。接着,该FW再对该虚拟传感器的读数进行解码,以确定每一服务器S1-Sn的BMC状态,进而将正常工作的服务器与发生当机的服务器进行区分,并通过智能型平台管理接口工具(intelligent platform management interface tool,IPMI Tool)传送至显示单元30进行显示,以提示用户。例如,当该虚拟传感器的读数对应该服务器S1、S2、S3的BMC状态为0,剩下的服务器S4-Sn的BMC状态为1时,则用户可通过显示单元30确定该等服务器S1-Sn中仅服务器S1、S2、S3正常工作,其他服务器均发生当机。
显然,上述服务器监控系统100可将该等服务器S1-Sn的BMC状态及时输出至显示单元30以供用户参考,进而供用户监控该等服务器S1-Sn是否发生当机,以便于用户及时对出现当机的服务器进行维修,并防止数据丢失。
另外,本领域技术人员还可在本发明权利要求公开的范围和精神内做其他形式和细节上的各种修改、添加和替换。当然,这些依据本发明精神所做的各种修改、添加和替换等变化,都应包含在本发明所要求保护的范围之内。