Tamaño de raya raid cuál elegir. Pruebas en puntos de referencia clásicos

Hay muchos artículos en Internet que describen RAID. Por ejemplo, éste describe todo con gran detalle. Pero, como de costumbre, no hay suficiente tiempo para leerlo todo, por lo que necesita algo breve para comprender: si es necesario o no, y qué es mejor usar en relación con el trabajo con DBMS (InterBase, Firebird o algo más). realmente no importa). Ante tus ojos hay exactamente ese material.

En una primera aproximación, RAID es una combinación de discos en una matriz. SATA, SAS, SCSI, SSD: no importa. Además, casi todas las placas base normales ahora admiten SATA RAID. Repasemos la lista de qué son los RAID y por qué lo son. (Me gustaría señalar de inmediato que en RAID es necesario combinar discos idénticos. Consolidar discos de diferentes fabricantes, del mismo pero de diferentes tipos, o de diferentes tamaños: esto es un mimo para una persona sentada frente a una computadora en casa).

RAID 0 (banda)

En términos generales, se trata de una combinación secuencial de dos (o más) discos fisicos en un disco "físico". Solo es adecuado para organizar grandes espacios en disco, por ejemplo, para quienes trabajan con edición de vídeo. de hecho, incluso si su base de datos tiene un tamaño de 50 gigabytes, ¿por qué compró dos discos de 40 gigabytes cada uno y no uno de 80 gigabytes? Lo peor es que en RAID 0, cualquier falla de uno de los discos conduce a la inoperancia total de dicho RAID, porque los datos se escriben alternativamente en ambos discos y, en consecuencia, RAID 0 no tiene medios de recuperación en caso de fallas.

Por supuesto, RAID 0 proporciona un rendimiento más rápido debido a la división de lectura/escritura.

RAID 0 se utiliza a menudo para alojar archivos temporales.

RAID 1 (espejo)

Duplicación de disco. Si Shadow en IB/FB es una duplicación de software (consulte Operations Guide.pdf), entonces RAID 1 es una duplicación de hardware y nada más. Le prohibimos utilizar software de duplicación utilizando herramientas del sistema operativo o software de terceros. Necesita un RAID 1 "de hierro" o una sombra.

Si se produce una falla, verifique cuidadosamente qué disco falló. El caso más común de pérdida de datos en RAID 1 son las acciones incorrectas durante la recuperación (el disco incorrecto se especifica como "completo").

En cuanto al rendimiento, la ganancia para escritura es 0, para lectura, quizás hasta 1,5 veces, ya que la lectura se puede realizar "en paralelo" (alternativamente desde diferentes discos). Para las bases de datos, la aceleración es pequeña, mientras que al acceder a diferentes (!) partes (archivos) del disco en paralelo, la aceleración será absolutamente precisa.

RAID 1+0

Por RAID 1+0 se refieren a la opción RAID 10, cuando dos RAID 1 se combinan en RAID 0. La opción cuando dos RAID 0 se combinan en RAID 1 se llama RAID 0+1, y "afuera" es el mismo RAID 10. .

RAID 2-3-4

Estos RAID son raros porque utilizan códigos Hamming o partición de bytes en bloques. sumas de control etc., pero el resumen general es el siguiente: estos RAID solo brindan confiabilidad, con un aumento de 0 en el rendimiento y, a veces, incluso un deterioro.

RAID 5

Requiere un mínimo de 3 discos. Los datos de paridad se distribuyen en todos los discos de la matriz.

Generalmente se dice que "RAID5 utiliza acceso independiente al disco, por lo que las solicitudes de diferentes discos se puede ejecutar en paralelo". Debe tenerse en cuenta que, por supuesto, estamos hablando de solicitudes de E/S paralelas. Si dichas solicitudes se realizan de forma secuencial (en SuperServer), entonces, por supuesto, no obtendrá el efecto del acceso paralelo. en RAID 5. Por supuesto, RAID5 aumentará el rendimiento si la matriz funciona con Sistema operativo y otras aplicaciones (por ejemplo, contendrá memoria virtual, TEMPERATURA, etc.).

En general, RAID 5 solía ser la matriz de discos más utilizada para trabajar con DBMS. Ahora tal matriz se puede organizar en unidad SATA x, y será significativamente más barato que SCSI. Puedes ver precios y controladores en los artículos.
Además, debe prestar atención al volumen de los discos comprados; por ejemplo, en uno de los artículos mencionados, RAID5 se ensambla a partir de 4 discos con una capacidad de 34 gigabytes, mientras que el volumen del "disco" es de 103 gigabytes.

Prueba de cinco controladores SATA RAID: http://www.thg.ru/storage/20051102/index.html.

Adaptec SATA RAID 21610SA en matrices RAID 5: http://www.ixbt.com/storage/adaptec21610raid5.shtml.

Por qué RAID 5 es malo: https://geektimes.ru/post/78311/

¡Atención! Al comprar discos para RAID5, suelen llevar 3 discos, como mínimo (probablemente por el precio). Si de repente, con el tiempo, uno de los discos falla, puede surgir una situación en la que no sea posible comprar un disco similar a los utilizados (ya no se produce, está temporalmente agotado, etc.). Por lo tanto, una idea más interesante parece ser comprar 4 discos, organizar un RAID5 de tres y conectar el cuarto disco como copia de seguridad (para copias de seguridad, otros archivos y otras necesidades).

Volumen matriz de discos RAID5 se calcula utilizando la fórmula (n-1)*hddsize, donde n es el número de discos en la matriz y hddsize es el tamaño de un disco. Por ejemplo, para una matriz de 4 discos de 80 gigabytes, el volumen total será de 240 gigabytes.

Hay una pregunta sobre la “inadecuación” de RAID5 para bases de datos. Como mínimo, se puede considerar desde el punto de vista de que para obtener una buena Rendimiento RAID 5, necesitas usar un controlador especializado y no el predeterminado en la placa base.

Artículo RAID-5 debe morir. Y más sobre la pérdida de datos en RAID5.

Nota. A partir del 05/09/2005, el costo de SATA disco hitachi 80Gb son 60 dólares.

RAID 10, 50

Luego vienen las combinaciones de las opciones enumeradas. Por ejemplo, RAID 10 es RAID 0 + RAID 1. RAID 50 es RAID 5 + RAID 0.

Curiosamente, la combinación RAID 0+1 resulta ser peor en términos de confiabilidad que RAID5. El servicio de reparación de bases de datos tiene un caso de falla de un disco en el sistema RAID0 (3 discos) + RAID1 (3 más de los mismos discos). Al mismo tiempo, RAID1 no pudo "levantar" el disco de respaldo. La base resultó dañada sin posibilidad de reparación.

RAID 0+1 requiere 4 unidades y RAID 5 requiere 3. Piénselo.

RAID 6

A diferencia de RAID 5, que usa paridad para proteger los datos contra fallas únicas, RAID 6 usa la misma paridad para proteger contra fallas dobles. En consecuencia, el procesador es más potente que en RAID 5, y no 3, sino al menos 5 discos (tres discos de datos y 2 discos de paridad). Además, el número de discos en raid6 no tiene la misma flexibilidad que en raid 5, y debe ser igual a un número simple (5, 7, 11, 13, etc.)

Digamos que dos discos fallan al mismo tiempo, pero ese caso es muy raro.

No he visto ningún dato sobre el rendimiento de RAID 6 (no lo he buscado), pero es muy posible que debido al control redundante, el rendimiento pueda estar al nivel de RAID 5.

