RAID


Proviene de Redundant Array of Inexpensive Disks - conjunto redundante de discos baratos. Actualmente de Redundant Array of Independent Disks - conjunto redundante de discos independientes.

Es un sistema de almacenamiento de información que utiliza múltiples discos duros en donde se distribuyen y/o duplican datos. (Existen RAID en un solo disco duro, pero las ventajas no son importantes y técnicamente no es RAID).
Un solo disco duro contiene la información dentro de sí una sola vez. El uso de múltiples discos duros con información duplicada y/o distribuida posee ventajas en su seguridad, mayor tolerancia a fallos, mejor rendimiento y mayor capacidad. Estas ventajas dependen del tipo de configuración RAID que se utilice.
RAID utiliza múltiples discos como si se tratara de una unidad lógica sola. El sistema operativo y el usuario ven un solo disco, pero en realidad la información es almacenada en todos los discos.
En términos generales, crear un espejo de la información en dos o más discos duros produce un gran aumento en la velocidad de lectura, pues permite leer múltiples sectores de datos de cada disco duro al mismo tiempo utilizando canales de transferencia de datos distintos. También es una gran ventaja en la seguridad de la información. Al romperse un disco duro la información sigue estando duplicada en otro disco duro de forma correcta. Esto es útil en equipos server donde la información es importante y la perdida de esta conlleva un gasto de tiempo y dinero. Tambien es recomendable la utilización de sistemas Hot Swap, sistemas en caliente, donde la sustitución en caso de fallo se realiza sin parar ni reiniciar el sistema.
Todos los sistemas RAID suponen la pérdida de parte de la capacidad de almacenamiento de los discos, para conseguir la redundancia o almacenar los datos de paridad.
En tanto almacenar trozos (clusters) de un mismo archivo en múltiples discos duros al a vez, utilizando distintos canales de transferencia de información, significa un incremento sustancial de la velocidad de escritura y de lectura.
RAID proporciona tolerancia a fallos, mejora el rendimiento del sistema y aumenta la productividad.


Tolerancia a fallos: RAID protege contra la pérdida de datos y proporciona recuperación de datos en tiempo real con acceso interrumpido en caso de que falle un disco.

Mejora del Rendimiento/ Velocidad: Una matriz consta de dos o más discos duros que ante el sistema principal funcionan como un único dispositivo. Los datos se desglosan en fragmentos que se escriben en varias unidades de forma simultánea. Este proceso, denominado fraccionamiento de datos, incrementa notablemente la capacidad de almacenamiento y ofrece mejoras significativas de rendimiento. RAID permite a varias unidades trabajar en paralelo, lo que aumenta el rendimiento del sistema.

Mayor Fiabilidad: Las soluciones RAID emplean dos técnicas para aumentar la fiabilidad: la redundancia de datos y la información de paridad. La redundancia implica el almacenamiento de los mismos datos en más de una unidad. De esta forma, si falla una unidad, todos los datos quedan disponibles en la otra unidad, de inmediato. Aunque este planteamiento es muy eficaz, también es muy costoso, ya que exige el uso de conjuntos de unidades duplicados. El segundo planteamiento para la protección de los datos consiste en el uso de la paridad de datos. La paridad utiliza un algoritmo matemático para describir los datos de una unidad. Cuando se produce un fallo en una unidad se leen los datos correctos que quedan y se comparan con los datos de paridad almacenados por la matriz. El uso de la paridad para obtener fiabilidad de los datos es menos costoso que la redundancia, ya que no requiere el uso de un conjunto redundante de unidades de disco.

Alta Disponibilidad: RAID aumenta el tiempo de funcionamiento y la disponibilidad de la red. Para evitar los tiempos de inactividad, debe ser posible acceder a los datos en cualquier momento. La disponibilidad de los datos se divide en dos aspectos: la integridad de los datos y tolerancia a fallos. La integridad de los datos se refiere a la capacidad para obtener los datos adecuados en cualquier momento. La mayoría de las soluciones RAID ofrecen reparación dinámica de sectores, que repara sobre la marcha los sectores defectuosos debidos a errores de software. La tolerancia a fallos, el segundo aspecto de la disponibilidad, es la capacidad para mantener los datos disponibles en caso de que se produzcan uno o varios fallos en el sistema.

Existen dos tipos de tecnología RAID: basada en software y basada en hardware.

