Ayúdame a elegir una combinación de nivel RAID para una instancia de SQL Server 2008


11

Voy a reconstruir un servidor IBM 3400 desde cero. Este servidor está dedicado a una instancia de SQL Server 2008 que se ejecuta en Windows 2008 R2.

Voy a hacer una nueva configuración RAID. Tengo 6 unidades SCSI de 73 GB dentro de la máquina y un controlador IBM ServerRAID 8K. ¿Cuál sería una buena manera de establecer los niveles de RAID? ¿Debo tener dos, tres o un campo en mi controlador?

Estoy considerando hacer una de las siguientes soluciones:

  1. Use todo el disco y cree un grupo RAID 10.
  2. Use 4 discos para un grupo RAID 1e y úselo para almacenar los datos de la base de datos y el sistema operativo, y use los otros 2 discos en un grupo RAID 0 y úselo para almacenar los registros de la base de datos.
  3. Alguna otra combinación.

¿Es mejor un tamaño de unidad de banda más grande?

Este servidor será suscriptor de una base de datos replicada. Su tarea principal será la presentación de informes y la recuperación de datos, con solo el agente de replicación haciendo escrituras. El tamaño de la base de datos es de alrededor de 90 GB.


¿Está utilizando los términos RAID1E y RAID10 indistintamente?
Jack dice que intente topanswers.xyz

también, 3x73 ~ 220GB: ¿cuánto espera que crezca su DB de 90GB cada año?
Jack dice que intente topanswers.xyz

@JackDouglas Esta base de datos con 90 GB es del año 2006 hasta ahora, creo que puede crecer en los próximos dos años como máximo alrededor del 30%
adopilot

Me gusta sobreaprovisionar el almacenamiento tanto como sea posible cuando construyo un servidor desde cero. ¿Tiene también algún almacenamiento de segundo nivel (por ejemplo, SATA)? Puede ser muy útil para una cantidad decente de espacio para respirar, especialmente cuando terminas en una situación de DR.
Jack dice que intente topanswers.xyz

Respuestas:


6

Voto por la opción 1. Tenga en cuenta que RAID 0 significa "sin protección". ¿Importan sus registros? (ellos si).

También tiene el beneficio de la simplicidad.

Los documentos de SQL Server dicen:

Para un paralelismo de E / S optimizado, use un tamaño de banda de 64 KB o 256 KB.

Pero generalmente es bueno ir con la IMO predeterminada del controlador


5

Notas:

  • Los binarios de OS + serán de 40 GB
  • 6 discos no te dejan muchas opciones
  • ¿Dónde quieres tus copias de seguridad?
  • Deje que el controlador RAID elija el tamaño de banda (depende del nivel RAID). Esta es una micro optimización y verá datos contradictorios.
  • La velocidad de escritura del archivo de registro determina su rendimiento
  • Debe permitir espacio libre = 1.2 veces la tabla más grande dentro de su MDF para reconstrucciones de índice
  • RAID 0 = idiota en un servidor que tiene datos de cualquier valor

Iría por una matriz RAID 10


4

Iría por dos volúmenes RAID1 con tres espejos cada uno, o un RAID10 con rayas en dos conjuntos de tres espejos.

Justificación: dos espejos es muy poco, punto. Su servidor no realizará las verificaciones de consistencia adecuadas más de una vez al mes, por lo que es muy probable que tenga algunos bloques defectuosos. Esto no importa mientras el otro espejo aún esté intacto, pero cuando un disco falla, es probable que no pueda recuperarse del otro. Por lo tanto, tres espejos.

RAID6 es una mala idea en una configuración de base de datos ya que las escrituras tienden a ser pequeñas, lo que las convierte en operaciones de lectura-modificación-escritura en segundo plano.

Si dos volúmenes RAID1 o un RAID10 son mejores para usted, depende de su aplicación. Si es probable que necesite todo el espacio, vaya a RAID10; de lo contrario, sugeriría un volumen para el sistema y los índices, y otro para las páginas de datos. Si elige dos volúmenes, verifique que su controlador permita extender un RAID1 a un RAID10 más adelante en caso de que necesite expandirse.


+1 por mencionar que el reflejo del problema no se resuelve (al menos por sí solo). Es posible configurar el fregado para que tenga lugar más regularmente en Linux, ¿es lo mismo para Windows? Sin embargo, repite el mito de que los índices y los datos deberían separarse idealmente: hay un argumento para mantener los registros separados, pero los índices y los datos se agrupan mejor (sobre tantos husos como sea posible)
Jack dice que intente topanswers.xyz

Creo que debería ser posible configurar comprobaciones más frecuentes; sin embargo, el rendimiento de la base de datos generalmente disminuye enormemente, por lo que prefiero usar unidades adicionales y menos comprobaciones.
Simon Richter

Por lo general, mantengo los índices separados para poder usar diferentes comportamientos de caché y lectura leída: un escaneo completo de la tabla generalmente se beneficia de la lectura leída, mientras que los escaneos de índice lo hacen con menos frecuencia.
Simon Richter

En mi sistema Debian, / usr / share / mdadm / checkarray se ejecuta con el indicador --idle de forma predeterminada, por lo que no esperaría un impacto notable en el rendimiento. En el caso de los OP, esto será manejado por el controlador RAID y supongo que lo hará independientemente de si tiene 2 o 3 espejos, por lo que el golpe (si lo hay) estará allí de todos modos.
Jack dice que intente topanswers.xyz

re el escaneo del índice, punto justo, pero sugeriría que esto es micro-optimización, no un consejo general de ajuste :) Voy a preguntar en el chat para ver qué piensan los demás, siéntanse libres de participar ...
Jack dice intente topanswers.xyz

3

Estoy de acuerdo con Douglas. Una incursión común 10 es un buen comienzo siempre que no se quede sin espacio en disco. Un tamaño de banda más pequeño sería mejor para el acceso a la base de datos. El uso de diferentes particiones solo hace que se quede sin espacio en una partición más rápido.

Lo que ocurre con raid-0 no es solo que los datos se pueden obtener de las copias de seguridad o que se pueden eliminar, sino que también significa tiempo de inactividad cada vez que se rompe el disco. ¿Está su máquina procesando algunos datos donde el tiempo de inactividad de unos pocos días no importará? Incluso con el soporte NBD, puede llevar unos seis días obtener un nuevo disco.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.