¿Una matriz RAID-Z grande es tan mala como una matriz RAID-5 grande?

11

Durante mucho tiempo he oído hablar de lo mala que es una idea de una gran matriz RAID-5 (¿> 5 TB?) Simplemente porque existe un alto riesgo de que falle otra unidad.

¿RAID-Z1 ha logrado remediar esto para una matriz de cualquier tamaño (si absolutamente necesita un número, considere 4x2TB o 5x2TB)? ¿Quizás una forma más segura de volver a replicar los datos que no son tan intensos en todas las unidades?

TheLQ
fuente

Respuestas:

8

Incluso teniendo en cuenta lo que una de las otras respuestas aquí expuestas, a saber, que ZFS solo funciona con bloques usados ​​reales y no con espacio vacío, sí, sigue siendo peligroso hacer un gran vdev RAIDZ1. La mayoría de los grupos terminan utilizando al menos el 30-50%, muchos van hasta el máximo recomendado del 80% (algunos lo superan, le recomiendo que no lo haga en absoluto, por razones de rendimiento), por lo que ZFS solo trata con bloques usados ​​no es una gran victoria. Además, algunas de las otras respuestas hacen que parezca que una mala lectura es la que causa el problema. Esto no es asi. Un poco de podredumbre dentro de un bloque no es lo que te va a fastidiar aquí, por lo general, es otro disco que simplemente falla, mientras que el resiliente del primer disco sigue funcionando y te matará ... y en discos de 3 TB en una raidz1 grande puede llevar días, incluso semanas volver a cargar en un nuevo disco, por lo que su posibilidad de que eso suceda no es insignificante.

Mi recomendación personal a los clientes es que nunca utilicen RAIDZ1 (equivalente a RAID5) en absoluto con discos de> 750 GB, solo para evitar una gran cantidad de molestias potenciales. He estado de acuerdo con que rompan esta regla por otras razones (el sistema tiene una copia de seguridad en otro lugar, los datos no son tan importantes, etc.), pero generalmente hago todo lo posible para impulsar RAIDZ2 como una opción mínima con gran discos

Además, por varias razones, generalmente recomiendo no usar más de 8-12 discos en una banda raidz2 o 11-15 discos en una banda raidz3. Debería estar en el extremo inferior de esos rangos con discos de 3 TB, y tal vez podría estar bien en el extremo superior de esos rangos en discos de 1 TB. Que esto lo ayudará a mantenerse alejado de la idea de que fallarán más discos mientras se está ejecutando un dispositivo de recuperación es solo una de esas razones, pero es una de las más importantes.

Si está buscando algunas reglas generales sensatas (edite el 10/04/15 - Escribí estas reglas con solo los discos giratorios en mente - porque también son lógicas [¿por qué haría menos de 3 discos en una redada? 1) tiene sentido incluso para los grupos de SSD, pero los grupos de todos los SSD no eran una cosa en mi cabeza cuando escribí esto):

  • No utilice raidz1 en discos de más de 750 GB.
  • No use menos de 3 o más de 7 discos en una raidz1.
  • Si está pensando en usar vdevs raidz1 de 3 discos, considere seriamente los vdevs espejo de 3 vías.
  • No use menos de 6 o más de 12 discos en una raidz2.
  • No use menos de 7 o más de 15 discos en una raidz3.
  • Recuerde siempre que, a diferencia de las matrices RAID tradicionales, donde # de discos aumentan IOPS, en ZFS es # de VDEVS, por lo que ir con vdevs de banda más corta mejora el potencial de IOPS de grupo.
