He estado investigando RAID5 Vs RAID6 últimamente y sigo viendo que RAID5 ya no es lo suficientemente seguro debido a las clasificaciones URE y al aumento del tamaño de las unidades. Básicamente, la mayor parte del contenido que encontré dice que en RAID5, en caso de que tenga una falla en el disco, si el resto de su matriz es de 12TB, entonces tiene casi un 100% de posibilidades de cumplir con un URE y perder sus datos.
La cifra de 12 TB proviene del hecho de que los discos tienen una capacidad de lectura de 10 ^ 14 bits para alcanzar un URE.
Bueno, hay algo que no entiendo aquí. La cabeza del sector realiza una lectura, lo que puede hacer que la lectura falle es que la cabeza muere o el sector muere. También puede ser que la lectura no funcione por alguna otra razón (no sé, como una vibración hizo que la cabeza saltara ...). entonces, déjenme abordar las 3 situaciones:
- la lectura no funciona: eso no es irrecuperable, ¿verdad? Se puede volver a intentar.
- la cabeza muere: esto seguramente sería irrecuperable, pero eso también significa que el plato completo (o al menos el lado) sería ilegible, sería más alarmante, ¿no?
- el sector muere: también totalmente irrecuperable, pero aquí no entiendo por qué el disco de 4TB tiene una calificación de 10 ^ 14 para la URE y el 8TB también tiene una calificación de 10 ^ 14 para la URE, eso significaría los sectores en el 8 TB (probablemente tecnología más nueva) son la mitad de confiables que las de 4 TB, eso no tiene sentido.
Como puede ver, de los 3 puntos de falla que identifico, ninguno tiene sentido. Entonces, ¿qué es exactamente una URE, quiero decir concretamente?
¿Hay alguien que me pueda explicar eso?
Editar 1
Después de la primera ola de respuestas, parece que la razón es la falla del sector. Lo bueno es que el firmware, el controlador RAID y el sistema de archivos OS + tienen un procedimiento para detectarlo y reasignar sectores de manera temprana.
Bueno, ahora sé qué es una URE (en realidad, el nombre se explica por sí mismo :)).
Todavía estoy desconcertado por las causas subyacentes y principalmente por la calificación estable que otorgan.
Algunos atribuyeron el sector defectuoso a fuentes externas (ondas cósmicas), luego me sorprende que la tasa de URE se base en el recuento de lectura y no en la edad, las ondas cósmicas deberían impactar más en un disco más viejo simplemente porque ha sido expuesto Además, creo que esto es más una fantasía, aunque podría estar equivocado.
Ahora viene la otra razón que se relaciona con el desgaste del disco y algunos señalaron que las densidades más altas dan dominios magnéticos más débiles, eso tiene mucho sentido y yo seguiría la explicación. Pero como se explica muy bien aquí , los discos más nuevos de diferentes tamaños se obtienen principalmente al colocar más o menos del mismo plato (y luego la misma densidad) en el chasis del HDD. Los sectores son iguales y todos deberían tener la misma fiabilidad, por lo que los discos más grandes deberían tener una calificación más alta que los discos más pequeños, los sectores se leen menos, este no es el caso, ¿por qué? Sin embargo, eso explicaría por qué los discos más nuevos con tecnología más nueva no obtienen una mejor calificación que los antiguos, simplemente porque la mejor ganancia de tecnología se ve compensada por la pérdida debido a una mayor densidad.
fuente
Respuestas:
Un URE es un error de lectura irrecuperable. Algo ha sucedido que ha provocado que falle la lectura de un sector que la unidad no puede reparar. La electrónica de la unidad es sofisticada, solo pasarán los datos si han podido leerlos correctamente desde el disco. La electrónica del variador intentará leer un sector defectuoso varias veces antes de declararlo dañado.
Qué causa el error de lectura: aquí no soy un experto (se produce un movimiento del brazo), pero el envejecimiento del disco puede hacer que las tolerancias de fabricación se vuelvan relevantes. Los dominios magnéticos pueden debilitarse. Los rayos cósmicos pueden causar daños, etc. Esencialmente es una falla aleatoria.
¿Cómo afecta esto a RAID 5?
Un RAID 5 consiste en bandas de nivel de bloque con paridad distribuida. Los bloques de paridad se calculan XORing los bits de los bloques de datos juntos. La función XOR básicamente dice que si todos los bits son iguales, el resultado es 0; de lo contrario, es 1. Al calcular la paridad, toma los primeros 2 bits y los XOR, luego XOR el resultado con el siguiente bit, etc.
La naturaleza de la función XOR es tal que si algún disco muere y se reemplaza, los datos que deberían estar en él pueden reconstruirse a partir de los discos restantes.
Como puede ver, los datos dañados se pueden reconstruir XORing los datos restantes y la paridad.
¿Cómo afecta esto un URE?
Un URE solo es significativo durante una reconstrucción RAID 5.
Cuando reconstruye un RAID 5, hay una gran cantidad de lectura por hacer. Cada bloque de datos debe leerse para reconstruir los datos en el nuevo disco. Si se produce un URE, los datos para el bloque relevante no se pueden recuperar, por lo que sus datos son inconsistentes. Para discos suficientemente grandes en un R5 suficientemente grande, el número de bits leídos para reconstruir el disco reemplazado excede el valor de URE de, por ejemplo, 1 bit en 10 ^ 14 de lectura.
fuente
Los discos duros no almacenan simplemente los datos que usted les pide. Debido al tamaño cada vez menor del dominio magnético y al hecho de que los discos duros almacenan datos de forma analógica en lugar de binaria (el firmware del disco duro obtiene una señal analógica del plato, que se traduce en una señal binaria, y esta traducción es parte de la salsa secreta del fabricante), prácticamente siempre hay algún grado de error en una lectura, que debe ser compensado.
Para garantizar que los datos se puedan volver a leer, el disco duro también almacena los datos de corrección de errores de reenvío junto con los datos que le pidió que almacenaran.
En operaciones normales, los datos FEC son suficientes para corregir los errores en la señal que se vuelve a leer desde el plato. El firmware puede reconstruir los datos originales, y todo está bien. Este es un error de lectura recuperable que se expone en SMART como el atributo de tasa de error de lectura (atributo SMART 0x01) y / o ECC de hardware recuperado (atributo SMART 0xc3).
Si por alguna razón la señal se degrada por debajo de cierto punto, los datos FEC ya no son suficientes para reconstruir los datos originales. En ese punto, según la teoría, el firmware aún podrá detectar que los datos no se pueden volver a leer de manera confiable, pero no puede hacer nada al respecto. Si varias de estas lecturas fallan, el disco tiene que informar de alguna manera al resto de la computadora que la lectura no se pudo realizar con éxito. Lo hace señalando un error de lectura irrecuperable . Esto también aumenta el contador de errores no corregibles informados (atributo SMART 0xbb).
Un error de lectura irrecuperable, o URE, es simplemente un informe de que, por cualquier razón, los datos de la carga útil más los datos de FEC fueron insuficientes para reconstruir los datos almacenados originalmente.
Tenga en cuenta que las tasas de URE son estadísticas . No encontrará ningún disco duro donde pueda leer exactamente 10 ^ 14 (o 10 ^ 15) - 1 bit con éxito y luego el siguiente bit falla. Más bien, es una declaración del fabricante que, en promedio , si lee (digamos) 10 ^ 14 bits, en algún momento durante ese proceso encontrará un sector ilegible.
Además, siguiendo las últimas palabras anteriores, tenga en cuenta que las tasas de URE se dan en términos de sectores por bits leídos . Debido a cómo se almacenan los datos en los platos, el disco no puede determinar qué parte de un sector es mala, por lo que si un sector no pasa la verificación FEC, se considera que todo el sector es malo.
fuente
La especificación suele ser "en promedio se detecta 1 error al leer n bits", por lo que el tamaño de la unidad no importa. Es importante si calcula su riesgo de que ocurra un error en su unidad y carga de trabajo, pero el fabricante solo declara que se necesitan n bits de lectura para encontrar un error (en promedio, no está garantizado).
Ejemplo: si compra una unidad de 1 TB, tendría que leerla unas 12 veces para encontrar un error, mientras que una unidad de 8 TB podría experimentarla en la segunda lectura, pero la cantidad de bits leídos es la misma en ambas ocasiones, por lo que la calidad de los husos magnéticos es más o menos lo mismo.
Lo que paga por el aumento del precio son otros factores, la capacidad de meter 8TB en el espacio físico de 1TB, el consumo de energía muy reducido, menos choques de cabeza mientras se mueve el disco, etc.
fuente
Creo que @Michael Kjörling respondió con claridad.
Cuando el disco lee, la cabeza detecta la dirección del dominio magnético y luego envía una señal electrónica, que es analógica. Suponemos que el firmware debe dar un 1 cuando recibe un voltaje superior a 0.5V, pero el campo magnético es demasiado débil, por lo que la cabeza envía una señal con 0.499V solamente, se encontró un error. Necesitamos la FEC para corregir este error.
Aquí hay un ejemplo: los datos de un sector deben ser 0x0F23, los codificamos con 0 * 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30. ahora tenemos el FEC y lo escribimos después del sector. Cuando leemos, leemos 0x0E23 y FEC 0x30, no coincide. Después de algunos cálculos, encontramos que debería ser 0x0F23. Pero si tenemos 0x0E13 y 0x30, O tenemos 0x0E23 y 0x32, no podemos calcular el correcto.
Esta calificación es muy baja, tal vez a menos que la fábrica de discos duros lea los datos de los PB alguna vez, los datos de EB podrían obtener un valor estable. Entonces dan el valor de probabilidad: cuando lees datos de 10 ^ 14 bits, puedes encontrarte una vez. Dado que es un valor de probabilidad, tal vez te alegraste después de leer solo 1 datos del sector, tal vez lo encontraste hasta que leíste datos de 50 TB. Y este valor no tenía nada con la capacidad del disco, solo era una preocupación casual con el tamaño de los datos que leía. Si lee un disco de 4 TB lleno de datos 6 veces, esta posibilidad será igual a leer un disco de 6 TB 4 veces, o leer un disco de 8 TB 3 veces.
fuente