Windows Server 2008 R2 se detiene por completo durante las operaciones de copia de archivos

8

Cuando mi máquina Windows Server 2008 R2 está realizando operaciones de disco grandes (copiando archivos de 10GB de una unidad a otra, copiando un archivo similar a través de la red, fusionando instantáneas HyperV, comprimiendo archivos grandes), el rendimiento de toda la máquina se ralentiza terriblemente, todo deja de responder . Esto se nota en cualquier situación cuando el acceso al disco es lo suficientemente grande como para no caber en la memoria caché.

¿Hay alguna configuración disponible para ajustar este comportamiento? Puedo aceptar una transferencia de archivos más lenta si esto me da más capacidad de respuesta.

Detalles del sistema: Dell Optiflex 960, Core 2 Quad Q9650, 8 GB de RAM, 2 unidades SATA: 320 GB (ST3320418AS) y 1 TB (ST31000528AS), NCQ activo en ambos, Intel 82564LM-3 Gigabit Ethernet, gráficos ATI HD 3450, puente Intel ICH10. Tenemos varias máquinas como esta, cada una exhibe el mismo comportamiento. Pensé que esto era excesivo para una estación de trabajo, aparentemente me equivoqué.

Actualización: supongo que no debería haber mencionado el HyperV en absoluto. La configuración anterior es una configuración de estación de trabajo estándar en la compañía para la que trabajo, este no es un servidor de ningún tipo. Tengo a lo sumo 3 máquinas virtuales funcionando, y generalmente soy la única persona que accede a ellas. Sin embargo, la desaceleración ocurre incluso cuando no se están ejecutando máquinas virtuales. En una máquina Linux, simplemente haría ioniceel proceso de copia y podría olvidarlo, ¿hay alguna forma de administrar las prioridades de E / S en Windows?

Skolima
fuente
¿Qué tipo de procesador estás usando? ¿A qué tipo de subsistema de disco está accediendo y a qué modelo?
Hyppy
Actualicé mi pregunta con detalles.
skolima
¿Algún antivirus en ejecución?
Hyppy
No El servidor es básicamente solo un host HyperV. Sí, estoy 100% seguro de que no está infectado con nada. No, las máquinas virtuales no están ocupadas.
skolima
Para ser claros, ¿las copias de los archivos ocurren fuera de las máquinas virtuales? He usado una configuración bastante similar a la suya sin problemas para fines de laboratorio de pruebas. Obviamente, no espera un rendimiento de nivel de servidor, pero funciona. Sin embargo, nuestra carga requiere más CPU que IO. :)
Jeremy

Respuestas:

7

Usando un servidor como computadora de escritorio ... ¿tiene instalado un elegante controlador de tarjeta de video? (sólo una sugerencia)

http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx

Actualización: en un i7 con soporte SLAT o EPT, puede hacer algo como esto {solo para máquinas virtuales} a través de RemoteFX. Pero ejecutar Aero en el host aún puede empeorar el rendimiento.

TristanK
fuente
1
Configuración de monitor dual, ATI Radeon (bastante decente): esta podría ser una buena captura, lo investigaré.
skolima
2
¡Usted tenía razón! Las 'Entradas de descarga de TLB virtual / segundo' se disparan por el techo cuando comienza un trabajo de copia. Gran captura, muy mal, significa que tenemos que reemplazar nuestro hardware.
skolima
Impresionante, más o menos! Sugeriría simplemente verificar que los problemas de rendimiento se solucionen si inicia con el modo VGA para una prueba rápida. (no es divertido, lo sé)
TristanK
2

Me inclino por lo que sucede si ejecuta un servidor Hyper-V en hardware inapropiado. Tenía lo mismo en los sistemas de estaciones de trabajo reutilizados donde el presupuesto de E / S del disco ard estaba en el extremo inferior.

Desde que me mudé a un controlador de incursión adecuado en un servidor más robusto, puedo copiar esas cosas a velocidades que antes me parecían increíbles (cientos de megabytes por segundo MIENTRAS otras cosas suceden). El único problema es cuando más o menos 10 VM están haciendo su orgía de parche mensual al mismo tiempo.

Sugeriría verificar: * Tiempo promedio de respuesta del disco, normalmente y durante las operaciones * Porcentajes de disco ocupado.

Para obtener más información, publique el hardware completo: memoria, procesador, subsistema de disco y diseño.

** Actualización

Unidades SATA: 320 GB y 1 TB

Debes estar bromeando para ejecutar Hyper-V contra eso.

Aquí hay algunas configuraciones que tengo.

  • Pequeño servidor (16 gb de RAM, ejecuta un puñado de imágenes): Adaptec 3405, 245 mb de respaldo de batería de caché respaldada, 3x 320 gb de disco ram. Esto es algo de bajo rendimiento. Funciona bien También tienen otros 4 discos como almacenamiento de archivos 8 porque los uso como servidores de archivos dobles en una configuración de desarrollo pequeña).
  • Servidor estándar: 64 gb de RAM, uno en uso. Ejecuta 20-30 imágenes. Y aquí vamos: Controlador RAID Adaptec 5805, RAM de 512 MB, batería de respaldo, memoria caché de escritura. 8 (!) Velociraptors de 10.000 RPM, RAID 10.

