ISA Server 的故障恢复.docx
《ISA Server 的故障恢复.docx》由会员分享,可在线阅读,更多相关《ISA Server 的故障恢复.docx(11页珍藏版)》请在冰豆网上搜索。
ISAServer的故障恢复
在使用ISAServer2004的过程中,难免会出现ISAServer2004服务停止的情况,当然原因可能很多。
当服务停止的时候,难道还需要我们做网管的手动启动吗?
其实Microsoft已经为我们考虑到了这点,在WindowsServer2003中,新增了一个命令行工具Eventtriggers,可以根据事件日志来触发动作。
你在Windows系统的帮助中可以查到Eventtriggers的详细,我这儿就只对建立一个触发器的相关参数进行介绍。
eventtriggerscreate新建事件触发器,其监视并作用于按给定条件显示的日志事件。
语法
eventtriggers[.exe]/create[/sComputer[/uDomain\User[/pPassword]]]/trTriggerName[/l[APPLICATION][SYSTEM][SECURITY]["DNSServer"][LOG][DirectoryLogName][*]]{[/eidID]|[/t{ERROR|INFORMATION|WARNING|SUCCESSAUDIT|FAILUREAUDIT}]|[/soSource]}[/dDescription]/tkTaskName
参数
/sComputer
指定远程计算机名称或IP地址(不能使用反斜杠)。
该默认值是本地计算机。
/uDomain\User
根据由User或Domain\User指定的用户所具有的帐户权限来运行脚本。
默认值是当前登录发出命令的计算机的用户具有的权限。
/pPassword
指出/u参数中指定的用户帐户的密码。
/trTriggerName
指定要与事件触发器关联的友好名称。
/l[APPLICATION][SYSTEM][SECURITY]["DNSServer"][LOG][DirectoryLogName][*]]
指定要监视的事件日志。
有效类型包括:
Application、System、Security、DNSserver、Log和Directory日志。
可以使用通配符(*),并作为默认值。
/eidID
指定事件触发器应监视的特定事件ID。
有效值为任意有效整数。
/t{ERROR|INFORMATION|WARNING|SUCCESSAUDIT|FAILUREAUDIT}
指定事件触发器应监视的事件类型。
有效值包括:
ERROR、INFORMATION、WARNING、SUCCESSAUDIT和FAILUREAUDIT。
不能与/id参数或/so参数一起使用。
/soSource
指定事件触发器应监视的事件来源。
有效值可为任何字符串。
不能与/id参数或/type参数一起使用。
/dDescription
指定事件触发器的详细说明。
有效值可为任何字符串。
/tkTaskName
指定符合事件触发器条件时要执行的任务/命令/行。
/?
在命令提示符下显示帮助。
注释
同时使用参数/eid、/t和/so时,对于要创建的事件触发器,日志事件必须与这三个参数指定的条件相匹配。
示例
下列示例显示如何使用eventtriggers/create命令:
eventtriggers/create/tr"DiskCleanup"/lsystem/terror/tkc:
\windows\system32\cleanmgr.exe
eventtriggers/create/ssrvmain/umaindom\hiropln/pp@ssW23/tr"LowDiskSpace"/eid4133/twarning/tk\\server\share\diskcleanup.cmd
eventtriggers/create/ssrvmain/usermaindom\hiropln/pp@ssW23/tr"DiskBackup"/eid4133/lsystem/terror/tk\\server\share\ntbackup.exe
其实这样看来也不容易理解,我以事件日志的系统日志中关于ISAServer2004防火墙服务停止的记录,给大家讲解一下这个参数:
从这个图,我们可以获得以下信息:
要监视的日志(/l)是system,事件ID是7036,/t是information。
其它的根据你的需要来。
再看看另外一个,应用程序日志中关于ISAServer2004防火墙服务正常停止的日志:
从这个图,我们获得的信息更多:
/l是application,/eid是14182,/t是information,/so是“MicrosoftFirewall”。
在设置这个事件触发的时候,如果你的匹配条件越精确,那么这个触发器的作用越明显,而且对系统的消耗越小。
但是你一定要对你设置的触发器进行测试,有的时候,可能不会产生和你设置的触发器匹配的日志。
如上面的第二个日志,ISAServer2004正常停止的日志,只有在你手动停止ISAServer2004服务的时候才会产品,如果ISAServer2004异常停止,那么是不会产生这个日志的。
经过我多次的试验,使用第一个日志来作为触发是比较好的,只要ISAServer2004服务停止,那么就会产生这个日志。
但是用这个日志来触发也有个bug,因为只要是服务停止或者启动都会触发,不过正常运行的情况下,一般不会有多少服务停止的情况,而且在服务启动的时候,就算你执行启动服务是没有效果的。
我现在因为没有出现ISAServer2004异常停止,找不到对应的日志信息,只有用这个了。
然后再说说如何在命令行来控制ISAServer2004。
这个时候需要使用net命令来控制ISAServer2004的服务。
ISAServer2004的服务有四个,分别是MicrosoftFirewall(fwsrv)、MicrosoftISAServerControl(isactrl)、MicrosoftISAServerStorage(isastg)和MicrosoftISAServerJobSeheduler(isasched)。
其中只有fwsrv和isactrl是核心服务。
不过根据长久的实践经验,只有fwsrv服务才会出问题。
只需要设置启动fwsrv服务就是了,命令行就是netstartfwsrv。
你可以直接在/tk参数后面直接这样写,不过我通常是写个批处理,这样方便修改。
根据第一个日志,完整的建立触发器的命令是:
eventtriggers/create/tr"StartISAServer2004"/lsystem/eid7036/tke:
\startisa.cmd
startisa.cmd是我写的一个批处理文件,里面只有一行内容:
C:
\WINDOWS\system32\net.exestartfwsrv
用户和密码我没有写出来,你可以使用/u和/p参数来添加,如果不写出来,默认会以当前用户身份运行,等下建立时会提示你输入密码,不过只有一次输入的机会,这个时候就要注意输入密码是否正确了。
建立好后,你可以使用eventtriggers/query/v来察看,如下图:
其实这个触发器是任务计划中的一种特殊应用,所以,你需要启动计划任务服务。
不要去修改它的任何地方,除了运行的用户和密码。
这个时候,你的触发器就建立好了。
不过建议你测试一下,你可以停止一个不必要的服务,这个时候,会触发这个触发器,然后就会跳出一个cmd窗口,运行C:
\WINDOWS\system32\net.exestartfwsrv。
如果没有运行也不必紧张,出现问题的最大可能是没有匹配条件或者运行账户的密码输入有误。
如果eventtriggers执行事件失败,它会在%systemroot%\system32\wbem\logs目录中创建一个名为cmdTriggerConsumer.log的日志文件,在这个日志信息的最后,就是执行事件触发的信息。
你可以根据它的信息检查一下,或者重建一个触发器。
不过当ISAServer2004出现问题的时候,就算Windowsserver2003的稳定性再好,也会耗用一部分系统资源的,就算重新启动ISAServer2004的服务,也会造成系统的不稳定。
所以可能多重启几次就不能启动了。
像这种故障恢复的方法,毕竟只是一种投机取巧的方法而已。
这点说说我对服务器配置的看法,不要在服务器上安装过多的软件,根据你的情况,只装你真正需要的;另外,请及时打系统补丁和更新杀毒软件,最好有防火墙(ISAServer2004就是一个很完美的防火墙)。
不过就算你把你的服务器配置的很完美,始终不可能做到永远不出现问题。
作为一个优秀的网管,你需要随时监控你的服务器,当出现故障时进行及时的恢复。
如果你的ISAServer2004出现了问题,就算当时通过eventtriggers进行了恢复,也建议你在没有用户或者用户很少的时候重启一下服务器,这个时候,服务器才是最优化的。
使用KWF的朋友,也可以通过同样的办法来自动启动KWF。
道理是一样的,分析事件日志就可以了。
eventtriggers的功能还很弱,只能通过简单的事件来进行触发。
世界级的自动控制软件有两个:
UnisynSoftware的AutoMateProfessional和Neowise的RoboTask,这两个软件自动控制功能的强大,只能用恐怖来形容,当然,复杂程度还是比较高的。
Automate中的触发器多达几十种
触发后的动作也有几十种
RoboTask的触发事件要少些,而且没有事件日志的监视
但是动作就多种多样了,让它半夜起来给你刻光盘:
)