tiempo de reconstrucción

Cualquier matriz RAID que permanezca operativa si falla una unidad tiene un concepto llamado tiempo de reconstrucción. Por supuesto, cuando reemplaza un disco muerto por uno nuevo, el controlador debe organizar el funcionamiento del nuevo disco en la matriz, y esto llevará algún tiempo.

Al "conectar" un disco nuevo, por ejemplo, para RAID 5, el controlador puede permitir el funcionamiento de la matriz. Pero la velocidad de la matriz en este caso será muy baja, al menos porque incluso si el nuevo disco está lleno "linealmente" de información, escribir en él "distraerá" al controlador y a los cabezales del disco de las operaciones de sincronización con el resto del disco. discos de la matriz.

El tiempo que lleva restaurar la matriz a su funcionamiento normal depende directamente de la capacidad del disco. Por ejemplo, Sun StorEdge 3510 FC Array con un tamaño de matriz de 2 terabytes en modo exclusivo se reconstruye en 4,5 horas (a un precio de hardware de aproximadamente 40.000 dólares). Por lo tanto, al organizar una matriz y planificar la recuperación ante desastres, primero debe pensar en el tiempo de reconstrucción. Si su base de datos y sus copias de seguridad no ocupan más de 50 gigabytes y el crecimiento anual es de 1 a 2 gigabytes, entonces no tiene sentido ensamblar una matriz de discos de 500 gigabytes. 250 GB serán suficientes, e incluso para raid5 serán al menos 500 GB de espacio para acomodar no solo la base de datos, sino también las películas. Pero el tiempo de reconstrucción para discos de 250 GB será aproximadamente 2 veces menor que para discos de 500 GB.

Reanudar

Resulta que lo más significativo es utilizar RAID 1 o RAID 5. Sin embargo, lo más error común, lo que casi todo el mundo hace es utilizar RAID “para todo”. Es decir, instalan un RAID, acumulan todo lo que tienen y... obtienen confiabilidad en el mejor de los casos, pero ninguna mejora en el rendimiento.

La caché de escritura a menudo tampoco está habilitada, como resultado de lo cual escribir en un raid es más lento que escribir en un solo disco normal. El hecho es que para la mayoría de los controladores esta opción está desactivada por defecto, porque... Se cree que para habilitarlo es deseable tener al menos una batería en el controlador raid, así como la presencia de un UPS.

Texto
El antiguo artículo hddspeed.htmLINK (y doc_calford_1.htmLINK) muestra cómo se pueden obtener mejoras significativas en el rendimiento mediante el uso de varios discos físicos, incluso para un IDE. En consecuencia, si organiza un RAID, coloque la base sobre él y haga el resto (temperatura, sistema operativo, disco virtual) en otros discos duros. De todos modos, el RAID en sí es un "disco", aunque sea más fiable y rápido.
declarado obsoleto. Todo lo anterior tiene derecho a existir en RAID 5. Sin embargo, antes de dicha colocación, debe averiguar cómo puede hacer una copia de seguridad/restaurar el sistema operativo y cuánto tiempo llevará restaurar un " "muerto", si hay (habrá) un disco disponible para reemplazar el "muerto", etc., es decir, necesitará saber de antemano las respuestas a las preguntas más básicas en caso de una falla del sistema. .

Aún así, recomiendo mantener el sistema operativo en una unidad SATA separada o, si lo prefiere, en dos unidades SATA conectadas en RAID 1. En cualquier caso, al colocar el sistema operativo en un RAID, debe planificar sus acciones si la placa base se detiene repentinamente. placa de trabajo: a veces es imposible transferir discos de matriz raid a otra placa base (chipset, controlador raid) debido a la incompatibilidad de los parámetros raid predeterminados.

Colocación de la base, sombra y respaldo.

A pesar de todas las ventajas de RAID, no se recomienda estrictamente, por ejemplo, realizar una copia de seguridad en la misma unidad lógica. Esto no sólo tiene un efecto negativo en el rendimiento, sino que también puede provocar problemas de falta de espacio libre (en bases de datos grandes); después de todo, dependiendo de los datos, el archivo de copia de seguridad puede ser equivalente al tamaño de la base de datos. , y aún más grande. Hacer una copia de seguridad en el mismo disco físico todavía está bien, aunque la mayoría mejor opción- copia de seguridad en un disco duro independiente.

La explicación es muy sencilla. La copia de seguridad consiste en leer datos de un archivo de base de datos y escribirlos en un archivo de copia de seguridad. Si todo esto sucede físicamente en una unidad (incluso RAID 0 o RAID 1), entonces el rendimiento será peor que si se lee desde una unidad y se escribe en otra. El beneficio de esta separación es aún mayor cuando la copia de seguridad se realiza mientras los usuarios trabajan con la base de datos.

Lo mismo se aplica a la sombra: no tiene sentido colocar la sombra, por ejemplo, en RAID 1, en el mismo lugar que la base, incluso en diferentes unidades lógicas. Si hay sombra, el servidor escribe páginas de datos tanto en el archivo de base de datos como en archivo de sombra. Es decir, en lugar de una operación de escritura, se realizan dos. Al dividir la base y la sombra en diferentes discos fisicos El rendimiento de escritura estará determinado por la unidad más lenta.

Este artículo fue preparado por Nikolai Vedyashkin, experto del Centro de servicio Jet Infosystems.

Imaginemos una situación: agregamos una nueva instancia de base de datos o una nueva tarea de respaldo (BK) al servidor de la base de datos, conectamos un servidor adicional a la matriz de discos y en todos estos casos encontramos una disminución en su rendimiento. Entonces puedes ir de diferentes maneras.

Por ejemplo, agregue un servidor de base de datos y transfiérale una instancia de base de datos, agregue unidades de respaldo para acelerar el almacenamiento de datos, actualice los procesadores, etc. Sin embargo, vale la pena recordar que simplemente aumentar la capacidad del hardware es lo menos rentable en términos de costos de material y tiempo. Es mucho más eficaz resolver estos problemas al nivel de la lógica de las soluciones de TI.

Causas del deslizamiento

Los problemas de rendimiento de la matriz a menudo se deben al hecho de que la configuración inicial no tiene en cuenta su arquitectura, principios operativos y limitaciones existentes. Por ejemplo, el talón de Aquiles de las matrices de generaciones anteriores es el rendimiento relativamente bajo de los buses internos: alrededor de 200 Mb/s. No hace mucho, uno de los clientes nos pidió que analizáramos el rendimiento de su matriz de discos y le brindáramos recomendaciones para su optimización. De hecho, la matriz no se cargó y su velocidad periódicamente dejaba mucho que desear. El análisis reveló una configuración incorrecta: en general, durante el día, los discos internos se cargaban aproximadamente por igual, pero los picos de carga se distribuían de manera desigual entre ellos. Como resultado, uno de los autobuses internos quedó sobrecargado. Es decir, la matriz "resbaló" debido a que se excedió el umbral máximo permitido para un componente. Nuestra recomendación (reparticionarlo para cargar los neumáticos interiores de manera uniforme) ayudó a aumentar la productividad en un 30 %.

