La array redundante de discos independientes (RAID) es un conjunto de varias unidades de disco físico que el sistema operativo ve como una única unidad lógica. Desempeñó un papel importante en la reducción de la brecha entre los procesadores cada vez más rápidos y las unidades de disco lentas.
El principio básico detrás de RAID es que varias unidades de disco de menor capacidad tienen un mejor rendimiento que algunas unidades de disco de gran capacidad porque al distribuir los datos entre varios discos más pequeños, el sistema puede acceder a los datos de ellos más rápido, lo que resulta en un mejor rendimiento de E/S. y recuperación de datos mejorada en caso de falla del disco.
Una configuración típica de array de discos consiste en unidades de disco pequeñas conectadas a un controlador que aloja el software y coordina la transferencia de datos en los discos a un disco de gran capacidad conectado a un subsistema de E/S.
Tenga en cuenta que el sistema operativo considera toda esta configuración como un único disco de gran capacidad.
- Los datos se dividen en segmentos llamados franjas , que se distribuyen en los discos de la array.
- Un conjunto de tiras consecutivas a través de los discos se llama franja .
- Todo el proceso se llama striping .
Además de introducir el concepto de redundancia que ayuda en la recuperación de datos debido a fallas de hardware, también aumenta el costo del hardware.
Todo el sistema de RAID se divide en siete niveles, desde el nivel 0 hasta el nivel 6. Aquí, el nivel no indica jerarquía, pero indica diferentes tipos de configuraciones y capacidades de corrección de errores.
Nivel 0:
el nivel 0 de RAID es el único nivel que no puede recuperarse de una falla de hardware, ya que no proporciona corrección de errores ni redundancia. Por lo tanto, no puede llamarse la verdadera forma de RAID. Sin embargo, ofrece los mismos beneficios significativos que otros: para el sistema operativo, este grupo de dispositivos parece ser una sola unidad lógica.
Como se ilustra arriba, cuando el sistema operativo emite un comando, se puede transferir en paralelo a las tiras, lo que mejora enormemente el rendimiento.
Nivel 1:
el nivel 1 de RAID no solo utiliza el proceso de creación de bandas, sino que también utiliza la configuración en espejo al proporcionar redundancia, es decir, crea un conjunto duplicado de todos los datos en una array de discos en espejo, que sirve como respaldo en caso de falla del hardware. . Si una unidad falla, los datos se pueden recuperar inmediatamente desde la array de discos reflejada. Con esto, se convierte en un sistema confiable.
Como se ilustra arriba, los datos se han copiado en otra array de disco como copia de seguridad.
- La desventaja incluye la escritura de los datos dos veces, una vez en los discos principales y luego en los discos de respaldo. Sin embargo, el tiempo de proceso puede ahorrarse copiando los datos en paralelo a la escritura principal de los datos.
- Otra desventaja es que requiere el doble de espacio, por lo que es caro. Pero, la ventaja de tener una copia de seguridad y no preocuparse por la pérdida de datos anula esta desventaja.
Nivel 2:
el nivel 2 de RAID hace uso de tiras muy pequeñas (a menudo del tamaño de 1 byte) y un código hamming para proporcionar redundancia (para la tarea de detección de errores, corrección, etc.).
Código Hamming : Es un algoritmo utilizado para la detección y corrección de errores cuando se transfieren los datos. Agrega bits adicionales y redundantes a los datos. Es capaz de corregir errores de un solo bit y corregir errores de doble bit.
Esta configuración tiene la desventaja de que es una configuración costosa y compleja de implementar debido a la cantidad de arrays adicionales, que dependen del tamaño de las tiras, y también todas las unidades deben estar altamente sincronizadas.
La ventaja incluye que si una unidad fallara, solo un disco se vería afectado y los datos podrían recuperarse rápidamente.
Nivel 3:
el nivel 3 de RAID es una configuración que solo necesita un disco para la redundancia. Solo se calcula un bit de paridad para cada tira y se almacena en el disco redundante designado.
Si una unidad funciona mal, el controlador RAID considera que todos los bits que provienen de ese disco son 0 y toma nota de la ubicación de ese disco que funciona mal. Entonces, si los datos que se leen tienen un error de paridad, entonces el controlador sabe que el bit debe ser 1 y lo corrige.
Si se escriben datos en la array que tiene un dispositivo que funciona mal, el controlador mantiene la paridad constante para regenerar datos cuando se reemplaza la array. El sistema vuelve a la normalidad cuando se reemplaza el disco fallido y su contenido se regenera en el nuevo disco (o array).
Nivel 4:
el nivel 4 de RAID utiliza el mismo concepto utilizado en el nivel 0 y el nivel 1, pero también calcula una paridad para cada tira y almacena esta paridad en la tira correspondiente del disco de paridad.
La ventaja de esta configuración es que si un disco falla, los datos aún se pueden recuperar del disco de paridad.
La paridad se calcula cada vez que se ejecuta un comando de escritura. Pero, cuando los datos se van a reescribir dentro de los discos, el controlador RAID debe poder actualizar los datos y los discos de paridad. Por lo tanto, es necesario acceder a los discos de paridad siempre que se vayan a ejecutar operaciones de escritura o reescritura. Esto crea una situación conocida como cuello de botella , que es la principal desventaja de esta configuración.
Nivel 5:
el nivel 5 de RAID es una modificación del nivel 4. En el nivel 4, solo se designa un disco para paridad que almacena paridades. Pero en el nivel 5, distribuye los discos de paridad entre los discos de la array.
La ventaja de esta configuración es que evita la condición de cuello de botella que se creó en el nivel 4.
La desventaja de esta configuración es que durante la regeneración de datos cuando falla un disco se complica.
Nivel 6:
el nivel 6 de RAID proporciona un grado adicional de detección y corrección de errores. Requiere 2 cálculos de paridad diferentes.
Un cálculo es el mismo que el utilizado en los niveles 4 y 5, el otro cálculo es un algoritmo de verificación de datos independiente. Ambas paridades se almacenan en discos separados en la array, lo que corresponde a las tiras de datos en la array.
La ventaja de esta configuración es que incluso si 2 discos fallan o funcionan mal, también se pueden recuperar los datos.
La desventaja de esta configuración incluye:
- La redundancia aumenta el tiempo requerido para escribir los datos porque ahora los datos también se escribirán en el segundo disco de paridad.
- En esta configuración, se designa otro disco como disco de paridad, lo que reduce la cantidad de discos de datos en la array.
Publicación traducida automáticamente
Artículo escrito por Tarun_Singhal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA