Windows Server y evitar el colapso de la tres vías

  

Hay muchas maneras de accidente de Windows Server, pero la gran mayoría pertenecen a tres categorías: el software anti-virus de la herencia, los controladores de almacenamiento incompatibles y controlador de filtro excesivo. Después de analizar cerca de 1000 choques de casi una década en el mundo, puedo confirmar que estos son los peligros ocultos que desea evitar.

Echemos un vistazo más de cerca a los detalles de estos tres fallos del sistema del servidor e introduzcamos las mejores maneras de evitarlos.

Anti-Virus

Hasta ahora, el bloqueo del servidor de Windows más común fue causado por un software antivirus más antiguo. Todo el software antivirus utiliza controladores de dispositivo, más específicamente "controladores de filtro" para interceptar solicitudes de E /S (lectura /escritura) y realizar comprobaciones adicionales. El controlador del software antivirus compara el contenido verificado con los archivos de definición de virus conocidos para garantizar que no haya virus infectados.

contiene el código de controlador de filtro de modo de núcleo, que interactúan con las funciones del núcleo y las estructuras de datos de las funciones del sistema operativo subyacentes y estructuras de datos, incluidos los que se espera que los parámetros predefinidos presentados cuando las llamadas de controlador de dispositivo y los datos correspondientes Tipo. Si el tipo de datos que pasa la función es incorrecto o el número de parámetros es incorrecto, se produce un error que hace que el sistema se bloquee en modo kernel.

Cuando un desarrollador entre las diferentes versiones del sistema operativo (como una actualización de Service Pack o una nueva versión de la versión del sistema operativo) modificar las funciones del kernel o estructuras de datos, surge el problema. Aunque Microsoft hizo un buen trabajo al probar la compatibilidad de los controladores de dispositivos con todos los cambios del sistema operativo, aparentemente no probó los controladores de dispositivos de terceros para asegurarse de que fueran compatibles. Por lo tanto, cuando el antiguo controlador antivirus encuentra accidentalmente estos cambios, eventualmente causará que el sistema se bloquee. Otros controladores de filtro también son susceptibles a este problema, pero los controladores antivirus son los más vulnerables.

Veamos un ejemplo:

Lo que sigue es una parada 0x8E bugcheck -KERNEL_MODE_EXCEPTION_NOT_HANDLED los fallos del sistema. Utilice el comando en el depurador de Windows! Analizar –v muestra su modo de pila. Leer desde debajo, vemos una llamada a la función NtCreateFile, buggydrv finalmente introducido, lo que lleva a la comprobación de errores. El uso de comandos! Lmi buggydrv puede mostrar que la fecha del controlador es 2006, mientras que el sistema operativo Windows Server 2003 SP2 se lanzó en 2007. Ahora sabemos que la versión anterior del controlador antivirus no probó la nueva versión del sistema operativo.

nt! KeBugCheckEx + 0x1b

nt! KiDispatchException + 0x3a2

nt! CommonDispatchException + 0x4A

nt! Kei386EoiHelper + 0x186

buggydrv + 0x13059 < - desplome del sistema de filtro conductor

buggydrv + 0x8390

buggydrv + 0x8809

buggydrv + 0x2940

nt IofCallDriver +! 0x45

nt! IopParseDevice + 0xa35

nt! ObpLookupObjectName + 0x5b0

nt! ObOpenObjectByName + 0xEA

nt! IopCreateFile + 0x447

nt IoCreateFile + 0xA3

nt NtCreateFile + 0x30 < - el sistema operativo llama CreateFile

nt KiFastCallEntry + 0xFC

en este ejemplo, un sistema de este tipo! El proveedor ha identificado el bloqueo como un problema conocido y está documentado, y se pueden usar nuevas versiones de software antivirus para evitar fallos en el sistema. De hecho, la gran mayoría de los fallos de Windows Server que ha encontrado le han ocurrido a otros y sus soluciones generalmente se registran en algún lugar de Internet. Por lo tanto, es importante recordar que incluso solo una actualización del service pack. Al actualizar el sistema operativo, también es necesario confirmar con los proveedores externos si existe una actualización de software correspondiente.