El error también puede aparecer al conectar servidores a sistemas de almacenamiento. Un ejemplo es una configuración incorrecta de la capacidad del disco que se presenta a los hosts. El hecho es que algunas de las matrices modernas tienen restricciones en un parámetro como la cola de comandos (Queue Depth, QD). Vale la pena profundizar un poco más en la historia aquí. En el estándar SCSI-I, el controlador del servidor SCSI tenía que esperar a que se completara un comando antes de enviar el siguiente. Desde el estándar SCSI-II y superior, el controlador SCSI puede enviar varios comandos (QD) al disco SCSI al mismo tiempo. Cantidad máxima Los comandos SCSI con servicio paralelo son una de las características más importantes del disco. El parámetro IOPS (operación de entrada y salida por segundo) muestra cuántas solicitudes (comandos SCSI) por segundo es capaz de ejecutar el LUN SCSI. Resulta que QD e IOPS pueden entrar en conflicto irreconciliable entre sí.

Es muy posible que las características de E/S en el lado del servidor sean inaceptables, el tiempo de respuesta a las solicitudes sea muy largo y la matriz no esté cargada. La razón radica en: configuración incorrecta de la cola de comandos (más alta de lo permitido): los comandos se cuelgan en el búfer de matriz hasta que llega su turno de ejecución. En el servidor se registran grandes tiempos de servicio.

Si QD es significativamente menor que el valor óptimo, el rendimiento también se verá afectado. Con un tiempo de respuesta excelente y una matriz descargada, la cantidad de solicitudes que procesa será muy pequeña. La razón de esto es la larga espera en la cola antes de enviar solicitudes al sistema de almacenamiento.

Atrapando IOPS por la cola

¿Qué hacer si el tiempo de respuesta está fuera de serie y la matriz no está cargada? ¿O si simplemente desea “exprimir” un poco más la matriz?
Poder:
  • Mire la configuración de Profundidad de la cola en el servidor y compare la cola de comandos máxima permitida con el LUN de la matriz. Ajustar la configuración;
  • Mire las estadísticas de la matriz. Quizás se esté acumulando una cola de comandos al LUN;
  • divida un LUN en varios y conéctelo en el host en banda o al menos en concatenación, según la configuración. La concatenación es útil si la carga se distribuye entre todos los LUN.
  • Elija un tamaño de unidad de banda en el arreglo y el host para que una operación de aplicación típica cargue la menor cantidad posible de discos físicos en el arreglo.

Arroz. 1. Tamaño de la unidad de franjas

Un ejemplo de nuestra experiencia: la combinación servidor-matriz del cliente no mostró el nivel de rendimiento declarado. Como resultado del análisis, resultó que al servidor se le asignó un LUN muy grande (varios terabytes): el rendimiento de las aplicaciones no fue satisfactorio y el LUN en sí estaba sobrecargado con una cola de comandos. Recomendamos dividir este LUN en varios y distribuir los tipos de carga entre diferentes volúmenes. Había 4 instancias de bases de datos girando en el servidor, como resultado, una de ellas comenzó a funcionar 6 veces más rápido y la otra, 2 veces más rápido.

Más no es mejor

Los profesionales de TI del cliente no siempre entienden qué tipo de RAID es el más adecuado para un perfil de carga de aplicación determinado. Todo el mundo sabe que RAID 10 es fiable, resistente a múltiples pérdidas de unidades y demuestra buena velocidad en operaciones aleatorias. No es de extrañar que la mayoría de las veces se elija esta opción tan cara. Sin embargo, si el perfil de carga de la aplicación implica pocas operaciones grabación aleatoria y muchas operaciones de lectura o escritura secuencial, lo óptimo es utilizar RAID 5. En la misma cantidad de discos puede funcionar 1,5 o incluso 2 veces más rápido. Una empresa se acercó a nosotros para mejorar el rendimiento de E/S del disco de una de sus aplicaciones. La aplicación generaba muchas lecturas y pocas escrituras. Se configuró RAID 10 en la matriz y, según las estadísticas, quedó claro que casi la mitad de los discos del grupo RAID estaban inactivos. Con la transición a RAID 5 desde exactamente la misma cantidad de discos físicos, el rendimiento de la aplicación mejoró más de 1,5 veces.

Agradecemos sus comentarios constructivos.

Los problemas de rendimiento afectan a casi todas las empresas que operan un sistema informático. Los ejemplos dados aquí no son los únicos. Muchos problemas asociados con el bajo rendimiento de los arreglos se pueden evitar si se tienen en cuenta la arquitectura y el perfil de carga de la aplicación al configurar el equipo. Al mismo tiempo, la mejora del rendimiento de un sistema informático no debe limitarse a ninguno de sus componentes: un servidor, una matriz, un software o una red de datos. Mejores resultados se puede lograr después de analizar todo el complejo en su conjunto y cambiar la configuración no solo de la matriz, sino también del servidor y las aplicaciones.

Los entusiastas probablemente sabrán cómo realizar estos pasos, pero para aquellos que recién están a punto de familiarizarse con las matrices, dicho material puede resultar útil. Que los seguidores de AMD me perdonen, lo explicaré usando el ejemplo del stand de Wintelidia mencionado anteriormente.

En primer lugar, debe cambiar el modo operativo del controlador del chipset al modo RAID en el BIOS.

Si el cambio se realiza después de instalar el sistema operativo, esto conlleva la pérdida de su funcionalidad y una caída interminable en una pantalla azul. Para resolver este problema, debe utilizar las instrucciones de Microsoft.

Supongamos que todo está bien con esto. Si el sistema operativo aún no se ha instalado, puede ingresar al menú del controlador y crear una matriz en su utilidad. Para hacer esto, necesita tener tiempo para presionar CTRL+I durante la carga.

Si es posible arrancar desde un disco separado, la forma más sencilla es instalar controladores Intel propietarios y utilizar la consola de Rapid Storage Technology. Sujeto a disponibilidad discos adecuados El botón “Crear” estará disponible.

El primer paso es seleccionar el tipo de matriz.

Luego realice la configuración directamente. Es posible no crear un RAID desde cero, sino utilizar un solo disco con datos como base. Además, para todas las matrices (excepto el “espejo”) puede seleccionar el tamaño de la franja de datos, también conocido como tamaño de franja. Esto determina el tamaño de los bloques en los que se dividen los datos. Los valores grandes son útiles para trabajar con archivos grandes, los pequeños, principalmente para pequeñas transacciones estilo DBMS (aunque todo depende en gran medida del DBMS, el tipo de matriz, el tipo de carga, el estado de ánimo de los desarrolladores del firmware del controlador y otros características). Generalmente es mejor dejar la configuración predeterminada.

También puedes habilitar el caché contestar volumen, que está deshabilitado de forma predeterminada. En este caso, los datos escritos en la matriz no se envían inmediatamente a los discos, sino que se almacenan temporalmente en la caché (para un controlador de chipset esto es RAM computadora).

Esto aumenta la velocidad de las operaciones de escritura, pero al mismo tiempo aumenta el riesgo de pérdida de datos en caso de fallas. Todos hacemos “copias de seguridad” (¿¿en serio???) y esperamos RAID-0 máximo rendimiento, por lo que en todas las pruebas de estos arreglos el caché estará habilitado.

También puede administrar el caché de los propios discos en la matriz. Está habilitado de forma predeterminada. Para RAID-1, las mediciones de rendimiento se realizarán sin cachés, ya que en términos de confiabilidad, ya no llega a altas velocidades.

Por cierto, el escenario no es tan exótico. Servidor Windows, al ser un controlador de dominio, siempre desactiva la caché del disco del sistema. Si no hay discreto Controlador RAID y, que obedece únicamente a su controlador, la velocidad de los discos duros disminuirá varias veces. Veamos cómo se comportan los SSD.

