ASR(Automatic Server Recovery)是一个硬件部件,它能检查一些严重的服务器关键事件和一些重要零部件是否异常(如内存错误、磁盘故障、温度过高、电源掉电、风扇故障、 网卡异常等);HP asm驱动与操作系统相关,它负责检测软故障(如系统挂起,程序hang等),ASR和ASM时时保持联系,缺少任何一方那么ASR和ASM都失效。 ASR和ASM类似于服务器的维护人员,一个负责硬件层,一个负责软件层,同时他们之间时时保持联系,当出现问题时,共同协商采取某种动作,如重启机器 等。
ASR机制可以通过BIOS设置成开或关,在开启状态下,如果ASR没有检测到软件层的ASM驱动,那么ASR临时“自残”(相当于关闭自己)。ASR是 HP公司发明的一个先进的硬件故障检测部件,目前已经集成在HP DL 380 及以上版本的机器中,HP官方强烈建议用户开启该功能并相应装上ASM驱动(采用smartstart部署系统或安装PSP包会自动安装该驱动),否则机 器可能在故障存在的情况下继续跑应用,这时数据安全难以保障。从上图中还可以看出ASM是“集成”在软件层的,它在用户空间安插一个探针 hpasmd,hpasmd一个主要功能就是对ASR中计数器周期性地赋一个正数值,ASR则周期性地递减这个计数器,如果该计数器大于0表明 hpasmd还“活着”,hpasmd活着又意味着软件层还活着,如果该计数器在10分钟内(默认值)保值非正,那么ASR就直接给CPU发reset信 号,因为此时ASR认为操作系统被挂起了!我们可以做这个实验:把hpasmd进程直接杀掉,一会儿机器就直接重启了。
ASM在用户空间安插hpasmd这个探针的机制,有点类似于我们最近提出的基于 应用层面的监控方法,用户空间的进程全部hang住了,就算操作系统内核还“活着”又有什么用呢?所以就直接reset系统算了。因此hpasmd进程的 稳健性就显得非常重要,因为它就是整个系统“命悬一线”中的那根“线”。
ASR默认情况下是开启的,如果用户没有在操作系统中安装相应的ASM驱动,那么ASR机制就失效。
官方说明如下:
ASR 使用
一、ASR简介
ASR (Automatic ServerRestart)减少由于系统崩溃或挂起产生的影响。它的实现要求软件与硬
件的结合。当ASR为允许状态时,软件定期的通知硬件系统为正常运行状态,当系统崩溃后,硬件不再得到信息并且会在达到设置时间自动重新启动。注意系统必须被设置为无须用户介入情况下重启。
不是所有的系统挂起会导致重启,例如:当所有用户的要求被禁止(表现为系统好象挂起),然而NOS还在运行,这样的情况下ASR不会重启系统。
HP的服务器LC LF LS LH 及其后的机型硬件上都支持ASR。ASR功能的实现要求硬件支持外还
须安装ASR软件。所有安装了HP远程助理软件的系统都支持ASR。ASR可以捕捉系统挂起时的最后一屏,其中包含重要故障信息,并且记录系统重启事件以备后期查看。
二、ASR测试
系统环境:
Winnt操作系统,
安装Toptools软件,
控制面板的服务中ASRSrv 是启动状态
使用:
1 找到 ASRuser 命令:
如果是自动安装的操作系统, 路径为 c:\Winnt40\HPserver\ASRuser
如果是手动安装的操作系统,该文件在 Toptools 文件夹内
2 执行ASRuser /t 可以设置时间:
第一项为自动重启时间
第二项为轮循检测系统时间
(可以通过ASRuser/o 查看设置)
现象:
当系统锁死后,ASR会按照设置的轮循时间检测系统状态,如果到达设定时间后
系统仍未激活, 则自动关机重新启动。