Nex7
fuente
Con el cambio en el tamaño y el rendimiento del disco, ¿recomendaría la misma regla general? (2014)
Lord Loh.
¿Alguna fuente o motivación para las reglas generales?
Kenny Evitt
La fuente es la experiencia mía y de mis compañeros de trabajo en miles de implementaciones de ZFS en Nexenta. En cuanto a una actualización: las reglas se mantienen (10/04/15), nada ha cambiado que me haga querer editar los puntos de viñeta, aunque diría que escribí esas reglas sin tener en cuenta las SSD. Las reglas no son necesariamente las mismas para los SSD, dependiendo de factores circunstanciales. Con ellos, también tiene otras consideraciones, como el cuello de botella de HBA.
Nex7
1
@ Nex7, ¿cuál es la lógica para esto en tu artículo de blog? "8. RAIDZ - Número de discos pares / impares: Intente (y no muy difícil) mantener el número de discos de datos en un raidz vdev a un número par"
Costin Gușă
Es importante recordar los casos de uso. Aquí en serverfault nos enfocamos en aplicaciones profesionales / comerciales para que su respuesta sea correcta. Dicho esto, para aquellos que están haciendo instalaciones de consumo (¿y quizás incluso aplicaciones comerciales limitadas?), Considere lo malo que sería perder un solo bloque de un solo archivo (tal vez un par) de su matriz si tiene una falla durante un reconstruir. ¿No es gran cosa? Entonces RAIDZ1 podría estar bien.
Dan Pritts
11

¿RAID-Z es tan malo como R5? ¿Es tan bueno como R1 o R10, generalmente no.

RAID-Z es consciente de los espacios en blanco en las unidades, donde R5 no lo es. Entonces RAID-Z solo tiene que leer las áreas con datos para recuperar el disco faltante. Además, los datos no están necesariamente divididos en todos los discos. Un archivo muy pequeño puede residir en un solo disco, con la paridad en otro disco. Debido a esto, RAID-5 tendrá que leer exactamente tantos datos como el espacio usado en la matriz (si se usa 1mb en una matriz de 5TB, entonces una reconstrucción solo necesita leer 1 mb).

En el otro sentido, si la mayor parte de una matriz grande está llena, la mayoría de los datos deberán leerse en todos los discos. En comparación con R1 o R10, donde los datos solo necesitan extraerse exactamente de un disco (por disco fallido; si fallan varios discos solo en situaciones en las que la matriz todavía es recuperable).

Lo que le preocupa es el hecho de que con cada operación de lectura de sector existe la posibilidad de que encuentre un sector que no se escribió correctamente o que ya no es legible. Para una unidad típica en estos días es alrededor de 1x10 ^ -16 (no todas las unidades son iguales, así que busque las especificaciones en sus unidades para averiguar su calificación). Esto es increíblemente infrecuente, pero sale aproximadamente una vez cada 1 PB; para una matriz de 10 TB hay un 1% de posibilidades de que su matriz sea tostada y no lo sepa hasta que intente recuperarlo.

ZFS también ayuda a mitigar esta posibilidad, ya que la mayoría de los sectores ilegibles se notan antes de comenzar a intentar reconstruir su matriz. Si friega su matriz ZFS de forma regular, la operación de limpieza eliminará estos errores y los solucionará (o lo alertará para que pueda reemplazar el disco si así es como funciona). Le recomiendan que limpie los discos de grado empresarial de una a cuatro veces al mes; y unidades de grado de consumo al menos una vez a la semana, o más.

Chris S
fuente
3

Algunas de las ventajas de RAID-Z sobre RAID-5 tradicional es que no requiere hardware especializado y es más confiable al evitar el agujero de escritura RAID-5.

Sin embargo, RAID-Z y RAID-5 no soportan más de una falla de disco.

Si desea sobrevivir a la falla de dos discos con ZFS, puede usar RAIDZ2 y la falla de tres discos RAIDZ3 .

jlliagre
fuente
1
+1 Además, las sumas de comprobación perblock permiten que ZFS, si encuentra corrupción en una matriz, separe los archivos afectados. La mayoría de los HBA R5 simplemente marcarán todo el volumen como dañado, o informarán al sistema operativo que un sector está dañado, de cualquier manera el HBA no tiene forma de saber qué disco está mal en un escenario de corrupción.
Chris S
Más discusión sobre el manejo de fallas de resiliencia de ZFS
un CVn el