En mi caso, deshabilitar el caché a través de Intel RST por alguna razón no funcionó; después de reiniciar, se volvió a encender. Tuve que usar el "Administrador de dispositivos", es decir, desmarcar la casilla de verificación "Permitir el almacenamiento en caché de entradas para este dispositivo" en las propiedades de la matriz RAID.

Esta configuración e Intel RST están interconectados; después de desmarcar la opción "Caché de datos de disco" también pasa al estado "Apagado" y permanece así después de reiniciar.

Como resultado, se probarán las siguientes configuraciones:

  • Vertex 3 RAID-0, tamaño de banda 32 KB;
  • Vertex 3 RAID-0, tamaño de banda 128 KB;
  • Vertex 3 RAID-0, conexión mediante puertos SATA-II;
  • Vertex 3 RAID-0, CPU lenta (dos núcleos activos, HT deshabilitado, 2400 MHz, 1066 MHz de memoria CL7);
  • Vertex 3 RAID-1, caché de disco y matriz habilitado;
  • Vertex 3 RAID-1, caché de disco y matriz deshabilitados;
  • Crucial M4 RAID-0, tamaño de banda de 32 KB;
  • Crucial M4 RAID-1, caché de disco y matriz habilitado;
  • Crucial M4 RAID-1, caché de disco y matriz deshabilitados;
  • Vértice único 3;
  • M4 crucial único;
  • Disco duro WD5000AAKX.

Pruebas en puntos de referencia clásicos

Marca de disco de cristal

Velocidad de lectura lineal, MB/s

Se espera que la velocidad en RAID-0 casi se duplique. El tamaño de la banda prácticamente no tiene ningún efecto en archivos grandes y el punto de referencia no depende del procesador. Pero la conexión SATA-II limita drásticamente las capacidades del sistema al nivel de un solo dispositivo conectado a través de SATA-III.

RAID-1 funciona sorprendentemente rápido; lee desde dos unidades simultáneamente. Anteriormente en pruebas duras Esto no se observó en los discos, pero se trataba de una plataforma y controladores más antiguos. Si es necesario, deberás comprobar un par de discos duros. Velocidad de grabación lineal, MB/s

Habilite JavaScript para ver gráficos.

Todo cambia en el disco. Los M4 pequeños son débiles para escribir, por lo que incluso un solo Vertex 3 pasa por alto el RAID-0 de dos unidades Crucial. Puedes ver que tener el caché deshabilitado no reduce significativamente la velocidad de los mirrors. Velocidad de lectura aleatoria (bloque de 512 KB), MB/s

Habilite JavaScript para ver gráficos.

Sorprendentemente, cuando se lee en bloques grandes, las "rayas" se ralentizan significativamente y los líderes son las matrices RAID-1 y sin caché. No parece un error: tanto Vertex 3 como M4 se comportan igual. Velocidad de escritura aleatoria (bloque de 512 KB), MB/s

Habilite JavaScript para ver gráficos.

EN en este caso la imagen permaneció similar a la de la grabación lineal. Excepto que el disco mecánico disminuyó la velocidad casi a la mitad. Velocidad de lectura aleatoria (bloque de 4 KB), MB/s

Habilite JavaScript para ver gráficos.

Generalmente sucede así: al comprobar el tiempo de acceso de lectura pura, las matrices sólo estorban. Velocidad de escritura aleatoria (bloque de 4 KB), MB/s

Habilite JavaScript para ver gráficos.

Las pequeñas solicitudes de escritura se pueden almacenar en caché, por lo que la mayoría de los sistemas funcionan significativamente mejor que las solicitudes de lectura. La excepción son las configuraciones sin caché; el M4 parece especialmente deplorable. Aparentemente, la configuración desactiva su caché de 128 MB, sin el cual el SSD cae al nivel de un disco duro. Pero SandForce no instala un caché, es suficiente para ellos.

Por cierto, preste atención a cuánta dependencia del procesador se ha manifestado. El uso de CPU en esta prueba es realmente alto. Velocidad de lectura aleatoria (bloque 4 KB, longitud de cola 32), MB/s

Habilite JavaScript para ver gráficos.

En la cola profunda, los "héroes de Marvel" son simplemente increíbles: cien mil IOPS por un dinero ridículo. Velocidad de escritura aleatoria (bloque 4 KB, longitud de la cola 32), MB/s

Habilite JavaScript para ver gráficos.

Múltiples escrituras paralelas permiten que un único Vertex, espejos sin caché y un sistema con una CPU lenta recuperen el rendimiento. Todos los participantes (excepto el disco duro) funcionan como en el escenario de bloque grande.

PCMark 7

Defensor de Windows, MB/s

Habilite JavaScript para ver gráficos.


importar imágenes, MB/s

Habilite JavaScript para ver gráficos.


Edición de vídeo, MB/s

Habilite JavaScript para ver gráficos.


ventanas Centro de medios, MB/s

Habilite JavaScript para ver gráficos.


añadiendo música, MB/s

Habilite JavaScript para ver gráficos.


aplicaciones de inicio, MB/s

Habilite JavaScript para ver gráficos.


juegos, MB/s

Habilite JavaScript para ver gráficos.


puntuación de almacenamiento, puntos

Habilite JavaScript para ver gráficos.

Sólo hay diversidad en la prueba de importación de imágenes, que está dominada por Vertex.

IntroducciónLa duplicación de dispositivos y la paralelización de cargas es una idea bastante popular en el mercado moderno. computadoras personales. Los entusiastas suelen recurrir a la creación de subsistemas de vídeo que utilizan dos o más tarjetas graficas, y aquellos usuarios que necesitan insuperable rendimiento informático, a menudo dependen de estaciones de trabajo multiprocesador. Se puede aplicar un enfoque similar al subsistema de disco: una forma bastante sencilla de aumentar su velocidad es formar una matriz RAID a partir de un par (o más) discos duros. Las matrices de nivel 0 (bandas) implican dividir toda la información almacenada en partes iguales, que se distribuyen uniformemente en varias unidades físicas. Como resultado, debido a la lectura y escritura de datos en paralelo en varias unidades a la vez, la velocidad de funcionamiento de dicho sistema en comparación con una sola unidad se puede aumentar varias veces.

De hecho, en los albores de la proliferación de SSD de consumo, hubo discusiones bastante populares sobre cuántas matrices RAID de discos duros podrían proporcionar un rendimiento comparable a la velocidad de una unidad flash. Por supuesto, ahora estos tiempos han pasado irrevocablemente. La introducción del estándar SATA 6 Gbit/s y la aparición de una nueva generación de controladores para unidades de estado sólido llevó al hecho de que la velocidad SSD modernos se han alejado demasiado del nivel de rendimiento que pueden proporcionar los discos magnéticos tradicionales. Sin embargo, surgió otra pregunta igualmente interesante: ¿es posible aumentar aún más el rendimiento del subsistema de disco si se ensamblan varios SSD en una matriz RAID 0?

De hecho, las razones por las que la tecnología RAID no debería tener un efecto positivo en el caso de los SSD no son visibles a primera vista. Las unidades de estado sólido funcionan bien cuando se trabaja con pequeños bloques de datos y los controladores RAID del chipset ofrecen comunicación directa con el procesador con un ancho de banda suficiente para alcanzar velocidades varias veces más rápidas que SATA de 6 Gbps. Por lo tanto, puede esperar un aumento significativo en el rendimiento del RAID 0 basado en un SSD. La idea parece especialmente atractiva porque no implica costes adicionales. La capacidad total de una matriz RAID 0 es la suma de las capacidades de las unidades incluidas en ella y el costo de las SSD es directamente proporcional a su capacidad. Es decir, si utilizamos un controlador RAID "gratuito" integrado en el chipset de la placa base para crear una matriz, al final obtendremos aproximadamente el mismo costo de almacenar un gigabyte de información que en el caso de un solo disco más grande.