A su vez, el RAID basado en hardware puede ser basado en host o RAID externo.

La ventaja de los RAID basados en hardware es su independencia de la plataforma o sistema operativo, ya que son vistos por éste como un gran disco duro más, y además son mucho más rápidos, entre otras ventajas. Los sistemas RAID software no son implementaciones adecuadas en la mayoría de los casos, y cada vez son menos empleados.

El software RAID puede ser una opción apropiada cuando el factor de decisión es el coste inicial, pero a largo plazo puede ser la mas rentable. Este coste más elevado de propiedad del RAID basado en software, es debido a la productividad más baja del usuario, costes más altos de gestión y reconfiguración. Sistemas operativos de redes Windows incluyen software RAID integrado. Todas las funciones RAID son manejadas por la CPU, lo que puede ralentizar en exceso otras aplicaciones. Este tipo de RAID no ofrece protección para el sistema operativo, a menos que se añada una unidad adicional a la matriz. Además, el RAID basado en software no cuenta con importantes características, como el intercambio de unidades de repuesto en funcionamiento, matrices de arranque y funciones de gestión remota. La utilización excesiva de la CPU es su principal inconveniente. Las soluciones RAID dependen del software para controlar la matriz. Sin embargo, las matrices basadas en software ejecutan todos los comandos de E/S y los algoritmos con numerosas operaciones matemáticas en la CPU del host. Esto puede ralentizar el rendimiento del sistema, ya que aumenta el tráfico del bus PCI del host y la utilización e interrupciones de la CPU. El uso del software RAID puede degradar el rendimiento del sistema hasta un nivel en el que resulta más costoso actualizar.

A diferencia de las matrices basadas en software, las que están basadas en hardware utilizan controladores RAID que se conectan a una ranura PCI del host o integradas en la placa madre. Con tan sólo una diferencia mínima de precio con respecto al coste del controlador que se necesita para el software RAID, el hardware RAID ofrece ventajas significativas en lo que respecta a:

• Rendimiento

• Integridad de los datos

• Gestión de matrices

El hardware RAID basado en host supone un mayor rendimiento que el RAID basado en software, sin embargo la solución más profesional y de gama alta es la solución hardware RAID externa. En este caso, las operaciones RAID se llevan a cabo mediante un controlador situado en el subsistema de almacenamiento RAID externo, que se conecta al servidor mediante un adaptador de bus de host SCSI o Fibre Channel. Las soluciones RAID externas son independientes del sistema operativo, aportan mayor flexibilidad y permiten crear sistemas de almacenamiento de gran capacidad para servidores de gama alta.

Algunos términos interesantes de recordar:



Hot swap:Son discos que se reemplazan en caliente. Esto quiere decir que si alguno de los discos RAID se estropeara físicamente bastaría con quitarlo y poner otro sin tener que apagar el sistema.

Hot spare: Disco sobrante. Es un disco que permanece siempre en el sistema esperando a que uno se estropee y él entre directamente en funcionamiento.

Integridad de los datos: es la capacidad que tiene un disco de aguantar un error de grabación, de corrupción o pérdida de datos. Para tal efecto se tiene que seleccionar un disco RAID o una alternativa. El nivel de integridad es uno de los primeros criterios que se han de investigar.

Mirroring: Haciendo espejo. Es un nivel de RAID (el nivel 1) que pasa por hacer una copia íntegra de un disco en otro.

Paridad: es una información redundante que es guardada para regenerar datos perdidos por un error en el disco. La paridad se genera haciendo un XOR sobre los datos de los discos y aguardándolo en otro disco o en un disco dedicado a este efecto, esto dependerá del nivel RAID que usemos.

Striping: es el acto de unir dos o más discos físicos en un solo disco lógico con el fin de dividir los datos entre los diferentes discos para ofrecer una significativa mejora en el rendimiento del conjunto de los discos.

NIVELES DE RAID


Nivel 0 - Striped Disk Array: este nivel provee data striping pero sin redundancia de datos. Mejora el rendimiento general, pero no provee tolerancia a fallas. 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. Al no existir redundancia, RAID 0 no ofrece ninguna protección de los datos. 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. Consiste en una serie de unidades de disco conectadas en paralelo que permiten una transferencia simultánea de datos a todos ellos, con lo que se obtiene una gran velocidad en las operaciones de lectura y escritura. La velocidad de transferencia de datos aumenta en relación al número de discos que forman el conjunto. Se necesita un mínimo de dos unidades de disco para implementar una solución RAID 0. Se recomienda para equipos de producción y edición de Videos,edición de imágenes o cualquier aplicación que utilice gran tasa de transferencia de ancho de banda.



