RAID (Redundant Array of Independents Disk) Presentado por: María Veloz 1 Contenido 1) Términos RAID 2) ¿Que es RAID? 3) Historia 4) Niveles RAID estándard 5) Niveles Anidados RAID 0 RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID 6 RAID 0+1 RAID 1+0 RAID 30 RAID 100 RAID 50 6) Cuadro Resumen 7) RAID: Hardware vs Software 8) Conclusiones 2 1)Términos RAID Striping es la distribución de los datos entre varios discos. Es el acto de unir 2 o mas discos en uno solo logico Duplicación es la copia de datos en más de un disco. Normalmente, las matrices RAID duplicadas permiten el fallo de al menos un disco en la matriz sin pérdida de datos. Tolerancia de fallos permite que una matriz RAID continúe funcionando (por ejemplo, los datos almacenados en la matriz siguen disponibles para el usuario) en caso de una falla del disco. Hot Swap: Habilidad de sustituir un dispositivo o componente defectuoso de un sistema y reemplazarlo por otro sin apagar el sistema y sin interferir en las funciones de otros dispositivos. También llamado "cambio en caliente". 3 1)Términos RAID (continuación) • Mejorar del Rendimiento/ Velocidad: RAID permite a varias unidades trabajar en paralelo, lo que aumenta el rendimiento del sistema. • Mayor Fiabilidad: RAID emplea dos técnicas para aumentar la fiabilidad: • La redundancia de los datos implica el almacenamiento de los mismos datos en más de una unidad. Es muy eficaz pero también es muy costoso. • La paridad de datos se realiza mediante un algoritmo matemático. Es menos costoso que la redundancia, ya que no requiere el uso de un conjunto redundante de unidades de disco. • Alta Disponibilidad: Se divide en dos aspectos: • La integridad de los datos, capacidad de obtener los datos adecuados en cualquier momento. Reparación dinámica de sectores (debidos a errores de software) La tolerancia a fallos capacidad para mantener los datos disponibles en caso de que se produzcan uno o varios fallos en el sistema. 4 2)¿Qué es RAID? • RAID (Redundant Array of Independents Disk), significa matriz redundante de discos independientes. • RAID es un método de combinación de varios discos duros para formar una única unidad lógica en la que se almacenan los datos de forma redundante. Ofrece mayor tolerancia a fallos y los más altos niveles de rendimiento que un sólo disco duro o un grupo de discos duros independientes. • Si se produce un fallo, RAID mantiene el servidor activo y en funcionamiento hasta que se sustituya la unidad defectuosa. • RAID ofrece varias opciones, llamadas niveles RAID, cada una de las cuales proporciona un equilibrio distinto entre tolerancia a fallos, rendimiento y coste. • Los sistemas RAID profesionales deben incluir los elementos críticos por duplicado: fuentes de alimentación y ventiladores redundantes y Hot Swap. De poco sirve disponer de un sistema tolerante al fallo de un disco si después falla por ejemplo una fuente de alimentación que provoca la caída del sistema. 5 3) Historia A Norman Ouchi de IBM le fue concedida en 1978 la Patente USPTO nº 4.092.732, titulada «Sistema para recuperar datos almacenados en una unidad de memoria averiada» (System for recovering data stored in failed memory unit), cuyas demandas describen los que más tarde sería denominado escritura totalmente dividida (full striping). La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. En 1988, los niveles RAID 1 a 5 fueron definidos formalmente por David A. Patterson, Garth A. Gibson y Randy H. Katz en el ensayo «Un Caso para Conjuntos de Discos Redundantes Económicos (RAID)» 6 4) Niveles RAID estándar Los niveles RAID más usados son: RAID 0: Conjunto dividido RAID 1: Conjunto en espejo RAID 5: Conjunto dividido con paridad distribuida A continuación se mostrará los RAID estándar RAID 0 RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID 6 7 RAID 0 Disk Striping "La más alta transferencia, pero sin tolerancia a fallos". • • Los datos se desglosan en pequeños segmentos y se distribuyen entre varias unidades. Este nivel de "array" o matriz no ofrece tolerancia al fallo. El fallo de cualquier disco de la matriz tendría como resultado la pérdida de los datos y sería necesario restaurarlos desde una copia de seguridad. • La velocidad de transferencia de datos aumenta en relación al número de discos que forman el conjunto. • • Aplicación: Tratamiento de imágenes, audio, video o CAD/CAM, es decir, almacenamiento a gran velocidad Se necesita un mínimo de dos unidades de disco para implementar una solución RAID 0. • 8 RAID 1: Mirroring "Redundancia. Más rápido que un disco y más seguro" • Requiere al menos 2 unidades. • La capacidad disponible conjunta de ambas unidades está limitada a la del disco más pequeño. • Si falla uno de los discos físicos, los datos están disponibles al instante en el segundo disco. • Aplicaciones: • RAID 1 proporciona la máxima seguridad de los datos en el caso de un fallo de disco único. • Los datos se escriben dos veces, el rendimiento se reduce ligeramente durante la escritura. • RAID 1 es una excelente elección cuando la seguridad es más importante que la velocidad. 9 RAID 2: "Acceso paralelo con discos especializados. Redundancia a través del código Hamming" • Adapta la técnica usada para detectar y corregir errores en memorias de estado sólido. • RAID 2 no se ha implementado como producto comercial. Requiere características especiales en los discos, es decir, no usa discos estándares. 10 RAID 3: "Acceso síncrono con un disco de paridad dedicado" • • • • • • • • • Dedica un único disco al almacenamiento de información de paridad. La información de ECC (Error Checking and Correction) se usa para detectar errores. La operación I/O accede a todos los discos al mismo tiempo. Se necesita un mínimo de tres unidades para implementar una solución RAID 3. Aplicaciones: RAID 3 proporciona una excelente seguridad de los datos para entornos donde se leen archivos largos y secuenciales, como archivos de vídeo. La avería del disco no produce una interrupción del servicio, porque los datos se leen desde bloques de paridad. RAID 3 es útil para las personas que necesitan rendimiento y un acceso constante a sus datos, como editores de vídeo. 11 RAID 4: "Acceso Independiente con un disco dedicado a paridad." • Dedica un disco para guardar la información de paridad de los otros discos. • Este nivel de RAID se implementa poco comercialmente. • Se necesita un mínimo de tres unidades para implementar una solución RAID 4. • La diferencia con el RAID 3 está en que se puede acceder a los discos de forma individual. 12 RAID 5: "Acceso independiente con paridad distribuida." • • Este array ofrece tolerancia al fallo, pero además, optimiza la capacidad del sistema permitiendo una utilización de hasta el 80% de la capacidad del conjunto de discos. Si cualquiera de las unidades de disco falla, se puede recuperar la información en tiempo real, sobre la marcha, mediante una simple operación de lógica de O exclusivo, sin que el servidor deje de funcionar. • Aplicaciones: • RAID 5 combina la seguridad de datos con la utilización eficaz del espacio de disco. La avería del disco no produce una interrupción del servicio, porque los datos se leen desde bloques de paridad. RAID 5 es útil para las personas que necesitan rendimiento y un acceso constante a sus datos, como editores de vídeo. • 13 RAID 6: "Acceso independiente con doble paridad" • Similar al RAID 5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y a las caídas de disco, ofreciendo dos niveles de redundancia. • • Aplicaciones: RAID 6 proporciona fiabilidad de datos con el añadido de una reconstrucción eficaz en caso de avería de disco. Por tanto, RAID 6 es útil para personas que necesitan auténtica seguridad con menos énfasis en el rendimiento. Buena elección para aplicaciones criticas • • 14 RAID 5E y RAID 6E Se suele llamar RAID 5E y RAID 6E a las variantes de RAID 5 y RAID 6 que incluyen discos de reserva. Estos discos pueden estar conectados y preparados (hot spare) o en espera (standby spare). 15 5) Niveles Anidados Muchas controladoras permiten anidar niveles RAID, es Los niveles RAID anidados más comúnmente usados son: RAID 0+1: Un espejo de divisiones RAID 1+0: Una división de espejos RAID 30: Una división de niveles RAID con paridad dedicada RAID 100: Una división de una división de espejos RAID 50 16 RAID Anidados RAID 0+1 Un RAID 0+1 (también llamado RAID 01, que no debe confundirse con RAID 1) es un RAID usado para replicar y compartir datos entre varios discos. La diferencia entre un RAID 0+1 y un RAID 1+0 es la localización de cada nivel RAID dentro del conjunto final: un RAID 0+1 es un espejo de divisiones 17 RAID Anidados RAID 1+0 Un RAID 1+0, a veces llamado RAID 10, es parecido a un RAID 0+1 con la excepción de que los niveles RAID que lo forman se invierte: el RAID 10 es una división de espejos. Buena elección para base de datos 18 RAID Anidados RAID 30 El RAID 30 o división con conjunto de paridad dedicado es una combinación de un RAID 3 y un RAID 0. El RAID 30 proporciona tasas de transferencia elevadas combinadas con una alta fiabilidad a cambio de un coste de implementación muy alto. La mejor forma de construir un RAID 30 es combinar dos conjuntos RAID 3 con los datos divididos en ambos conjuntos. Buena elección para aplicaciones no iteractivas 19 RAID Anidados RAID 100 Un RAID 100, a veces llamado también RAID 10+0, es una división de conjuntos RAID 10. El RAID 100 es un ejemplo de «RAID cuadriculado», un RAID en el que conjuntos divididos son a su vez divididos conjuntamente de nuevo. Muy buena elección para base de datos 20 RAID Anidados RAID 50 Un RAID 50, a veces llamado también RAID 5+0, combina la división a nivel de bloques de un RAID 0 con la paridad distribuida de un RAID 5, siendo pues un conjunto RAID 0 dividido de elementos RAID 5. 21 6) Cuadro Resumen Nivel 0 1 2 3 4 5 6 0+1 1+0 30 50 Rendimiento Si(a) Si, E(L) Si(a) Si E(L) Si(b) Si E(L) Si Si S Si Si Integridad No Si Si Si Si Si Si Si Si Si Si Costo Si Si(+) Si(+) Si(-) Si(-) Si(-) Si(+) Si(+) Si(+) Si(+ ) Si(+) Discos Mínimo 2 2 39 D=32 CE=7 3 3 3 3 4 4 6 6 Discos Máximo 16 2 N/A N/A 16 Implementación Si Si No Si Si, poco Si No Si Si Si Si Tolerancia a NO Si Si Si Si Si Si Si Si Si Si Bit Byte Bloques/ sectores Bloques Si Cod Hamming Si D Par S Si Par Dist Si Doble Par Dist Si Si Si D Par Si D Par Si Si Si Si Si 22Si Si S Si Falla Bit/Bloque/byte Redundancia Recuperación NO NO Si Si D P Bloques 7) RAID: Hardware vs Software Hardware: Es fundamental que el sistema operativo cuente con con los drivers necesarios para poder manejar la controladora RAID por Hardware. Independencia de la plataforma o sistema operativo, ya que son vistos por éste como un gran disco duro, y además son mucho más rápidos. Software: Es el propio sistema operativo el que maneja por software el RAID. Las ventajas son, que podemos realizar RAID con particiones en lugar de discos completos, y que no necesitamos drivers específicos para el manejador del hardware. La desventaja es que hay un consumo de recursos del sistema para realizar la gestión del sistema RAID. 23 7) RAID: Hardware vs Software Hardware: Ventajas - Hot swapping - Capacidad virtualmente limitada - Mas fiable Desventajas - Alto Costo - Poca flexibilidad - Añaden un punto de fallo al sistema (la controladora RAID). Software: Ventajas - Flexible - Bajo Costo Desventajas - Capacidad limitada - Consumo de CPU . 24 7) RAID Software, Ejemplo Creación del RAID1 Tenemos 2 discos duros de 2Gb, con los cuales vamos a crear RAID1 Para ello debemos crear 2 particiones del mismo tamaño, uno será el espejo. Para eso usaremos el comando fdisk de la siguiente manera. Creando 1ra partición para el 1r disco fdisk /dev/sda Creando 2da partición para el 2do disco fdisk /dev/sdb Mostramos la tabla de particiones de tipo LINUX RAID AUTODETECT para cada uno Ahora tenemos sda1 y sdb1 de tipo fd para linux Una vez creadas las 2 particiones, pasamos a crear el RAID 1. Para crear el RAID 1 usaremos el comando mdadm con la siguiente sintaxis: mdadm --create /dev/md0 --level=1 raid divice=2 /dev/sd[ab]1 25 7) RAID Software: Ejemplo 26 7) RAID Software: Ejemplo Así creamos RAID1 llamado md0 (/dev/md0) que contine las particiones de los discos (/dev/sda1 y /dev/sdb1) 27 7) RAID Software: Ejemplo 28 8) Conclusiones 29 30