Teniendo en cuenta el aparente atractivo de crear matrices RAID 0 a partir de unidades de estado sólido, decidimos probar su funcionamiento en la práctica. Kingston tuvo la amabilidad de proporcionarnos dos SSD de 120 GB y uno de 240 GB de su serie HyperX superior para realizar pruebas, lo que lo hizo posible. comparación directa RAID 0 es una matriz de dos discos con una sola unidad de la misma capacidad.

Más sobre Kingston HyperX SSD

Unidades serie kingston Los SSD HyperX son soluciones típicas basadas en controladores SandForce de segunda generación dirigidas a entusiastas. Se basan en el conocido chip SF-2281 y están equipados con una memoria NAND síncrona de 25 nm fabricada por Intel o Micron. En pocas palabras, las unidades HyperX utilizan una versión de alto rendimiento de la plataforma SandForce actual y sus componentes internos son similares a los modelos populares como Corsair Force Series GT o OCZ Vertex 3.

Reflejos Kingston HyperX En comparación con unidades SandForce similares, las SSD solo tienen un diseño de carcasa más llamativo y programa propietario Caja de herramientas que le permite ver información diversa sobre el disco, incluido el significado de los atributos S.M.A.R.T.

Esta utilidad es sorprendentemente similar a OCZ Toolbox sin la función de actualización de firmware (Kingston ofrece un programa especializado para esto) y sin la función de borrado seguro.



Como todas las demás unidades con controladores SandForce, ruedas kingston Los SSD HyperX con una capacidad de 120 y 240 GB difieren en rendimiento. Las especificaciones oficiales reflejan esto de la siguiente manera:



La razón de las diferencias es el número de dispositivos finales NAND utilizados en el SSD. Dado que los chips de memoria flash MLC de 25 nm tienen una capacidad de 8 GB, el disco de 120 GB contiene 16 dispositivos flash, mientras que la versión más grande tiene 32 dispositivos. Teniendo en cuenta que el controlador SandForce SF-2281 tiene una arquitectura de ocho canales, las unidades con diferentes capacidades se ven obligadas a utilizar la técnica de llamadas alternas a dispositivos flash con diferentes multiplicidades para cada canal. Entonces, en el caso de un SSD de 120 GB, el entrelazado es doble, y en el caso de un disco de 240 GB, es cuatro. Una alta frecuencia de rotación garantiza más rendimiento alto, ya que en lugar de esperar a que el dispositivo NAND esté listo después de la siguiente operación, el controlador tiene la oportunidad de pasar al servicio del siguiente dispositivo. En esencia, esto es similar a la implementación del enfoque RAID 0, pero dentro de la unidad, en el nivel del controlador SandForce.

Sistema de prueba

Para probar las unidades SSD, montamos un sistema especial integrado en una placa base con un chipset Intel H67, que, como se sabe, tiene un par de puertos SATA de 6 Gbit/s. Es en estos puertos donde probamos las unidades de estado sólido.

En general, la configuración de prueba incluye el siguiente conjunto de equipos:

Procesador: Intel Core i5-2400 (Sandy Bridge, 4 núcleos, 3,1 GHz, tecnologías EIST y Turbo Boost – deshabilitado);
Placa base: Foxconn H67S ( Versión de BIOS A41F1P01);
Memoria: 2 x 2 GB DDR3-1333 SDRAM DIMM 9-9-9-24-1T;
Unidad del sistema: Crucial m4 256 GB (CT256M4SSD2);
Pruebas de manejo:

Kingston HyperX 120 GB (SH100S3/120G, firmware 332);
Kingston HyperX 240 GB (SH100S3/240G, firmware 332);

Sistema operativo: Microsoft Windows 7 SP1 Ultimate x64;
Conductores:

Controlador de chipset Intel 9.2.0.1030;
Controlador de gráficos Intel HD 15.22.1.2361;
Intel Motor de gestión Conductor 7.1.10.1065;
Tecnología Intel de almacenamiento rápido 10.8.0.1003.

Problemas al configurar RAID 0 desde SSD

Para crear una serie de unidades SSD, decidimos utilizar un controlador RAID estándar integrado en conjuntos lógicos de sistemas modernos. Los controladores SATA con chipset funcionan bien cuando se trabaja con SSD individuales y son bastante adecuados para nuestros propósitos, especialmente porque el soporte RAID nativo ya está disponible en la mayoría de los sistemas modernos, es decir, no requieren costos financieros adicionales.

Nuestro estándar plataforma de prueba basado en el procesador LGA1155 y placa base con el chipset H67, cuyo controlador SATA tiene soporte integrado para matrices RAID. Para activarlo, debe cambiar el modo de funcionamiento del controlador SATA de AHCI a RAID en el BIOS. Sin embargo, simplemente cambiando la opción correspondiente en Configuración del BIOS Lo más probable es que conduzca a la inoperancia del sistema operativo, expresada en la aparición de una "pantalla azul" en la etapa de arranque. La razón es que controlador RAID En Windows está deshabilitado de forma predeterminada. Hay dos formas de solucionar este problema. O reinstale Windows nuevamente, en modo RAID, y luego el controlador necesario se encenderá automáticamente durante la instalación. O, inmediatamente antes de cambiar la configuración del controlador SATA en el BIOS, establezca el valor de la variable Inicio ubicada en el registro del sistema en la rama HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Iastorv en 0 y luego reinstale la tecnología Intel Rapid Storage. (RST) El controlador del controlador SATA ya está en modo RAID.

Después de encender modo RAID e implementación en el sistema conductores necesarios, puede proceder directamente a formar la matriz. Se crea por medio Controladores Intel PRIMERO. En el proceso, solo necesita especificar los discos que se incluirán en la matriz y su modo de funcionamiento: RAID 0.



Todas las demás configuraciones se realizan automáticamente, pero si lo desea, puede cambiar el tamaño del bloque de banda (predeterminado: 128 KB) y habilitar el almacenamiento en caché de escritura integrado en el controlador (puede provocar pérdida de información durante apagados repentinos del sistema).



Por razones obvias, no recomendamos habilitar el almacenamiento en caché, especialmente porque el propio sistema operativo ofrece una funcionalidad similar. En cuanto al tamaño de la banda (bloques en los que se dividen las operaciones del disco para su distribución entre las unidades que componen la matriz), confiar ciegamente en los 128 KB que ofrece el controlador no es el enfoque más razonable. Un tamaño de banda grande tiene sentido para unidades con discos magnéticos, ya que realizan operaciones lineales de lectura y escritura en bloques grandes mucho más rápido que las operaciones en bloques pequeños que requieren un reposicionamiento intensivo del cabezal. Los SSD, por otro lado, tienen tiempos de acceso muy rápidos, por lo que elegir bloques de franjas pequeños puede proporcionar un mejor rendimiento en operaciones con archivos pequeños.

Y aunque la velocidad de un solo Kingston HyperX SSD de 120 GB cuando se trabaja con bloques de datos aumenta al aumentar el tamaño del bloque, esto no significa nada.


