Red de conocimiento informático - Material del sitio web - Cómo optimizar el controlador RAID para mejorar el rendimiento del almacenamiento

Cómo optimizar el controlador RAID para mejorar el rendimiento del almacenamiento

Muchos parámetros están relacionados con el caché y la utilización del caché, así como con el conocido RAID

Hay muchos artículos relacionados con el nivel y el rendimiento de RAID, por lo que no los repetiré aquí. Hablaré principalmente sobre el ajuste de RAID. Si desea optimizar el rendimiento del almacenamiento configurando RAID, ya sea un controlador RAID instalado en un servidor de PC o una matriz de almacenamiento de clase empresarial de alta gama, lo hará después de leer este artículo. tener una dirección clara.

Primero, echemos un vistazo a los tipos de controladores RAID. Actualmente, tenemos los siguientes tres tipos comunes:

1. del controlador le permite Escribir datos desde cualquier host a cualquier LUN no causará degradación del rendimiento. Generalmente tiene un caché de imagen grande (generalmente más de 32 GB). Este controlador admite discos duros intercambiables en caliente y tiene un tiempo de actividad prolongado. La comunicación del controlador generalmente utiliza Fibre Channel (FC) o Fibre Channel over Ethernet (FCoE).

2. "activo/pasivo" de rango medio: este tipo de controlador tiene dos lados para cada LUN, un lado activo, que es la ruta principal, y un lado pasivo, que se utiliza para la conmutación por error. normalmente necesita dividir su sistema en partes iguales dividiendo los LUN entre el lado primario y el de conmutación por error, y el caché se puede reflejar en el controlador, pero dichos controladores no son tan resistentes como los controladores de clase empresarial.

3. Tarjeta host RAID: Esta tarjeta se inserta en la ranura PCIe y se conecta al disco duro a través de un cable de datos SAS o SATA. No tiene procesador independiente, pero sí de nivel empresarial y medio. Los controladores de gama lo tienen. Tampoco admiten tantos discos duros como los dos primeros controladores. Además, la conmutación por error a otro controlador es imposible. La resistencia de su sistema depende completamente de sus ranuras PCIe y tarjetas controladoras.

Ajuste y configuración de la caché RAID

La caché RAID se puede ajustar desde tres aspectos:

Ajustar la caché, leer primero, escribir al final.

Ajustar el tamaño del bloque de caché.

Ajustar la duplicación de caché (especialmente importante para controladores de gama media).

Lee primero, escribe al final: Puedes pensar que este ajuste no tendrá un efecto sustancial, pero resulta que no es lo que piensas. Si lees primero, pensará que los datos son continuos. , por lo que a los datos se les puede asignar un espacio de direcciones contiguos. El controlador RAID no conoce la topología del sistema de archivos o de los datos, solo conoce las direcciones de bloques contiguos. Si la unidad de asignación de su sistema de archivos es más pequeña que el tamaño de la banda RAID, si se escriben varios archivos simultáneamente, los archivos se fragmentarán en esas bandas RAID.

Por ejemplo, si el tamaño de asignación del sistema de archivos es 64 KB, el tamaño de banda RAID 5

8 1 es 512 KB y se escriben varios archivos al mismo tiempo, el controlador RAID está haciendo lo máximo es leer los datos que solicitaste, que en este caso son 64KB, o pueden ser otros 64KB si lees continuamente hasta leer toda la tira, esta se lee primero. un bloque de 64 KB. Los datos restantes en la banda provienen de otros archivos, por lo que la lectura primero solo es dañina. La implementación de la lectura primero solo logrará un buen rendimiento si el tamaño de la banda RAID coincide con la unidad de asignación del sistema de archivos.

Escribir después: lee el bloque en el caché para que se pueda escribir. Cuando los datos llegan al caché, envía una respuesta al escritor. La clave aquí es que los datos deben estar alineados en el RAID. strip Si no está alineado, RAID debe completar "lectura-modificación-escritura" (leer los datos de la tira, modificarlos a datos nuevos y luego escribir en la tira). Las consecuencias de esto son una gran sobrecarga y retrasos graves. El caché sirve para ocultar la latencia de escritura en el disco y recibir confirmaciones cuando los datos llegan al caché. El ajuste de la escritura retrasada generalmente requiere especificar cuánto espacio de caché se debe asignar para la prioridad de lectura, además de especificar el tamaño mínimo de bloque de caché que se puede leer o escribir.

Ajustar el tamaño del bloque de caché RAID

El tamaño del bloque de caché es la cantidad mínima de datos que se pueden leer en el caché. Por ejemplo, puede haber una unidad de asignación RAID en un disco. 32 KB Puede considerar que todas las unidades de E/S del disco son de 32 KB, pero si el tamaño del bloque de caché es de 4 KB, entonces el tamaño mínimo de lectura o escritura en el disco debe ser de 4 KB, no de 32 KB, que es 8 veces el tamaño del sector. de los discos actuales, si la unidad de asignación de su sistema de archivos es grande y sus solicitudes de escritura son grandes pero el tamaño del bloque de caché es pequeño, esto puede degradar el rendimiento de RAID.

