下面让我们来细致看一下这三种服务器
在这个例子中,此种系统崩溃曾经被厂商标识为已知疑问并文档化,新版杀毒软件曾经能够用来防止系统崩溃。真实上,绝大非少数你遇到的Windows Server崩溃,都曾在别人身上发作过,它们的处理方法通常曾经记载在互联网上的某个地点。因此,很主要的一点是,必须要记得即使只是一个服务包更新。在更新操作系统时也该第一时间与第三方厂商确认能否有相应的软件更新。
存储驱动顺序不兼容
另一种最罕见的系统崩溃是由不兼容的存储驱动顺序所致。如你所知,第三方存储厂商提供装备驱动顺序来控制它们的主机总线适配器(HBA)并用于访问存储装备。像Qlogic、Emulex和惠普(HP)等厂商都有不一样的装备驱动顺序,但它们都依托于微软的Storport驱动顺序。Storport驱动顺序提供一套通用顺序,这些特定的厂商驱动顺序在执行I / O操作时运用它们。
这种疑问的呈现方式与杀毒软件驱动顺序的不兼容性很相似。当厂商修正其自用的驱动顺序时,它们必需重新与如今版本的Storport实行测试,以确保仍然兼容。一样的道理,当更新Storport版本时,一切的HBA驱动顺序也必需重新测试,以保证它们仍然与新版的Storport驱动顺序兼容。在Windows Server 2003中当你须要思索Storport的50多个修补顺序时,这才是一个真实的挑战。
体会次序是,在更新Storport驱动之前与你的第三方厂商确认HBA驱动顺序能否有相应的更新,反之亦然。如何才干知晓哪个存储驱动顺序依托于Storport?幸运的是,有一个叫Dependency Walker(depends.exe)的无偿工具,能够揭示驱动顺序间的依托联系。
下载并解紧缩后,运转depends.exe,运用文件下拉菜单挑选你所注重的驱动顺序。在这个例子中,我挑选了驱动顺序Hpcisss2.sys,它运用于HP的硬盘阵列。正如你下面能够看到的,该工具显示,驱动顺序Hpcisss2依托于STORPORT.SYS和Ntoskrnl.exe。
过多的过滤驱动
第三种最罕见的Windows Server崩溃类型与安装了太多的过虑驱动时的堆栈溢出条件相关。任何能够阻拦I / O恳求并执行额定功用的驱动顺序都被以为是一个过滤驱动。我们曾经知晓,杀毒驱动顺序就是一个过滤驱动。其它过虑驱动包括硬盘配额维护、硬盘镜像和备份代理等,在这里我只列举了多个。
虽然安装多个过滤驱动本身不会有疑问,但是在当这些驱动顺序以递归的方式相互调用并因此耗尽了有限的内核堆栈空间时,状况就会发作改动。依据计算机体系结构((x86=12 KB,x64=24 KB),一切装备驱动顺序运用的内核堆栈空间是有限的。当内核堆栈空间耗尽时,就会呈现一个Stop 0x7F bugcheck导致系统崩溃,就像微软数百篇文档的描述一样。
基本没有方法提供额定的内核堆栈空间来容纳更多的过虑驱动。独一的挑选是辨认这些过滤驱动,禁用或卸载其中不须要的那些。有一个内置在Windows Server操作系统中的工具叫FLTMC(过滤器维护器控制顺序),它能够让你辨认出安装的过滤驱动。
正如你看到的,有许多原由会导致Windows Server崩溃。但是绝大非少数服务器停机都是由上述的原由构成的。你完全能够议决两种方式处理这些疑问,它们是在升级Windows操作系统或更新相关的热修补顺序的同时更新第三方驱动顺序和限定未运用的过滤驱动的数目。