El controlador Intel Rapid Storage Technology (RST) es capaz de manejar de forma inteligente la cola de solicitudes, proporcionando matrices RAID 0 de alta velocidad desde SSD y cuando se utilizan pequeños bloques de bandas. Para comprobarlo, evaluamos características básicas rendimiento de una matriz RAID 0 que consta de un par de SSD Kingston HyperX de 120 GB con diferentes tamaños de banda.

Tamaño de la franja de datos = 4 KB:



Tamaño de la franja de datos = 8 KB:



Tamaño de la franja de datos = 16 KB:



Tamaño de la franja de datos = 32 KB:



Tamaño de la franja de datos = 64 KB:



Tamaño de la franja de datos = 128 KB:



Como muestran los resultados de AS SSD Benchmark, los indicadores de velocidad de la matriz con bloques de franjas de diferentes tamaños son bastante similares. Sin embargo, se puede rastrear la dependencia de la velocidad de las operaciones secuenciales, así como la velocidad de trabajar con bloques pequeños con una gran profundidad de cola, del tamaño de la franja. La mejor combinación de rendimiento de la matriz se logra utilizando bloques de 32K, por lo que obviamente la configuración predeterminada no es óptima. Porque tamaño más pequeño stripe es más beneficioso cuando se trabaja con archivos pequeños; cuando se utilizan discos basados ​​en la plataforma SandForce de segunda generación, recomendamos utilizar un tamaño de bloque de 32 KB. Fue con esta configuración que creamos la matriz utilizada en la parte principal de la prueba.



Al crear matrices RAID, es importante tener en cuenta un detalle más importante. Tan pronto como se forma la matriz, el sistema comienza a considerarla como un todo y el acceso directo a las unidades que la componen se vuelve imposible. Este es un momento bastante desagradable que promete serios inconvenientes prácticos. Tener una matriz RAID de unidades SSD, no podrá actualizar su firmware, ni ver los parámetros S.M.A.R.T, ni realizar la operación de borrado seguro. Pero lo más desagradable es que, dadas las características específicas de dicha matriz, el sistema operativo no podrá enviar a las unidades el comando TRIM, mediante el cual es posible contrarrestar eficazmente la degradación del rendimiento del SSD.

Actuación

Velocidad de azar y lectura secuencial/registros de una unidad "nueva"

Usamos la prueba CrystalDiskMark 3.0.1 para medir velocidades de lectura y escritura aleatorias y secuenciales. Este punto de referencia es conveniente porque le permite medir características de velocidad Unidades SSD tanto con datos aleatorios incompresibles como cuando se utilizan datos de plantilla totalmente comprimibles. Por lo tanto, los siguientes diagramas muestran dos números cada uno: la velocidad máxima y mínima del variador. Por lo tanto, los indicadores reales estarán dentro de los rangos mostrados, dependiendo de cómo el controlador SF-2281 pueda comprimirlos.

Tenga en cuenta que los resultados de las pruebas de rendimiento presentados en esta sección se refieren al estado "nuevo" (FOB - recién salido de la caja) no degradado de la unidad.


















En términos de indicadores prácticos de rendimiento, un SSD de 120 GB es significativamente más lento que su homólogo de 240 GB. Sin embargo, una matriz RAID 0 de un par de unidades de 120 GB aún supera a una sola unidad de 240 GB. Como puede ver, la tecnología RAID 0 le permite ganar velocidad en operaciones lineales y cuando se trabaja con bloques pequeños cuando se utiliza una cola de solicitudes profunda. Las operaciones aleatorias ordinarias con bloques de 4 KB no se aceleran, e incluso se produce cierta desaceleración debido a retrasos debido a la necesidad de arbitraje adicional;

Degradación y rendimiento en estado estable.

Desafortunadamente, las unidades SSD no demuestran la característica de alta velocidad de un estado "nuevo" todo el tiempo. En la mayoría de los casos, el rendimiento se degrada con el tiempo y en la vida real no estamos ante las mismas velocidades de escritura que se muestran en los diagramas de la sección anterior. La razón de este efecto es que a medida que se agotan las páginas libres en la memoria flash, Controlador SSD surge la necesidad de realizar operaciones de limpieza de bloques de página antes de guardar los datos, lo que añade retrasos importantes.

Por ejemplo, si escribimos datos continuamente en una unidad flash, la dependencia de la velocidad de escritura con el tiempo tomará aproximadamente la siguiente forma.



En algún momento, hay una fuerte disminución en la velocidad de escritura, y esto sucede justo cuando volumen total La información registrada se compara con Capacidad SSD. Obviamente, el usuario está más interesado en la velocidad que tendrá durante el funcionamiento prolongado de la unidad, y no en ese corto período de tiempo después de instalar un nuevo SSD, durante el cual la unidad flash muestra los máximos resultados. Ellos mismos Fabricantes de SSD, por el contrario, informan los parámetros de velocidad sólo de discos "nuevos", ya que presentan sus productos de la manera más favorable. Teniendo esto en cuenta, decidimos investigar la caída en el rendimiento cuando una unidad pasa de un estado "nuevo" a un estado "usado" en un estado estable.

Sin embargo, la imagen de una caída catastrófica de la velocidad que se muestra en el gráfico anterior es algo artificial y es típica sólo en el caso de grabación continua y sin parar. En realidad, cuando están en reposo, los controladores de los discos SSD modernos restauran parcialmente el rendimiento liberando primero las páginas de memoria flash no utilizadas. A esto apuntan dos algoritmos clave: Idle-Time Garbadge Collection (recolección de basura) y TRIM. Sin embargo, en el caso de una matriz RAID 0, la situación se complica por el hecho de que el sistema operativo no tiene acceso directo al SSD, por lo que la tecnología TRIM no funciona. En este sentido, es muy probable que después de un tiempo de funcionamiento, un solo disco resulte significativamente mejor que una matriz RAID.

Nadie se molesta en comprobar esta suposición. Para obtener una imagen de la degradación de los discos y matrices RAID 0, realizamos pruebas especiales basadas en la metodología SNIA SSSI TWG PTS. Su esencia es que medimos secuencialmente la velocidad de las operaciones de escritura en cuatro casos. Primero, para el estado "nuevo" de la matriz y las unidades. Luego, después de que las unidades y la matriz RAID estén completamente llenas dos veces con información. Luego, después de una pausa de media hora, lo que le da al controlador la oportunidad de restaurar parcialmente el rendimiento de la unidad mediante una operación de recolección de basura. Y finalmente, después de ejecutar el comando TRIM.

Las mediciones se realizaron utilizando el banco de pruebas sintético IOMeter 1.1.0 RC1, en el que monitoreamos la velocidad de escritura aleatoria cuando se trabaja con bloques alineados en páginas de memoria flash de 4 KB con una profundidad de cola de solicitudes de 32 comandos. Durante las pruebas, se utilizó el llenado con datos pseudoaleatorios.



La degradación de la productividad no es una frase vacía, sino real problema existente. Como puede ver, la velocidad de los discos realmente disminuye significativamente. Además, por triste que parezca, la recolección de basura para unidades basadas en el controlador SF-2281 prácticamente no funciona. A pesar de que las unidades con esta arquitectura tienen un área de reserva de aproximadamente el 7% de la capacidad total, esto no les ayuda en absoluto. Sólo el comando TRIM devuelve el rendimiento a un nivel más o menos normal. Sin embargo, dado que no funciona con matrices RAID, en última instancia, las unidades individuales pueden ofrecer un rendimiento de escritura mucho mejor que una matriz compuesta por ellas.