AMBOS (!) Tienen problemas al realizar transferencias de archivos grandes, ya que IO obtiene impuestos, aunque el más grande está limitado a la red (1 gbit hasta en 5 horas, luego 4) y todo el combo con el controlador maneja la situación MUY bien.

Un sistema de 2 discos, y el 1tb obviamente no es un disco de rendimiento, sino uno hecho para el tamaño, simplemente es como correr una carrera de fórmula 1 con un panda fiat. El controlador de bajo precio no amortiguado a bordo significa que tampoco es posible la optimización de E / S. Cuando llega la copia de su archivo, el presupuesto del disco entra totalmente en esto. Puede que quede algo para el sistema operativo, pero cualquier otra cosa ... vaya.

Según los estándares modernos, este es un servidor final LOOOOOW o una estación de trabajo decente con una gran cantidad de CPU (8 gb de RAM es una estación de trabajo de extremo superior). Los discos no son de calidad de servidor. Esto no es algo en lo que pondría un hipervisor, excepto para demostraciones. Hyper-V es como una base de datos: necesita IO. Un montón de. Porque el hipervisor mata totalmente el "acceso secuencial" y lo convierte en aleatorio, como lo es cualquier base de datos.

Debe poner las capacidades de IO apropiadas en él. Además de suficiente RAM (si la necesita), puede ejecutar mucho más en ellos, en lo que respecta a la máquina virtual: la CPU simplemente no se usa por completo. Espero que sus máquinas virtuales sean muy intensivas en CPU, de lo contrario se desperdicia.

TomTom
fuente
+1 para "orgía de parches"
BenGC
No hay ninguna razón por la que no pueda ejecutar hyper-v en eso, siempre y cuando existan las expectativas apropiadas
Jim B
;) Y los mejores son bajos con tal caja.
TomTom
Esta es una estación de trabajo de usuario único, no un servidor, he actualizado la pregunta.
skolima
Aún atorado. Asegúrese de no tener errores de configuración obvios - MUY importante: tal vez su departamento de TI no fue lo suficientemente inteligente como para activar NCQ. Lamentablemente, las prioridades de IP de Windows no son configurables, que yo sepa.
TomTom
1

Tuve un problema similar: Windows 2008, servidor VMware y un servidor de gama baja con unidades SATA. El rendimiento de la red y la copia local de archivos grandes fueron deficientes. Después de investigar descubrí que el modo SATA estaba en IDE emulado en la configuración del BIOS. Cambió a SATA nativo y el rendimiento aumentó ligeramente. Sin embargo, las unidades SATA no son la mejor idea para la virtualización. Tres vms y otras tareas del host significan que el acceso a las unidades será un cuello de botella.

nablas
fuente
0

Es posible que desee intentar descargar la mayor cantidad de IO de disco posible en una SAN externa. (Un drobo haría el trabajo bastante bien) Parece que el host simplemente no puede manejar la cantidad de E / S. También puede ser útil asegurarse de que los controladores del chipset y del controlador de disco estén instalados y actualizados.

TheCompWiz
fuente
0

Parece que tiene 2 unidades SATA y supongo que hay más actividad en la unidad de 1TB. No dijo qué tipo de unidades, pero también sospecharía que no son compatibles con NCQ (lo que ayudaría un poco). Claramente tienes un cuello de botella IO. El optiplex 960 como está configurado no podría manejar grandes cargas de E / S, ya que creo que los 2 discos comparten el mismo bus (el integrado es un multiplicador de puertos). Usted puede tratar de adquirir una tarjeta SATA adicional (mi sugerencia http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Producto) o algo similar. Intenté usar escritorios en el pasado como servidor y me encontré con dolores de cabeza similares hasta el punto de que ahora solo elegiré un servidor barato. HP tiene una serie ML 110 que comienza en $ 400 (y eso es con un Core i3). Los chipsets de servidor son casi siempre controladores sata de varios canales.

Jim B
fuente
0

Puede ver las prioridades de E / S con el Monitor de recursos. También encontré un hilo con una herramienta para ajustarlos aquí

uSlackr
fuente
0

Comenzaría con la instalación / ejecución de Process Hacker . Es como el explorador de procesos pero mejor.

Comience a copiar un archivo y luego comience a clasificar los datos que se muestran buscando cualquier cosa que parezca extraña.

Herramientas -> Archivo de página - ¿Es enorme? ¿Cuál fue su pico? Verifique explorer.exe haciendo doble clic en Hacker de procesos y mire la pestaña Rendimiento. Así es como se veía el mío al copiar una carpeta VM (que contiene varios archivos vmdk de varios tamaños).

Mira la ventana inferior que muestra mi E / S. Observé y vi que cayó a cero cuando terminó cada archivo.

¿El pico de utilización de recursos de explorer.exe aumenta?
¿Otro proceso aumenta en su lugar? (es decir, AV escaneando el proceso de copia?)

Haga lo mismo en otro sistema con especificaciones similares y compare los resultados.

¿Se están utilizando todos sus núcleos?

Esperemos que Process Hacker le brinde una perspectiva adicional del problema.

apodo
fuente