Nivel 1 - Mirroring and Duplexing. Este nivel provee el doble de velocidad de lectura, pero igual velocidad de escritura con respecto a un disco simple. Se basa en la utilización de discos adicionales sobre los que se realiza una copia en todo momento de los datos que se están modificando. RAID 1 ofrece una excelente disponibilidad de los datos mediante la redundancia total de los mismos. Para ello, se duplican todos los datos de una unidad en otra. De esta manera se asegura la integridad de los datos y la tolerancia al fallo, pues en caso de avería, la controladora sigue trabajando con los discos no dañados sin detener el sistema. Los datos se pueden leer desde la unidad duplicada sin que se produzcan interrupciones. Se necesita un mínimo de dos unidades para implementar una solución RAID 1.



Nivel 2 - Error-Correcting Coding. Este nivel segmenta los datos a nivel de bits en lugar de bloques.

El RAID nivel 2 adapta la técnica comúnmente usada para detectar y corregir errores en memorias de estado sólido. En un RAID de nivel 2, el código ECC (Error Correction Code) se intercala a través de varios discos a nivel de bit. El método empleado es el Hamming. Puesto que el código Hamming se usa tanto para detección como para corrección de errores (Error Detection and Correction), RAID 2 no hace uso completo de las amplias capacidades de detección de errores contenidas en los discos. Las propiedades del código Hamming también restringen las configuraciones posibles de matrices para RAID 2, particularmente el cálculo de paridad de los discos. Por lo tanto, RAID 2 no ha sido apenas implementado en productos comerciales, lo que también es debido a que requiere características especiales en los discos y no usa discos estándares.

Debido a que es esencialmente una tecnología de acceso paralelo, RAID 2 está más indicado para aplicaciones que requieran una alta tasa de transferencia y menos conveniente para aquellas otras que requieran una alta tasa de demanda I/O.



Nivel 3 - Bit-Interleaved Parity. Este nivel segmenta los datos a nivel de byte con un disco de paridad dedicado. No puede servir varias solicitudes simultáneas.

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 recuperación de datos se consigue calculando el O exclusivo (XOR) de la información registrada en los otros discos. La operación I/O accede a todos los discos al mismo tiempo, por lo cual el RAID 3 es mejor para sistemas de un sólo usuario con aplicaciones que contengan grandes registros.

RAID 3 ofrece altas tasas de transferencia, alta fiabilidad y alta disponibilidad, a un coste intrínsicamente inferior que un Mirroring (RAID 1). Sin embargo, su rendimiento de transacción es pobre porque todos los discos del conjunto operan al unísono.

Se necesita un mínimo de tres unidades para implementar una solución RAID 3.



Nivel 4 - Dedicated Parity Drive. Este nivel segmenta los datos a nivel de bloque, pero con un disco de paridad. Permite tolerancia a fallas. El problema es que el disco de paridad puede disminuir la velocidad de escritura.

Basa su tolerancia al fallo en la utilización de un disco dedicado a guardar la información de paridad calculada a partir de los datos guardados en los otros discos. En caso de avería de cualquiera de las unidades de disco, la información se puede reconstruir en tiempo real mediante la realización de una operación lógica de O exclusivo. Debido a su organización interna, este RAID es especialmente indicado para el almacenamiento de ficheros de gran tamaño, lo cual lo hace ideal para aplicaciones gráficas donde se requiera, además, fiabilidad de los datos. Se necesita un mínimo de tres unidades para implementar una solución RAID 4. La ventaja con el RAID 3 está en que se puede acceder a los discos de forma individual.



Nivel 5 - Block Interleaved Distributed Parity. Este nivel segmenta los datos a nivel de byte, y también permite información para corrección de errores de segmentación. Provee buena tolerancia a fallo y muy buen rendimiento.

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. Esto lo consigue mediante el cálculo de información de paridad y su almacenamiento alternativo por bloques en todos los discos del conjunto. La información del usuario se graba por bloques y de forma alternativa en todos ellos. De esta manera, 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.