Todo esto significa que las velocidades de escritura que se muestran en los diagramas de la sección anterior reflejan sólo una pequeña parte del panorama general. De hecho, una vez que los SSD pasen de ser nuevos a usados, los resultados cambiarán radicalmente. La velocidad de grabación en este caso será completamente diferente: los resultados de su medición utilizando el punto de referencia CrystalDiskMark 3.0.1 se muestran en los siguientes diagramas.









Como puedes ver, durante el uso la velocidad Operación RAID 0 de una matriz SSD se reduce hasta tal punto que en operaciones con bloques de 4 KB se vuelve incluso más lento que una sola unidad de 120 GB, cuyo rendimiento se mantiene en buen nivel Comando RECORTAR. Entonces, en la vida real, la creación de una matriz RAID 0 a partir de un SSD se justifica principalmente por las altas velocidades de lectura, que no están sujetas a reducción a medida que el disco se llena de datos.

Pruebas en Futuremark PCMark 7

La conocida prueba PCMark 7 incluye un punto de referencia independiente para medir el rendimiento del subsistema de disco. Además, no es de carácter sintético, sino que, por el contrario, se basa en cómo funcionan con el disco. aplicaciones reales. Este punto de referencia reproduce escenarios reales: rastros de uso del disco en tareas comunes y mide la velocidad de su ejecución. Además, la reproducción del flujo de comandos no se realiza de forma completa, sino como sucede en la realidad, con ciertas pausas debido a la necesidad de procesar los datos entrantes. El resultado de la prueba es el índice de rendimiento general del subsistema de disco y los indicadores de velocidad en escenarios individuales en megabytes por segundo. Tenga en cuenta que el rendimiento en escenarios en términos absolutos es relativamente bajo, ya que lo contribuyen esas pausas muy simuladas entre operaciones de E/S individuales. En otras palabras, lo que informa PCMark 7 es la velocidad del subsistema de disco en el lado de la aplicación. Estos valores nos brindan información no tanto sobre el rendimiento puro de las unidades, sino sobre los beneficios prácticos que un SSD en particular puede aportar en el trabajo real.

Realizamos pruebas de PCMark 7 con unidades en estado "usado", en el que funcionan en sistemas reales la mayor parte del tiempo. Los resultados en este caso están influenciados no solo por la velocidad del controlador y la memoria flash instalada en la unidad, sino también por la eficiencia de los algoritmos internos del SSD destinados a restaurar el rendimiento.



La puntuación integral de PCMark 7 es una guía excelente para aquellos consumidores que no quieren entrar en detalles y se contentan con una simple ilustración del rendimiento relativo de las unidades. Y, si cree en las calificaciones recibidas, la matriz RAID 0 tiene en general mejor rendimiento que un solo disco de capacidad similar. Si tenemos en cuenta que la mayoría de los escenarios de uso del subsistema de disco en la vida real implican un predominio de operaciones de lectura, los resultados obtenidos parecen bastante lógicos y confiables.

Para completar la imagen, también debe familiarizarse con los resultados intermedios de los discos mostrados y la matriz RAID al pasar los rastros de prueba individuales. Además, en algunas situaciones las diferencias de rendimiento alcanzan dimensiones aún más impresionantes.





















Como puede ver, existen escenarios en los que las matrices RAID de SSD en la plataforma SandForce de segunda generación están contraindicadas. Obviamente, esta imagen se observa en los casos en que se requiere el subsistema de disco. trabajo activo con pequeños datos. En este caso, estos son los escenarios Gaming y Windows Defender.

Pruebas en Intel NAS Performance Toolkit

Intel NASPT es otra prueba de subsistema de disco del mundo real. Al igual que PCMark 7, reproduce patrones típicos de actividad del disco preparados previamente y mide simultáneamente la velocidad de su paso. Este punto de referencia, junto con PCMark 7, le permite obtener una excelente ilustración del rendimiento del subsistema de disco en problemas reales. Al igual que en el caso anterior, realizamos pruebas con unidades en un estado estable "usado".



Intel NASPT claramente coloca la matriz RAID 0 que consta de un par de unidades de 120 GB en primer lugar en términos de rendimiento. Además, según los datos de las pruebas, la velocidad de una matriz de dos discos de este tipo es casi el doble que el rendimiento de un solo SSD. Sin embargo, un éxito tan notable de la tecnología RAID puede eclipsar algunos de los resultados obtenidos en subpruebas individuales.




































Todo está bien siempre que se trate de leer información. Cuando los escenarios de prueba incluyen grabación, el SSD único de 240 GB demuestra velocidades más rápidas.

Conclusiones

Desafortunadamente, según los resultados de nuestras pruebas, no podremos dar una respuesta definitiva a la pregunta sobre la conveniencia de construir una matriz RAID 0 a partir de unidades de estado sólido modernas. Este enfoque tiene sus ventajas, pero también graves desventajas, y al concluir el material sólo podemos colocarlas en la balanza, dejando que el lector llegue a su propia conclusión final.

Crear una matriz RAID 0 es una de las formas tradicionales de mejorar el rendimiento del subsistema de disco. Esta técnica funciona bastante bien para SSD; combinar un par de discos en una matriz realmente permite aumentar la cantidad. velocidades lineales y la velocidad de las operaciones en bloques pequeños con una cola de solicitudes profunda. Así, durante las pruebas, pudimos obtener velocidades de lectura y escritura secuenciales realmente impresionantes para la matriz, superando significativamente rendimiento interfaz sata 6 Gbps

Pero no debemos olvidar que la velocidad de la modernidad unidades de estado sólido a medida que aumenta su capacidad, aumenta incluso dentro de un línea de productos, por lo que una matriz de nivel 0 de dos discos a veces puede tener un rendimiento inferior a un modelo de unidad de mayor capacidad. Aún más problema grave El problema con una matriz RAID desde un SSD es que la mayoría de los controladores SATA, incluidos los integrados en los conjuntos de chips modernos, no admiten el comando TRIM. Como resultado, en el proceso uso práctico la matriz se degrada significativamente en la velocidad de escritura, mientras que los discos individuales están sujetos a este efecto en mucha menor medida.

Como resultado, RAID 0 supera claramente a un solo disco sólo en operaciones lineales, mientras que las solicitudes aleatorias exponen puntos débiles este enfoque. En otras palabras, considerar que una matriz RAID 0 es una solución más productiva que una sola unidad flash sólo se puede hacer con serias reservas. Sin embargo, en la mayoría de las pruebas basadas en escenarios uso real subsistema de disco, la matriz aún mostró un mayor rendimiento. Es decir, en promedio, RAID 0 se justifica, especialmente porque no requiere ningún costo financiero adicional: el costo por gigabyte en la configuración final es el mismo tanto para la matriz como para un solo disco.

Sin embargo, el uso de un SSD como parte de una matriz genera algunos inconvenientes adicionales. Para las unidades ensambladas en una matriz, es imposible rastrear su "estado de salud" y actualizar su firmware. Además, un sistema que consta de un par de SSD tiene menor confiabilidad que un solo disco y la falla de al menos una unidad provocará la pérdida de todos los datos almacenados en la matriz.