Los controladores de almacenamiento son incompatibles

Otra falla más común del sistema es causada por controladores de almacenamiento incompatibles. Como saben, los proveedores de almacenamiento de terceros proporcionan controladores de dispositivos para controlar sus adaptadores de bus de host (HBA) y acceder a dispositivos de almacenamiento. Al igual que Qlogic, Emulex, y Hewlett-Packard (HP) y otros fabricantes tienen diferentes controladores de dispositivos, pero todos ellos se basan en el controlador Microsoft Storport. El controlador Storport proporciona un conjunto común de programas que son utilizados por controladores de proveedores específicos para realizar operaciones de E /S.

Este problema se produce de manera similar a la incompatibilidad de los controladores de software antivirus. Cuando los proveedores modifican sus controladores dedicados, deben volver a realizar la prueba con la versión actual de Storport para asegurarse de que siguen siendo compatibles. De la misma manera, cuando la versión Storport actualizado, todos los controladores HBA también debe volver a probar para asegurar que siguen siendo compatibles con la nueva versión del controlador de Storport. En Windows Server 2003, este es un verdadero desafío cuando necesita considerar más de 50 parches para Storport.

La regla de oro es que antes de la hora de actualización del controlador Storport con sus proveedores de terceros si existe un correspondientes actualizaciones de controladores HBA, y viceversa. ¿Cómo puedo saber qué controlador de almacén depende de la Storport? Afortunadamente, hay uno llamado Dependency Walker (depends.exe) herramienta gratuita puede revelar las dependencias entre los conductores.

Después de descargar y descomprimir, ejecute depends.exe y use el menú desplegable de archivos para seleccionar el controlador que le interesa. En este ejemplo, elegí el controlador Hpcisss2.sys, que se aplica a las matrices de discos de HP. Como se puede ver a continuación, se muestra la herramienta, controlador dependientes Hpcisss2 en Storport.sys y Ntoskrnl.exe.
controlador de filtro excesiva

La tercera más común de Windows Server El tipo de bloqueo está relacionado con la condición de desbordamiento de pila cuando se instalan demasiados controladores de cuidado. Cualquier controlador que pueda interceptar solicitudes de E /S y realizar funciones adicionales se considera un controlador de filtro. Ya sabemos que el controlador antivirus es un controlador de filtro. Otros controladores de cuidado incluyen administración de cuotas de disco, duplicación de disco y agentes de respaldo. Solo he enumerado algunos aquí.

Aunque la instalación de varios controladores de filtro no es un problema en sí mismo, la situación cambia cuando estos controladores se llaman recursivamente entre sí y, por lo tanto, agotan el espacio limitado de la pila del kernel. La arquitectura del ordenador ((x 86 = 12 KB, 64 KB = 24), el espacio de pila del núcleo todos los controladores de dispositivos está limitada. Cuando se agota el espacio de pila del núcleo, habrá una parada 0x7F bugcheck causar un fallo del sistema, se Al igual que la descripción de cientos de documentos de Microsoft.

No hay manera de proporcionar espacio adicional en la pila del kernel para alojar más controladores de cuidado. La única opción es identificar estos controladores de filtro, deshabilitar o desinstalar aquellos que no son necesarios. hay una herramientas integradas en el sistema operativo del servidor de Windows llamado Fltmc (programa de control Gestor de filtro), lo que le permite identificar los controladores de filtro instalado herramienta
Figura II :. Fltmc


Como se puede ver, hay muchas razones por caída del servidor de Windows. pero la gran mayoría de inactividad del servidor son causadas por las razones anteriores. puede resolver estos problemas de dos maneras, que son de Windows que actualicen Actualice los controladores de terceros y limite la cantidad de controladores de filtro no utilizados mientras el sistema operativo o las actualizaciones relacionadas actualizan.

Copyright © Conocimiento de Windows All Rights Reserved