La mayoría de controladores RAID que he visto son así, cuanto más pequeños son los bloques de caché, más lentos son porque no tienen suficiente potencia de procesador para administrar todos los bloques, tal vez cuando llegue la próxima generación de controladores. out Cambie esta situación (porque el rendimiento del procesamiento aumentará). Los bloques de caché más pequeños son mejores sólo si los datos en la unidad de asignación RAID están desalineados.

Imagínese lo que sucederá cuando la unidad de asignación del sistema de archivos y el tamaño de la banda coincidan con solicitudes de escritura pequeñas y solicitudes de lectura grandes. Cuando ocurren múltiples operaciones de escritura consecutivas, el sistema de archivos no causará fragmentación y lectura graves. -primero entrará en juego, leer primero también ayudará si las lecturas son mayores que las escrituras, todos los controladores RAID considerarán las lecturas como secuenciales, por lo que al ajustar las operaciones de lectura necesita conocer los tamaños de las solicitudes de lectura y escritura, y determinar cuántas Los archivos se escriben al mismo tiempo. Si solo se escribe un archivo al mismo tiempo, lo más probable es que los datos se asignen continuamente hasta que el sistema de archivos se fragmente. La prioridad de lectura traerá grandes beneficios.

Por otro lado, si se están escribiendo varios archivos y el tamaño de escritura y la unidad de asignación del sistema de archivos son más pequeños que el tamaño de la banda, la lectura primero tendrá poco o ningún efecto. Todo se reduce a esto: la lectura primero se aplica cuando las unidades de escritura y asignación son iguales o mayores que el tamaño de la banda RAID cuando se escriben varios archivos.

Ajustar la duplicación de caché

En muchos productos RAID de gama media, la duplicación de caché de escritura es una característica común. Todas las escrituras se reflejan en el controlador RAID y el controlador maneja las solicitudes de E/S. , escríbalo en la otra mitad del caché del controlador. Si los datos están completamente alineados en la banda, algunos proveedores usan algunas técnicas en el controlador para omitir la solicitud de escritura del caché, pero en un entorno normal es Para escribir el reflejo del caché, cada uno. La operación de escritura debe escribirse en la caché y luego escribirse en otra caché antes de emitir un reconocimiento a la solicitud de E/S. Por lo tanto, escribir la duplicación de la caché generalmente reduce el rendimiento porque hay un retraso en la escritura en otras cachés y ocupará un cierto tiempo. cantidad de ancho de banda y cada caché debe reflejarse en otros cachés, por lo que la utilización del espacio de caché se reducirá a la mitad.

Si el fabricante proporciona parámetros de ajuste de caché de lectura o escritura, se pueden ajustar en función de consideraciones de carga y confiabilidad. Una pregunta que escucho a menudo es si los usuarios deberían utilizar la duplicación de caché de escritura, según sus necesidades de confiabilidad de datos. Suponga que está escribiendo en un archivo y escribiendo los datos en un caché que no tiene un sistema de duplicación de caché de escritura. Si todo el controlador falla en este momento (desde el caché al disco), se informará a su aplicación que la escritura se realizó correctamente. pero los datos no. Todavía hay tiempo para escribir en el disco. Aunque la posibilidad de que ocurra un accidente de este tipo es muy pequeña, todavía es posible y tuve la suerte de verlo suceder una vez.

Si realiza una segunda operación de escritura en el mismo archivo, puede encontrar un error de E/S. La mayoría de los RAID se darán cuenta en este momento de que no pueden escribir desde la caché al disco, por lo que el error quedará expuesto. , algunos controladores RAID conmutarán por error al lado de trabajo y su operación se puede completar con éxito, pero en realidad se ha perdido un archivo, pero su aplicación no sabe si el archivo tiene menos contenido escrito, lo que puede desencadenar una serie de errores. reacciones en cadena posteriores, razón por la cual la duplicación de caché de escritura está habilitada de forma predeterminada. Para ajustar la duplicación de caché de escritura es necesario especificar cuánto espacio de caché se reserva para las operaciones de escritura. El interruptor de duplicación de caché de escritura debe estar activado. Si el controlador está dañado, será casi imposible encontrar datos dañados o faltantes.

De hecho, siempre que domines un poco de sentido común sobre los controladores RAID, no es difícil ajustarlo.

Lo que debemos recordar es que la lectura primero es inútil si se escriben varios archivos al mismo tiempo y la unidad de asignación del sistema de archivos es pequeña. El peor ejemplo es NTFS en Windows.