Nos enfrentamos al problema de que la mayoría de los servidores adquiridos por los usuarios de nuestros programas vienen con una matriz de discos configurada en Nivel de RAID 5. Posteriormente administradores de sistemas no quieren perder el tiempo reconfigurando, o simplemente tienen miedo de cambiar algo en una computadora que ya está configurada y en funcionamiento. Como resultado, el rendimiento de trabajar con una base de datos instalada en dicho servidor resulta ser menor que en el anterior, que funcionó en la empresa durante 3 a 4 años. Probablemente, el deseo de los proveedores de configurar la matriz de discos en el nivel RAID 5 pueda explicarse por el deseo de sorprender al cliente. tamaño enorme espacio en disco. Los administradores de sistemas, a su vez, a menudo simplemente no tienen conocimientos suficientes sobre cómo funciona una matriz RAID de un nivel u otro. El propósito de este artículo es responder dos preguntas:

¿Por qué no puedo usar RAID 5 para un servidor de base de datos?

¿Cómo configurar de manera óptima un controlador RAID para alojar una base de datos del servidor Firebird?

Inmediatamente hagamos una reserva de que las conclusiones extraídas en este artículo no se aplican a aquellos raros casos en los que la base de datos se utiliza exclusivamente (o principalmente) con fines de solo lectura.

¿Cómo funciona RAID 5?

Veamos un diagrama simplificado de cómo funciona una matriz de cuatro discos. Uno de los discos está asignado para almacenar la suma de comprobación. Hay tres disponibles para la colocación de datos. En la imagen siguiente, discos con información útil denominados A, B y C. La unidad D almacena las sumas de verificación.

La cantidad mínima de información que el controlador lee o escribe en un disco se llama banda(banda). Los parámetros de la mayoría de controladores que hemos encontrado no indican el tamaño de la tira, sino el tamaño. raya(franja): un bloque de información que se distribuye en todos los discos de la matriz. En la siguiente figura, una franja está resaltada en un color más oscuro:


El tamaño de la franja es igual al tamaño de la franja multiplicado por la cantidad de discos en la matriz. Aquellos. en el caso de cuatro discos y un tamaño de banda de 64K, la cantidad mínima de información que el controlador es capaz de escribir o leer del disco es 64/4 = 16K.

La suma de comprobación que va al disco D se calcula mediante la siguiente fórmula:

D = A x o B x o C

Debido a la transitividad de la operación xor, si uno de los discos con información útil falla, se puede restaurar xorando los datos de los discos restantes, incluido el disco con la suma de comprobación. Por ejemplo, la unidad B ha fallado.


Al solicitar un bloque de información del disco B, el controlador lo restaurará mediante la fórmula:

B = A x o C x o D

El servidor Firebird intercambia páginas de datos con el subsistema de disco. El tamaño de página óptimo en la mayoría de los casos es 8K, lo cual es mucho tamaño más pequeño raya y en la mayoría de los casos incluso menos que el tamaño de la tira. Las situaciones en las que se escriben páginas secuenciales en el disco también son bastante raras. Por lo tanto, si en nuestro ejemplo se escribe información en el disco A, entonces el controlador deberá realizar las siguientes operaciones:

  1. Lea los datos de la tira de las unidades B y C. Dos operaciones de lectura.
  2. Calcule una nueva suma de comprobación. Dos operaciones xor.
  3. Escriba información en el disco A y suma de comprobación en el disco D. Dos operaciones de escritura.

En total, dos lecturas, dos escrituras y dos operaciones xor. Sería sorprendente que, con tal volumen de trabajo, la productividad general no cayera. Ahora resulta obvio por qué RAID 5 no es adecuado para alojar un archivo de base de datos.

Una característica importante de RAID 5 es caída significativa en el rendimiento cuando falla uno de los discos de la matriz. Después de todo, ahora para recuperar información de este disco, es necesario leer y reordenar los datos de todos los demás discos.

Sin embargo, como toda regla, la nuestra también tiene su excepción. El rendimiento de una matriz de discos RAID 5 no se degradará si el tamaño de la caché no volátil del controlador es comparable al tamaño del archivo de base de datos. Por ejemplo, con un tamaño de memoria caché de 512 MB, es muy posible utilizar una matriz RAID de quinto nivel para bases de datos de hasta 1-1,5 GB. Siempre que el servidor se dedique únicamente a trabajar con la base de datos y no realice otras tareas.

Vale la pena señalar que el esquema de operación RAID 5 anterior se debe a razones metodológicas. seriamente simplificado. En realidad, el controlador distribuye franjas cíclicamente entre todos los discos de la matriz, por lo que no hay un disco dedicado para almacenar sumas de comprobación. Todos los discos almacenan tanto datos como sumas de verificación de diferentes franjas, lo que le permite igualar la carga en ellos.

¿Qué nivel de RAID debo elegir?

Si RAID 5 no es adecuado, ¿qué nivel debo elegir para alojar el archivo de base de datos? Si la cantidad de discos es inferior a cuatro, la única opción es un espejo (RAID 1). Si la matriz tiene cuatro o más discos, entonces RAID 10 es óptimo en términos de rendimiento y confiabilidad: combina (RAID 0) varios espejos (). RAID 1). A veces puedes verlo escrito como RAID 1+0. La siguiente figura muestra una matriz RAID 10 de cuatro unidades. Los datos de una franja están resaltados en tono oscuro. El sombreado muestra un duplicado de esa franja.

Tenga en cuenta también que si una matriz RAID 5 puede sobrevivir a la pérdida de un solo disco, entonces una RAID 10 de m espejos con dos discos sobrevivirá a la pérdida de uno a m discos, siempre que no falle más de un disco en cada espejo.

Intentemos comparar cuantitativamente las matrices RAID 5 y RAID 10, cada una de las cuales tiene n discos. n es múltiplo de dos. Supongamos que el tamaño del bloque de datos de lectura/escritura sea igual al tamaño de la tira. La siguiente tabla muestra el número requerido de operaciones de lectura/escritura de datos y xoring.


Se puede ver claramente que la matriz RAID 10 no sólo tiene un mayor rendimiento de escritura, sino que tampoco permite una degradación general del rendimiento cuando falla una unidad.

¿Cómo configurar un controlador RAID?

Tamaño de caché

Cuanto más, mejor. Lo principal es que el controlador tiene una batería (acumulador) para guardar el contenido de la memoria cuando parada de emergencia nutrición. Para muchos controladores, la batería no está incluida de serie y debe pedirse por separado. Sin batería, la caché de escritura se desactivará.

Nivel de RAID

RAID 10. Si la cantidad de discos es inferior a cuatro, entonces RAID 1 (espejo). ¿Por qué? Lea el artículo desde el principio.

Tamaño de la raya

El tamaño de la página de la base de datos multiplicado por el número de espejos en la matriz. Por ejemplo, si la matriz tiene 8 discos, combinados en cuatro espejos de dos discos cada uno, y el tamaño de la página de la base de datos es 8K, entonces el tamaño de la franja debe establecerse en 8 * 4 = 32K.

Leer con anticipación

Dado que el acceso secuencial a las páginas de la base de datos es muy raro y ellas mismas, como resultado de la fragmentación, pueden ubicarse en diferentes lugares del disco, la lectura anticipada debe estar deshabilitada o se debe usar el modo adaptativo (lectura anticipada en el caso de acceso secuencial a dos páginas consecutivas).

Escribir política de caché

Seleccione el modo de reescritura. Los datos se almacenarán en caché y luego se escribirán en el disco. La operación de escritura se considerará completa tan pronto como los datos se coloquen en la memoria caché.

Disco de repuesto

Si las capacidades del controlador lo permiten, se recomienda incluir un disco de respaldo en la matriz. Un disco de este tipo está en estado de espera durante el funcionamiento normal. Si uno de los discos duros en funcionamiento falla, se agrega automáticamente un disco de respaldo a la matriz.




Arriba