Así pues, para evitar el problema de cuello de botella que plantea el RAID 4 con el disco de comprobación, el RAID 5 no asigna un disco específico a esta misión sino que asigna un bloque alternativo de cada disco a esta misión de escritura. Al distribuir la función de comprobación entre todos los discos, se disminuye el cuello de botella y con una cantidad suficiente de discos puede llegar a eliminarse completamente, proporcionando una velocidad equivalente a un RAID 0.

RAID 5 es el nivel de RAID más eficaz y el de uso preferente para las aplicaciones de servidor básicas para la empresa. Comparado con otros niveles RAID con tolerancia a fallos, RAID 5 ofrece la mejor relación rendimiento-coste en un entorno con varias unidades. Gracias a la combinación del fraccionamiento de datos y la paridad como método para recuperar los datos en caso de fallo, constituye una solución ideal para los entornos de servidores en los que gran parte del E/S es aleatoria, la protección y disponibilidad de los datos es fundamental y el coste es un factor importante. Este nivel de array es especialmente indicado para trabajar con sistemas operativos multiusuarios.

Se necesita un mínimo de tres unidades para implementar una solución RAID 5.

Los niveles 4 y 5 de RAID pueden utilizarse si se disponen de tres o más unidades de disco en la configuración, aunque su resultado óptimo de capacidad se obtiene con siete o más unidades. RAID 5 es la solución más económica por megabyte, que ofrece la mejor relación de precio, rendimiento y disponibilidad para la mayoría de los servidores (archivos, bases de datos, web, correo, intranet, etc.).

Nivel 6 - Independent Data Disks with Double Parity. Este nivel es similar al Raid 5 y provee segmentación a nivel de bloque con paridad distribuida entre todos los discos., por tanto ofrece tolerancia extremadamente alta a los fallos y a las caídas de disco, ofreciendo dos niveles de redundancia. Hay pocos ejemplos comerciales en la actualidad, ya que su coste de implementación es mayor al de otros niveles RAID, ya que las controladoras requeridas que soporten esta doble paridad son más complejas y caras que las de otros niveles RAID. Así pues, comercialmente no se implementa.

Nivel 0+1 - A Mirror of Stripes. Se crean dos RAID 0 y un espejo RAID 1 sobre ellos.

Nivel 10 - A Stripe of Mirrors. Se espejan varios RAID 1, y un disco de segmentación RAID 0 sobre estos.

Se necesita un minimo de 4 discos duros y es recomendado para servidores de datos. Proporciona tolerancia a fallos y mejora en el rendimiento, pero aumenta la complejidad.

Nivel 7 - Está registrado por Storage Computer Corporation y permite caché de datos a los niveles 3 o 4.


RAID S - Sistema RAID paritario, es empleado en los sistemas de almacenamiento Symmetrix. Es propiedad EMC Corporation.

RAID-53. Este tipo ofrece un conjunto de bandas en el cual cada banda es un conjunto de discos RAID-3. Esto proporciona mejor rendimiento que el RAID-3, pero a un costo mucho mayor.

SISTEMAS DE ARCHIVO - TABLA COMPARATIVA

Sistemas operativos soportadosLongitud maxima de nombre fichero
bytes          
Tamaño maximo de archivo       Numero maximo de
archivos          
Tamaño maximo volumen     POSIX Permisos de archivos       Journaling   Contenido directorios   
FAT12Dos de Microsoft windows8.332Mb407732MbNOTabla
FAT16Dos de Microsoft windows8.32Gb656172GbNOtabla
FAT32DOS v7 ,Windows 98,ME,2000, XP,
2003,VISTA,7
8.34Gb2684354372TBNOtabla
NTFSWindows 2000, XP, 2003,VISTA,725516EB42949672952^64ACLSitree-b+
HPFSOS/2,WINDOWS NT,LINUX,FREEBSD2552Gbilimitado2TbsiNOtree-b+
HFSMAC OS, MAC OS X312Gb655352TbappleshareNOtree-b*
HFS+MAC OS 8,9,X, DARWIN & GNU/LINUX2558Eb2^328EbACLSItree-b
EXT2LINUX,BSD,WINDOWS(MEDIANTE IFS),
MAC OS X
2552Tb10^1816TbsiNoi-nodos
EXT3LINUX,BSD,WINDOWS(A TRAVES DE
IFS)                                    
2552Tb32TbUnix,ACLSItabla/arbol
EXT4LINUX25616Tb2^321EbsiSItabla/arbol
REISERFS  LINUX40328Tb2^3216TbUnix,ACLSItree-b+
REISER3      LINUX40328Tb2^3216TbUnix,ACLSItree-b+
REISER4LINUX3976 octetos8TbSIDancing tree-b
ZFSLINUX, MAC OS X,FREEBSD,SOLARIS255 octetos

