Aunque existe desde hace más de 50 años, RAID sigue siendo muy popular, especialmente en entornos empresariales. En general, es todo un logro que cualquier tecnología sea relevante durante tanto tiempo.
Si nos centramos en el estado de RAID en la actualidad, algunos niveles de RAID son sin duda más relevantes que otros. RAID 5 específicamente ha sido una de las versiones de RAID más populares durante las últimas dos décadas.
Sin embargo, dado que los tamaños de los discos han aumentado exponencialmente, surge la pregunta; ¿Sigue siendo RAID 5 fiable? Para responder a esta pregunta, primero tendremos que hablar sobre qué es exactamente RAID 5, sus mecanismos de funcionamiento, aplicaciones y fallas.
Terminología RAID
RAID 5 utiliza paridad distribuida intercalada en bloques. Para entender esto, tendremos que comenzar con los conceptos básicos de RAID.
Rabundante ARayo de Iindependiente Disks (RAID) es básicamente una tecnología de almacenamiento de datos que se utiliza para brindar protección contra fallas del disco a través de la redundancia de datos o la tolerancia a fallas, al mismo tiempo que mejora el rendimiento general del disco.
Los sistemas RAID implementan técnicas como creación de bandas, duplicación y paridad. rayado distribuye fragmentos de datos lógicamente secuenciales en todos los discos de una matriz, lo que da como resultado un mejor rendimiento de lectura y escritura.
Paridad, en el contexto de RAID, son datos de recuperación que se escriben en un disco de paridad dedicado o se distribuyen en todos los discos de la matriz. Si un disco de la matriz falla, estos datos de paridad, junto con los datos de las unidades en funcionamiento restantes, se pueden utilizar para reconstruir los datos perdidos.
¿Cómo funciona RAID 5?
Uso de arreglos RAID 5 rayado a nivel de bloque con paridad distribuida. Como se requieren al menos dos discos para el striping, y se necesita un disco más de espacio para la paridad, las matrices RAID 5 necesitan al menos 3 discos Tomemos como ejemplo una matriz RAID 5 de 4 discos para entender mejor cómo funciona.
Al escribir en la matriz, un trozo del tamaño de un bloque de datos (A1) se escribe en el primer disco. Esta porción de datos también se conoce como banda. El tamaño del bloque se llama tamaño de porcióny su valor varía según lo establezca el usuario.
Continuando con la operación de escritura, el siguiente fragmento de datos lógicamente consecutivo (A2) se escribe en el segundo disco y lo mismo con el tercero (A3). A medida que los bloques de datos se distribuyen en estas tres tiras, se les conoce colectivamente como raya.
Tamaño de la raya, como su nombre lo indica, se refiere a la suma del tamaño de todas las tiras o trozos de la franja. Por lo general, los controladores RAID de hardware utilizan el tamaño de franja, pero algunas implementaciones de RAID también utilizan el tamaño de fragmento.
Continuando nuevamente, después de que los datos se distribuyen en los discos (A1, A2, A3), los datos de paridad se calculan y almacenan como un fragmento del tamaño de un bloque en el disco restante (Ap). Con esto, se ha escrito una franja completa de datos.
En nuestro ejemplo, el mismo proceso se repite de nuevo cuando los datos se dividen en tres discos, mientras que el cuarto disco almacena datos de paridad. En pocas palabras, esto continúa hasta que se completa la operación de escritura.
Pero hay algunas cosas más que cubrir aquí, como cómo se calculan realmente los datos de paridad y el diseño de los bloques de datos y paridad en la matriz. Entonces, cambiemos el enfoque a aquellos en la siguiente sección.
Paridad en RAID 5
Los diferentes niveles de RAID usan diferentes algoritmos para calcular los datos de paridad. RAID 5 usa específicamente el OR exclusivo (XOR) operador en cada byte de datos.
XOR devuelve una salida verdadera cuando solo una de las entradas es verdadera. Si ambas entradas son verdaderas (1,1) o falsas (0,0), la salida será falsa. La siguiente tabla y el ejemplo que sigue deberían ilustrar esto mejor.
Primera entrada | Segunda entrada | Producción |
1 | 1 | |
1 | 1 | |
1 | 1 |
Volvamos a nuestro ejemplo anterior y observemos la primera franja. Digamos que el primer byte de datos en las tiras es el siguiente:
A1-10111001
A2-11001010
A3-10011011
Al realizar una operación A1 XOR A2, obtenemos la salida 01110011. Cuando realizamos otra operación XOR con esta salida y A3, obtenemos los datos de paridad (Ap) que salen a 11101000.
Digamos que uno de los discos de la matriz (por ejemplo, el Disco 2) falla. Podemos realizar una operación A1 XOR A3 para obtener 00100010 como salida. Si realizamos otra operación XOR con esta salida y los datos de paridad, obtenemos la siguiente salida:
00100010
11101000
11001010
Con esto, hemos reconstruido el primer byte de datos en el Disco 2. Y así, en pocas palabras, es cómo los datos de paridad brindan tolerancia a fallas y protegen sus datos en caso de falla del disco. Sin embargo, esta redundancia tiene sus límites, ya que RAID 5 solo protege contra la falla de un disco. Si dos discos fallan simultáneamente, se perderán todos los datos.
Finalmente, también está la cuestión del diseño de datos en la matriz. A diferencia de los niveles de RAID 2, 3 y 4, que usan un disco de paridad dedicado, RAID 5 usa paridad distribuida. Esto significa que los bloques de paridad se distribuyen por todo el arreglo en lugar de almacenarse en una sola unidad.
Nuestro ejemplo anterior muestra un diseño asíncrono de izquierda a derecha, pero esto puede cambiar dependiendo de ciertos factores. Por ejemplo, los bloques de datos se pueden escribir de izquierda a derecha o de derecha a izquierda en la matriz. En consecuencia, el bloque de paridad puede estar ubicado al principio o al final de la franja.
En el caso de un diseño síncrono, la ubicación del bloque de paridad también determina dónde comenzará la siguiente franja. Por ejemplo, la siguiente matriz está configurada como sincrónica a la izquierda, lo que significa que los datos se escriben de izquierda a derecha. Además, el bloque de paridad (Ap) determina dónde comienza la siguiente franja (B1), y así sucesivamente.
¿Debe utilizar RAID 5?
RAID 5 proporciona ganancias de rendimiento a través de bandas y tolerancia a fallas a través de la paridad. Y a diferencia de los niveles inferiores de RAID, no tiene que lidiar con el cuello de botella de un disco de paridad dedicado. Esto lo hizo muy popular en la década de 2000, particularmente en entornos de producción.
Sin embargo, RAID 5 siempre ha tenido una falla crítica en el sentido de que solo protege contra fallas de un solo disco. En teoría, dos discos fallando en sucesión es extremadamente improbable. Pero durante las aplicaciones del mundo real, las cosas son diferentes.
Para empezar, los tamaños de HDD han crecido exponencialmente, mientras que las velocidades de lectura/escritura no han visto grandes mejoras. Debido a esta disparidad, cuando un disco falla, la reconstrucción de la matriz lleva bastante tiempo. Dependiendo del tamaño y las especificaciones de la matriz, esto puede variar de horas a días.
A continuación, la gente suele comprar discos en juegos. Cuando expone las mismas unidades de marca a la misma carga de trabajo y entorno, aumentan las posibilidades de que fallen al mismo tiempo.
Pero digamos que solo falló un disco. Si ha estado limpiando discos regularmente, probablemente sea bueno. Pero si no ha estado comprobando si hay errores, existe el riesgo de encontrar URE durante el proceso de reconstrucción, ya que uno de los discos de la matriz acaba de fallar.
Los errores de lectura irrecuperables (URE) son un problema importante cuando se reconstruyen arreglos porque un solo MB de datos ilegibles puede inutilizar todo el arreglo. Esto se debe a la forma en que funcionan la mayoría de las configuraciones RAID.
Ciertas implementaciones de RAID como ZFS RAID y Linux software RAID y algunos controladores de hardware marcan el sector como malo y continúan reconstruyéndose. Sin embargo, la mayoría de los controladores RAID de hardware simplemente detienen la reconstrucción y marcan toda la matriz como fallida.
El motivo de esto es que es mejor detener la matriz en lugar de arriesgarse a dañar los datos. Esto se hace asumiendo que restaurará desde una copia de seguridad o recuperará los datos de cada unidad individualmente.
Cuando combina todos estos factores, no es difícil ver por qué RAID 5 ha caído en desgracia en los últimos años. Esta es la razón por la cual actualmente se prefieren otras versiones de RAID como RAID 6 o ZFS RAID-Z2, particularmente para arreglos más grandes, donde los tiempos de reconstrucción son mayores y existe la posibilidad de perder más datos.
Sin embargo, eso no quiere decir que RAID 5 ya sea irrelevante. Los fabricantes de discos duros han tenido en cuenta estos aspectos y han mejorado las unidades mediante la reducción exponencial de las tasas de aparición de URE en los últimos años. Recomendamos que, en general, opte por otros niveles de RAID, pero si desea optar por RAID 5 de todos modos, solo debe hacerlo en el caso de matrices de tamaño pequeño.
Finalmente, aquí hay algunos requisitos y cosas que vale la pena saber si planea configurar una matriz RAID 5:
- Como se mencionó anteriormente, una matriz RAID 5 requiere 3 unidades de disco como mínimo. Esto se debe a que se requieren al menos 2 unidades para la creación de bandas, y se necesita un disco más de espacio para almacenar datos de paridad.
- El almacenamiento utilizable en una configuración RAID 5 se puede calcular con (N – 1) x (Tamaño de disco más pequeño). Debe usar unidades del mismo tamaño porque si usa una configuración desigual, el disco más pequeño creará un cuello de botella significativo.
- RAID 5 ofrece un rendimiento de lectura excelente, ya que la creación de bandas permite leer datos de varios discos al mismo tiempo. Sin embargo, del mismo modo, el rendimiento de escritura no es tan bueno como la información de paridad para varios discos que también debe escribirse.
- RAID 5 se puede configurar a través de implementaciones de software, pero es mejor usar controladores RAID de hardware para una matriz RAID 5, ya que el rendimiento se ve afectado por las implementaciones de software.
- Finalmente, la redundancia de RAID no es lo mismo que las copias de seguridad. El propósito de RAID es simplemente proteger contra fallas del disco. Hay muchas razones para tener copias de seguridad externas separadas, desde malware hasta errores humanos y accidentes.