Raid con discos de diferente tamaño

Número mínimo de discos Raid 5
En almacenamiento informático, los niveles RAID estándar comprenden un conjunto básico de configuraciones RAID (“matriz redundante de discos independientes” o “matriz redundante de discos económicos”) que emplean las técnicas de striping, mirroring o paridad para crear grandes almacenes de datos fiables a partir de múltiples unidades de disco duro (HDD) de ordenador de uso general. Los tipos más comunes son RAID 0 (striping), RAID 1 (mirroring) y sus variantes, RAID 5 (paridad distribuida) y RAID 6 (paridad dual). También se pueden combinar o anidar varios niveles RAID, por ejemplo RAID 10 (striping de espejos) o RAID 01 (mirroring stripe sets). Los niveles RAID y sus formatos de datos asociados están estandarizados por la Storage Networking Industry Association (SNIA) en el estándar Common RAID Disk Drive Format (DDF)[1] Los valores numéricos sólo sirven como identificadores y no significan rendimiento, fiabilidad, generación o cualquier otra métrica.
Aunque la mayoría de los niveles RAID pueden proporcionar una buena protección y recuperación frente a defectos de hardware o sectores defectuosos/errores de lectura (errores duros), no proporcionan ninguna protección frente a la pérdida de datos debida a fallos catastróficos (fuego, agua) o errores blandos como errores de usuario, mal funcionamiento del software o infección por malware. En el caso de los datos valiosos, RAID es sólo un componente básico de un plan más amplio de prevención de pérdida de datos y recuperación: no puede sustituir a un plan de copias de seguridad.
¿Se puede hacer RAID con discos de distinto tamaño?
¿Deben ser idénticos los discos duros de una matriz RAID? No. Es perfectamente válido utilizar discos duros de distintos fabricantes, números de modelo, tamaños y velocidad de rotación (velocidad del cabezal o RPM).
¿Puede un RAID 5 tener unidades de distintos tamaños?
¿Todas las unidades tienen que ser del mismo modelo y capacidad para una matriz RAID 5? La respuesta corta es No, las unidades no tienen por qué ser exactamente iguales. La explicación más larga es que, por motivos de compatibilidad, normalmente recomendamos utilizar el mismo modelo.
Raid 1 unidades de diferentes tamaños
La solución combina al menos dos unidades para crear un pool de almacenamiento. Los pools de almacenamiento JBOD no ofrecen redundancia de datos. La capacidad disponible de un pool de almacenamiento JBOD es igual a la capacidad total de todas las unidades incluidas en el pool de almacenamiento. JBOD permite combinar discos de diferentes tamaños.
RAID 0 combina dos o más unidades para aumentar el rendimiento y la capacidad, pero no ofrece tolerancia a fallos. El fallo de una sola unidad provocará la pérdida de todos los datos de la matriz. El RAID 0 es útil para sistemas no críticos en los que se requiere un alto equilibrio entre precio y rendimiento.
RAID 1 se suele implementar con dos unidades. Los datos de las unidades se duplican, lo que proporciona tolerancia a fallos en caso de fallo de la unidad. El rendimiento de lectura aumenta, mientras que el de escritura es similar al de una sola unidad. Un fallo de una sola unidad puede soportarse sin pérdida de datos. RAID 1 se suele utilizar cuando la tolerancia a fallos es clave, mientras que el espacio y el rendimiento no son requisitos críticos.
RAID 5 proporciona tolerancia a fallos y un mayor rendimiento de lectura. Se necesitan al menos tres unidades. RAID 5 puede soportar la pérdida de una sola unidad. En caso de fallo de una unidad, los datos de la unidad averiada se reconstruyen a partir de la paridad distribuida en las unidades restantes. Como resultado, tanto el rendimiento de lectura como el de escritura se ven gravemente afectados mientras una matriz RAID 5 se encuentra en un estado degradado. RAID 5 es ideal cuando el espacio y el coste son más importantes que el rendimiento.
Raid con unidades de diferentes tamaños
Este apéndice describe los niveles RAID admitidos por el HBA interno Sun StorageTek SAS RAID y proporciona una descripción general básica de cada uno de ellos para ayudarle a seleccionar el mejor nivel de protección para su sistema de almacenamiento.
Un segmento de unidad es una unidad de disco o parte de una unidad de disco que se utiliza para crear una matriz. Una unidad de disco puede incluir tanto segmentos RAID (segmentos que forman parte de una matriz) como segmentos disponibles. Cada segmento sólo puede formar parte de un dispositivo lógico a la vez. Si una unidad de disco no forma parte de ningún dispositivo lógico, todo el disco es un segmento disponible.
Una matriz con RAID 0 incluye dos o más unidades de disco y proporciona striping de datos, donde los datos se distribuyen uniformemente por las unidades de disco en secciones de igual tamaño. Sin embargo, las matrices RAID 0 no mantienen datos redundantes, por lo que no ofrecen protección de datos.
El tamaño del segmento de la unidad está limitado al tamaño de la unidad de disco más pequeña de la matriz. Por ejemplo, una matriz con dos unidades de disco de 250 GB y dos unidades de disco de 400 GB puede crear un segmento de unidad RAID 0 de 250 GB, para un total de 1000 GB para el volumen, como se muestra en esta figura.
Raid 0 unidades de diferentes tamaños
Para mi sorpresa, el instalador de CentOS 7 me permitió crear un dispositivo RAID 0 compuesto por un disco de 17 GB y otro de 26 GB. Habría esperado que aunque lo permitiera, el tamaño lógico sería 2 * min(17 GB, 26 GB) ~= 34 GB.
Modo RAID0/Stripe: Los dispositivos deberían (pero no TIENEN que) ser del mismo tamaño. Si un dispositivo es mucho más grande que los otros, ese espacio extra se sigue utilizando en el dispositivo RAID, pero accederás a este disco más grande solo, durante las escrituras en el extremo superior de tu dispositivo RAID. Esto, por supuesto, perjudica el rendimiento.
La lectura de los “bloques” 04-05 tendría que hacerse sólo desde el disco0, así que no hay ventaja de striping ahí. Los dispositivos md deberían ser particionables, así que probablemente podrías probar con particiones al principio y al final del dispositivo para ver si la diferencia de velocidad se hace evidente.
El tamaño resultante del disco raid0 es de unos 17+26=43GB. Al escribir en los primeros 2*17=34GB el rendimiento es el habitual: aproximadamente el doble que el de un disco simple, suponiendo que el rendimiento del bus sea suficiente. Al escribir en los últimos 26-17=9GB, el rendimiento es el mismo que el de un disco simple.