16 Eb2^4816 EbsiNo,
 usa ZIL
extensive hash table
XFSIRIX,LINUX,FREEBSD255 octetos8 Eb64 Tb16 EbACLSItree-b+

SISTEMAS DE ARCHIVO - DEFINICION

Un sistema de ficheros (filesystem en ingles) es un método para el almacenamiento y organización de los archivos y datos que contiene una computadora para facilitar la localización de estos y poder acceder a ellos. Los sistemas de archivos son usados en dispositivos de almacenamiento como discos duros y cd-rom.
Un disco duro se conforma de varios discos circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (WINDOWS,LINUX,MAC,MSDOS,…) use el espacio disponible en disco para almacenar y utilizar archivos. El sistema de archivos se basa en la administración de clústers, la unidad de disco más pequeña que el sistema operativo puede administrar.
Un clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea el tamaño del clúster, menores utilidades tendrá que administrar el sistema operativo... Por el otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras de asignación (es decir que un archivo ocupa un número entero de clústers), cuantos más sectores haya por clúster, más espacio desperdiciado habrá. Por esta razón, la elección de un sistema de archivos es importante. Explicaremos a continuación las características de los sistema de ficheros mas importantes.
Evolucion de sistema de archivos:
http://www.worldlingo.com/ma/enwiki/es/Comparison_of_file_systems

SISTEMAS DE ARCHIVO - MSDOS - FAT12

El Fat12: (File Allocation Table - Tabla de Ubicación de Ficheros) fue la versión inicial del sistema de archivos FAT en 1977 por Microsoft en el MSDOS 1.1 y estaba inspirado en el sistema de ficheros de unix. Es el sistema de ficheros que utilizan los disquetes y utilizaban los primeros discos duros.Sus caracteristicas:
*No soporta anidación de carpetas.
*Las direcciones de bloque solamente contienen 12 bits, complicando la implementación.
*El tamaño del disco es almacenado como una cuenta de 16 bits expresada en sectores, limitando el espacio manejable a 32 megabytes.
*la fragmentación excesiva de los datos. Cuando se borran y escriben nuevos archivos, suele dejar fragmentos dispersos por todo el soporte de almacenamiento. Esto complica el proceso de lectura y escritura, haciéndose cada vez más lento.
* El sistema FAT tampoco fue diseñado para ser redundante ante fallos.
* No posee permisos de seguridad para cada archivo, por lo tanto cualquier usuario puede acceder a cualquier fichero en el soporte.
Es un formato sencillo, muy popular para tarjetas de memorias, almacenamiento USB y dispositivos similares.

El sistema de archivos FAT se compone de cuatro secciones:
*Sector de arranque.
*Región FAT: que contiene la tabla de asignación de archivos.
*La región del directorio raíz.
*La región de datos: donde se almacena el contenido de ficheros y carpetas.

Para mas información: http://support.microsoft.com/default.aspx?scid=kb;en-us;65541

SISTEMAS DE ARCHIVO - MSDOS - FAT16

Sucesor del FAT12, apareció en 1987,utilizado a partir de MS-DOS 3.0 cada cluster está representado en la FAT por un número de 16 bits ,con lo que el disco puede tener un máximo de 216 = 65.536 unidades de asignación
Esté sistema tiene dos inconvenientes: en primer lugar el tamaño máximo de 2 GB. El segundo es el espacio desperdiciado. Cada fichero que se almacena en el disco ocupa los clusters completos que necesita, por lo que si el fichero tiene un tamaño de 2 KB, ocupará un cluster de 32 KB, desperdiciando 30 KB.
Las primeras versiones de FAT permitían nombres de archivo de hasta 8+3 caracteres (8 para el nombre y 3 para la extensión), aunque esto fue solucionado al inventar VFAT, que permite nombres de hasta 255 caracteres.