Ajuste del rendimiento del servidor de archivos de Windows

Ajuste del rendimiento del servidor de archivos de Windows

Busco su opinión y consejos/sugerencias para optimizar el rendimiento de un nuevo servidor de archivos de Windows que estoy construyendo. Heredé un servidor de almacenamiento Dell NF500 (básicamente Dell 2950 con sistema operativo Windows 2k3 Storage Server). Tiene un PERC 6i con caché BBU de 256 MB y 6 unidades SATA de 750 GB y memoria del sistema de 4 GB. Creo que optaré por RAID6 porque temo perder una segunda unidad durante una reconstrucción prolongada si el volumen RAID6 falla. El volumen RAID6 también utilizará unidades 5x con 1 unidad como repuesto dinámico. Sí, estamos súper paranoicos pero también seguimos nuestro estándar de que todos los servidores tengan repuestos dinámicos.

Dicho esto, solicito tu opinión sobre otros consejos y sugerencias para optimizar el rendimiento. Servirá como servidor de archivos (los tamaños de archivos y R/W aleatorios suelen ser pequeños, pero hay algunos grandes) para clientes Windows, Mac y Linux a través de SMB/CIFS/NFS.

  • ¿Alguna configuración particular en el lado del controlador RAID? Actualmente, el elemento de banda está configurado en 256 kb (puede llegar hasta 512 k y tal vez 1 MB), política de lectura anticipada adaptable y escritura de caché gracias a BBU. ¿Debo agrandar el tamaño del elemento de la raya?

  • ¿Algún ajuste a nivel de partición/sistema de archivos? Recuerdo vagamente haber leído algo sobre alinear el inicio de las particiones del disco, el número de unidades, crear un sistema de archivos con el tamaño de bloque correcto, etc. Cualquier información, incluidos enlaces, que pueda enviarme para que pueda revisarla, sería muy apreciada.

  • ¿Algún ajuste a nivel del sistema operativo? Dado que es un volumen RAID único, ¿importa si coloco el sistema operativo y el almacén de datos en una partición o debo dividirla? También planeo usar VSS, ¿debería ser otra partición separada? ¿Puede incluso estar en la misma partición?

  • ¿Otras mejores prácticas?

Gracias de antemano. Soy un tipo de enrutador/conmutador/fw, así que todo esto es un poco nuevo para mí. C.

Respuesta1

Subsistema de disco: Aquí hay un artículo de Microsoft sobre: ​​alineación de particiones en SQL Server 2008:http://msdn.microsoft.com/en-us/library/dd758814.aspx

La teoría explicada en el artículo es la razón por la que te doy el enlace, no porque creo que ejecutarás SQL Server. Es menos probable que la carga de trabajo de un servidor de archivos sea tan delicada con la alineación de particiones como SQL Server, pero todo ayuda.

NTFS:

Puede desactivar la marca de tiempo del último acceso en NTFS con:

fsutil behavior set disablelastaccess 1

Puedes deshabilitar la creación de nombres de archivos cortos (si no tienes aplicaciones que lo necesiten) con:

fsutil behavior set disable8dot3 1

Piense en el mejor tamaño de clúster NTFS para los tipos de archivos que colocará en la caja. En general, desea tener un tamaño de clúster lo más grande posible, equilibrándolo con el espacio desperdiciado para archivos del tamaño de un sub-clúster. También desea intentar hacer coincidir el tamaño de su clúster con el tamaño de su franja RAID (y, como se dijo anteriormente, alinear sus franjas con sus clústeres).

Existe la teoría de que la mayoría de las lecturas son secuenciales, por lo que el tamaño de la franja (que normalmente es la lectura mínima del controlador RAID) debe ser un múltiplo del tamaño del clúster. Eso depende de la carga de trabajo específica del servidor y necesitarás medirla para estar seguro. Yo los mantendría igual.

Si va a tener una gran cantidad de archivos pequeños, es posible que desee comenzar con una reserva mayor para la tabla de archivos maestros (MFT) NTFS para evitar futuras fragmentaciones de MFT. Además de hablar sobre el comando fsutil anterior, este documento describe la configuración de "zona MFT":http://technet.microsoft.com/en-us/library/cc785435(WS.10).aspx Básicamente, desea reservar tanto espacio en disco para MFT como crea que necesitará, según una cantidad prevista de archivos que tendrá en el volumen, para intentar evitar la fragmentación de MFT.

Una guía general de Microsoft sobre optimización del rendimiento NTFS está disponible aquí:http://technet.microsoft.com/en-us/library/cc767961.aspx Se trata de unviejodocumento, pero de todos modos ofrece algunos antecedentes decentes. No pruebe necesariamente ninguna de las "cosas tecnológicas" que dice hacer, pero obtenga conceptos de ello.

Disposición:

Tendrás discusiones religiosas con la gente sobre: ​​separar el sistema operativo y los datos. Para esta aplicación en particular, probablemente apilaría todo en una partición. Alguien vendrá y te dirá que estoy equivocado. Puedes decidir tú mismo. No veo ninguna razón lógica para "hacer que el trabajo funcione" en el futuro cuando la partición del sistema operativo se llene. Dado que no son volúmenes RAID separados, no hay ningún beneficio de rendimiento al separar el sistema operativo y los datos en particiones. (Sería otra historia si fueran husos diferentes...)

Instantáneas:

Las instantáneas de instantáneas se pueden almacenar en el mismo volumen o en otro volumen. No tengo muchos conocimientos sobre los problemas de rendimiento asociados con las instantáneas, así que me detendré ahí antes de decir algo tonto.

Respuesta2

WSS ya hace muchas de las cosas sugeridas de forma predeterminada: consulteBlog del servidor de almacenamiento de Windows

"Optimizaciones del rendimiento del servidor de archivos Hay algunas configuraciones en Windows Server 2003 que aceleran el tráfico de red y las operaciones NAS, como eliminar alias del sistema de archivos, desactivar la creación de nombres 8.3 y configurar la frecuencia TCP ACK para utilizar mejor el tamaño de la trama de la red y Consulte el documento técnico sobre ajuste del rendimiento para obtener más información. Los OEM también pueden mejorar su rendimiento configurando la afinidad de interrupción de las tarjetas NIC y asegurándose de que se considere la alineación adecuada del disco al configurar la matriz RAID. de estos temas".

Tenga en cuenta que la alineación del disco debería haberse realizado en fábrica.

Respuesta3

RAID 6 degradará bastante la lectura de E/S en comparación con otras opciones de RAID en esta configuración y será muy dura en términos de escritura de E/S. A menos que sea absolutamente necesario tener todo el espacio, le sugiero que considere RAID 10. Perderá 750 GB en comparación con RAID 6 en su sistema, pero la diferencia de rendimiento hará que todos los demás ajustes de rendimiento que intente palidezcan hasta volverse insignificantes. La alineación de particiones, hacer coincidir los tamaños de franjas con el tamaño de bloques del sistema de archivos y cambiar cosas como la hora del último acceso que sugiere Evan son sugerencias excelentes que mejorarán el rendimiento en un 30% o más en total. RAID 10 será al menos un 100% más rápido en todos los ámbitos para lectura y escritura y su tiempo de reconstrucción es una fracción del de RAID 5 o 6.

RAID 10: 4 unidades con 2 repuestos dinámicos. Capacidad efectiva 1500 GB. La lectura aleatoria sostenida en esto será ~4 veces el IOPS de su unidad básica. La escritura aleatoria sostenida será (hasta) el doble de IOPS de escritura de su unidad de disco básica. Tiempo de reconstrucción: de 4 a 6 horas en un sistema como el suyo cuando está inactivo, tal vez el doble con una carga promedio.

RAID 5: 5 unidades con 1 repuesto activo. Capacidad efectiva 3000 GB. La lectura aleatoria sostenida será ~4 veces la IOPS de su unidad básica. La escritura aleatoria sostenida aumentará ~1 veces las IOPS de escritura de una sola unidad básica (suponiendo que se requieren 2 lecturas y 2 escrituras para cada IO de escritura). Tiempo de reconstrucción: más de un día cuando está inactivo, días cuando está bajo carga típica.

RAID 6: 5 unidades con 1 repuesto activo. Capacidad efectiva 2250 GB. La lectura aleatoria sostenida será ~ 3 veces la unidad básica. La escritura aleatoria sostenida será aproximadamente el 66 % de las IOPS de escritura de una única unidad básica (se requieren 3 lecturas y 3 escrituras para cada IO de escritura). Tiempo de reconstrucción: días en los que el sistema está relativamente inactivo, durando una semana cuando se encuentra bajo carga típica.

Por supuesto, su kilometraje puede variar, si no tiene muchas E/S aleatorias sostenidas, la mayor parte quedará oculta por el caché, pero el rendimiento sostenido alcanzado con RAID 6 es bastante severo, especialmente cuando se implementa con relativamente pocas unidades en la matriz.

Respuesta4

Evan y Helvick dan en el clavo, así que simplemente agregaré un recurso adicional. ElDirectrices de ajuste del rendimiento para Windows Server 2003El documento cubre muchas de las consideraciones y ajustes internos, aunque, como menciona Jim, Storage Server viene preajustado para optimizar la carga de trabajo de intercambio de archivos.

información relacionada