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.

SISTEMAS DE ARCHIVO - MSDOS - FAT32

Sucesor del FAT16 fue introducido con Windows 95b y con el SO DOS v.7.x .Su lanzamiento es debido a la limitación de 2 Gb de la FAT16.
Microsoft denominó al nuevo sistema Virtual FAT (VFAT) e incorporó algunas mejoras, como la posibilidad de utilización de nombres largos para los ficheros y directorios. Pero VFAT es un sistema de ficheros básicamente igual que los FAT anteriores, la mayoría de las implementaciones se basan mas en "como" se usa el sistema que en cambios estructurales.
Aunque sea de 32 bit, en realidad los 4 superiores están reservados. Los 28 restantes permiten direccionar 228 = 268.435.456 clusters pudiendo tener particiones de hasta 1.07 TB (1.073 · 1012 bytes).
Frente a FAT16 posee la ventaja de no utilizar un tamaño fijo para la tabla de entradas, lo que permite introducir cualquier número de sub directorios y archivos en el directorio raíz. La contrapartida es que se aprecia una considerable pérdida de prestaciones frente a la FAT16. En concreto aparecen pérdidas de del orden de un 5% de prestaciones al convertir un disco de FAT 16 a FAT 32, notándose más en los ficheros más pequeños. Hay que resaltar que la versión OSR2 (Windows95 OEM Service Release 2) es, en general, más lenta de acceso a disco que la anterior.
Con Windows98-2E, Microsoft introdujo una nueva versión de su sistema FAT32 con las siguientes mejoras respecto a las implementaciones anteriores:
Admite unidades de hasta 2 TB (Terabytes) de tamaño.
· Utiliza clústeres menores que las versiones FAT anteriores. Es decir, clústeres de 4 KB para unidades de hasta 8 GB de tamaño, lo que da como resultado un uso de entre el 10 y el 15 más eficiente del espacio de disco con respecto a las grandes unidades FAT16.
· Puede reubicar el directorio raíz y utilizar la copia de seguridad de la FAT en lugar de la copia predeterminada. Además, se ha ampliado el registro de inicio de las unidades FAT32 para incluir una copia de seguridad de las estructuras de datos críticas. Esto significa que las unidades FAT32 son menos susceptibles a un único punto de fallo que los volúmenes FAT16 existentes.
· El directorio raíz de una unidad FAT32 es ahora una cadena normal de clústeres, por lo que puede ubicarse en cualquier lugar de la unidad. Por ello, ya no existen las limitaciones anteriores sobre el número de entradas del directorio raíz.

SISTEMAS DE ARCHIVO - WINDOWS -NTFS

NTFS: ("New Technology File System”)
Es un sistema de archivos que fue diseñado para Windows NT, y ha seguido evolucionando en las versiones posteriori de windows reemplazando el sistema FAT.
Fue creado para lograr un sistema de archivos eficiente y seguro y está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2. También tiene características del filesystem HFS diseñado por Apple.NTFS permite definir el tamaño del clúster de forma independiente al tamaño de la partición. El tamaño mínimo del bloque es de 512 bytes. Este sistema también admite compresión de ficheros uno a uno; un protocolo de autorización de uso y de atributos de fichero muy desarrollado; sistema de operación basado en transacciones; soporte RAID ; posibilidad de juntar las capacidades de dos unidades en un volumen único ("Disk striping") y muchas otras mejoras, como es la capacidad de anotar clusters malos ("Hot fixing") en run-time.Es un sistema ideal para particiones de gran tamaño, pudiendo manejar discos de hasta 2 terabytes.Windows NT, 2000, 2003, XP y Vista soportan el sistema NTFS habiendo varias versiones de NTFS: v1.2 en NT 3.51 y NT 4, v3.0 en Windows 2000 y v3.1 en Windows XP y Windows 2003 Server.
Sus desventajas son:*Utiliza gran cantidad de espacio en disco para sí mismo.*No es compatible con sistemas operativos como DOS, Windows 95, 98 ni ME.*No puede ser usado en disquetes.*La conversión a NTFS es unidireccional, por lo tanto, no se puede volver a convertir en FAT al actualizar la unidad.Sus ventajas y mejoras con respecto al FAT son:*Compatibilidad mejorada con los metadatos.*Uso de estructura de datos avanzadas (árboles-B), optimizando el rendimiento, estabilidad y aprovechando espacio en disco, pues acelera el acceso a los ficheros y reduce la fragmentación.*Mejora de la seguridad*Listas de control de acceso*El registro de transacciones (journaling), que garantiza la integridad del sistema de ficheros.

TABLA COMPARATIVA FAT-NTFS
http://www.ntfs.com/ntfs_vs_fat.htm

SISTEMAS DE ARCHIVO - OS/2 - HPFS

HPFS (“High Performance File System o Sistema de Archivos de Alto Rendimiento”)
El sistema de archivos HPFS se presentó por primera vez con OS/2 1.2 para permitir un mejor acceso a los discos duros mayores llegando a los 2 TB. A diferencia del FAT, HPFS ordena su directorio basado en los nombres de archivo. Tambien usa una estructura mas eficiente para organizar el directorio. Como resultado, el acceso a los archivos es mas rápido y el espacio usado mas eficientemente que con el FA.T
HPFS ubica los archivos en sectores en lugar de clusters. Para rastrear que sectores están o no usados, organiza un disco o partición en bandas de 8mb , con mapa de bits de asignación de 2 kb entre las bandas. El uso de estas bandas mejora el rendimiento debido a que los cabezales no tienen que volver para rastrear ceros cada vez que el SO necesita acceder a la información sobre espacio disponible o la dirección de un archivo necesitado.
HPFS mantiene la organización de directorio de FAT, pero agrega la ordenación automática del directorio basada en nombres de archivo. Los nombres de archivo se extienden hasta 254 caracteres de doble byte. HPFS también permite crear un archivo de "datos" y atributos especiales para permitir una mayor flexibilidad en lo que se refiere a admitir otras convenciones de nomenclatura y seguridad. Además, la unidad de asignación cambia de clústeres a sectores físicos (512 bytes), lo que reduce el espacio en disco perdido.
Hpfs no es una opción muy eficaz para un volumen menor de 200 mb y además con volúmenes mayores de 400 mb hay una pequeña perdida de rendimiento. Siendo sólo compatible con las versiones 3.1, 3.5 y 3.51 de Windows NT. Windows NT 4.0 no puede tener acceso a particiones HPFS

SISTEMAS DE ARCHIVO - MAC - HFS

HFS (Hierarquical File System o Sistema de Archivos Jerárquicos)
HFS fue introducido por Apple en septiembre de 1985 para substituir Sistema de ficheros del Macintosh (MFS), el sistema de ficheros original que había sido introducido el año antes con Macintosh computadora
El sistema de archivos jerarquicos divide un volumen en bloques lógicos de 512 bytes. Estos bloques lógicos entonces se agrupan juntos en bloques de la asignación cuál puede contener unos o más bloques lógicos dependiendo del tamaño total del volumen. HFS utiliza un valor de 16 bits para tratar los bloques de la asignación, limitando el número de los bloques de la asignación a 65.536.
Hay cinco estructuras que componen un volumen de HFS:
1) Bloques lógicos 0 y 1 del volumen
.......Son los bloques de arranque.
.......Informacion de inicio del sistema
2) Bloque lógico 2
.......Contiene el directorio MDB (Master Directory Block)
.......Define una amplia variedad de datos sobre el volumen en si ( fecha y timestamp, localización,)
3)Bloque lógico 3

......Bloque de inicio del volumen del mapa de bits
......Mantiene un registro de los bloques de asignación que están en uso y de los que están libres.
......Cada bloque de asignación en el volumen es repsentado por un bit en el mapa.
4)Extent Overflow File ( archivo de desbordamiento)
......Es un árbol B* que contiene extensiones que registran que bloques de asignación están asignados a que archivos.
5)Catalog File
.....Es otro árbol B* que contiene registros para todos los archivos y directorios almacenados en el volumen.
.....Almacena cuatro tipos de registros:
.......................Un File Thread Record.
......................................Almacena solo el nombre del fichero y el CNID de su directorio padre.
.......................Un File Record.
.....................................Almacena diversidad de metadatos sobre el fichero (CNID, tamaño del fichero, 3 timestamp, el primer fichero extendido de los datos y los recursos.)
................................... Almacena dos campos de 16 bytes que son usados por el Finder.
.......................Un Directory Thread Record.
...................................Almacena solo el nombre del directorio y el CNID de su directorio padre.
.......................Un Directory Record.

...................................Almacena datos como el numero de ficheros almacenados en el directories, el CNID del directorio , tres marcas de tiempo. (momento de creación, última modificación y último back up).
...................................Almacena dos campos de 16 bytes que son usados por el Finder.


El catalog file tiene el problema que solo un programa puede escribir en esta estructura a la vez y si este fichero es dañado puede destruir el sistema de ficheros entero.
El hfs puede almacenar un máximo de 65.535 archivos de 2 gb máximo por archivo y un volumen de disco duro no superior a 2 Tb.

SISTEMAS DE ARCHIVO - MAC - HFS+

HFS Plus es una versión mejorada de HFS, soportando archivos mucho más grandes (Bloques direccionables de 32 bits en vez de 16) y usando Unicode (En vez de Mac OS Roman) para el nombre de los archivos, lo que además permitió nombres de archivo de hasta 255 letras.
HFS Plus permite nombres de fichero de hasta 255 caracteres de longitud UTF-16, y archivos n-bifurcados similares a NTFS, aunque casi ningún software se aprovecha de bifurcaciones con excepción de la bifurcación de los datos y de la bifurcación del recurso. HFS Plus también utiliza tabla de asignacion de 32 bits, en lugar de los 16 bits de HFS. Ésta era una limitación seria de HFS, significando que ningún disco podría apoyar más de 65.536 bloques de la asignación sobre de HFS.
Cuando los discos eran pequeños, esto no tenia mayores problemas, pero cuando el tamaño de los discos comenzaron a acercarse a la marca de 1 GB, la cantidad de espacio mínima que requería cualquier archivo (un solo bloque de la asignación) llegó a ser excesivamente grande, perdiendo cantidades significativas de espacio de disco. Por ejemplo, en un disco de 1 GB, el tamaño de bloque de la asignación debajo de HFS es 16 KB, es decir un 1 archivo de un byte tomaría 16 KB de espacio de disco. Como HFS, HFS Plus emplea una estructura Árbol B* para almacenar la mayoría de los metadatos del volumen.

SISTEMAS DE ARCHIVO - LINUX - EXT2

El Ext2(second extended filesystem o "segundo sistema de archivos extendido") es un sistema de archivos para el kernel Linux.
El sistema de ficheros tiene un tipo de tabla FAT de tamaño fijo, donde se almacenan los i-nodos Los i-nodos son una versión muy mejorada de FAT En el disco la información se organiza en bloques (de 1024, 2048 o 4096 bytes), estos bloques se juntan en grupos (cada uno de un máximo 32768 bloques), algunos de los
bloques se reservan para el administrador (para que pueda operar si los usuarios llegan a
llenar el sistema de archivos). Cada grupo tiene algunos bloques de control y otros de
datos, entre los bloques de control está una copia del superbloque (bloque que describe
el sistema de archivos completo) y una tabla de los nodos-i cuyos datos están en el
bloque. Un nodo-i mantiene información sobre un archivo es decir: atributos (modo, uid,
gid, fecha de acceso, fecha de creación, fecha de modificación, fecha de eliminación),
cantidad de enlaces y lista de los bloques del grupo en donde se encuentra la información
del archivo. Estos bloques son de tamaño especificable cuando se crea el sistema de archivos, desde los 512 bytes hasta los 4 kB, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeños.
Los nombres de los archivos no pueden ser mayor de 255 caracteres, siendo un fichero no superior a 2 TB y un volumen de 4 TB.
No tiene herramienta para defragmentar, aunque se fragmenta menos que
otros sistemas de archivos por su cuidado en la escritura.

SISTEMAS DE ARCHIVO - LINUX - EXT3

Es el Tercer sistema de archivos extendido (Third Extended File System) y es el
sucesor de Ext2. Es compatible con este último pero está mejorado por el índice en árbol para directorios que ocupan multiples bloques, el crecimiento en línea i el journaling (registro por diario) El jornaling se encarga de almacenar la información necesaria para restablecer los datos afectados por la transacción en caso de que ésta falle de la siguiente manera:
Se bloquean las estructuras de datos afectadas por la transacción para que ningún otro proceso pueda modificarlas mientras dura la transacción.
Se reserva un recurso para almacenar el journal. Por lo general suelen ser unos bloques de disco, de modo que si el sistema se para de forma abrupta (corte eléctrico, avería, fallo del sistema operativo...) el journal siga disponible una vez reiniciado el sistema.
Se efectúan una a una las modificaciones en la estructura de datos. Para cada una:
Se apunta en el journal como deshacer la modificación y se asegura de que esta información se escribe físicamente en el disco.
Se realiza la modificación.
Si en cualquier momento se quiere cancelar la transacción se deshacen los cambios uno a uno leyéndolos y borrándolos del journal.
Si todo ha ido bien, se borra el journal y se desbloquean las estructuras de datos afectadas.
Los archivos pueden tener una máxima dimensión de 2 TB y el volumen de 32TB.
La desventajas del sistema ext3 son:
- funcionalidad, como EXT3 es compatible con EXT2 posee tambien similares problemas, como el imite de subdirectorios por directorio y al igual q cualquier sistema en Linux no puede ser testeado por “fsck” .
- defragmentación, no existe una herramienta online para ello, en el caso de offline se tiene solo para archivos EXT2 por el cual hay que llevarlo 1ero a EXT2, pero corriendo riesgos por el uso de esta tarea.
- Compresión, Solo existe parches no oficiales y no implementa el journaling, el actual parche es “e3compr”.
- No hay comprobación en el diario, Ext3 no hace la suma de verificación cuando esta escribiendo en el diario.
Windows no tiene un soporte nativo para ext3, pero pueden instalarse drivers para poder acceder a ese tipo de sistemas de archivos. Se puede instalar en todos los sistemas de windows con arquitectura x86.

SISTEMAS DE ARCHIVO - LINUX - EXT4

El sistema de archivos ext4 es proviene del ext3 pero realiza un cambio profundo, que afecta las estructuras de datos, para convertirlo en un mejor sistema de archivos, más rápido, más fiable con más capacidades y mejor código. EXT4 introduce el sistema de archivos linux al mundo de los 64 bits permitiendo archivos individuales de 16TB con bloques de 4K, sistemas de archivos de 1Exabyte (1048566 Terabytes), usando estructuras de datos de 48bits, y más si empleamos estructuras de 64bits, aunque esto siginifique cambios importantes.
El ext4 sustituye el esquema de bloques usado por los sistemas de archivos ext2/3 por los extents. Un extent es un conjunto de bloques físicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamaño y reduciendo la fragmentación. Un extent simple en ext4 es capaz de mapear hasta 128 MB de espacio contiguo con un tamaño de bloque igual a 4 KB.
Las ventajas del ext4 son:
- Rendimiento y tasas de transferencia bastante superiores a ext3
- Sistemas de ficheros de mayor tamaño: el tamaño máximo de ext3 es de 32 “teras” (Tb-Terabyte) mientras que el ext4 permitirá tamaños de hasta 1 exabyte (1024 Petabytes – Pb) (1024*1024 Tb). Esto puede no ser importante para los usuarios de escritorio, pero sí es importante para servidores con grandes arrays de discos.- Extensiones: Se mejora la eficiencia de los descriptores de disco, reduciendo los tiempos de borrado de ficheros largos, además de otras ventajas.- Preasignación persistente: Si una aplicación necesita espacio de disco predefinido previamente a usarlo, la mayoría de Sistemas Operativos lo hacen escribiendo ceros en un espacio de disco no usado. ext4 permite esta preasignación sin hacer esto, mejorando el rendimiento de bases de datos y herramientas multimedia.- Ubicación retrasada: ext4 puede retrasar la ubicación de espacio de disco hasta el último momento, mejorando el rendimiento.- Más subdirectorios: Si alguna vez te ha fastidiado que un directorio sólo pueda contener 32.000 subdirectorios en ext3, te alegrará saber que este límite se ha eliminado en ext4.- Checksums: ext4 añade dígitos de control (checksum) a los datos, que mejora la fiabilidad y el rendimiento.- Desfragmentación: Aunque ext3 apenas se fragmenta, los ficheros almacenados siempre tienen cierta tendencia pequeña a estar fragmentados. ext4 añade soporte para la desfragmentación, que mejorará el rendimiento global.- Undelete: ext4 soporta undelete (desborrado), herramienta para recuperar archivos que han sido borrados de forma accidental.- Comprobación de ficheros más rápida: ext4 añade estructuras de datos que permite a fsck saltarse partes no usadas del disco que está comprobando.- Timestamp de nanosegundos: La mayoría de sistemas de archivos, incluyendo ext3, incluyen un timestamp (marca de tiempo) con precisión de un segundo. ext4 añade la precisión de este dato hasta el nanosegundo. Asimismo se dispondrá de marcas de tiempo hasta el año 2514 el lugar del 2038 del ext3.

SISTEMAS DE ARCHIVO - LINUX - REISERFS

Reiserfs es un sistema de archivos diseñado e implementado por la empresa Namesys. Es soportado por Linux y otros sistemas operativos (algunos a través de implementaciones muy inestables).
ReiserFS ofrece journaling, previniendo corrupciones en el sistema de archivos. También posee Tail packing, un esquema que reduce la fragmentación interna y un reparticionamiento con el sistema de ficheros montado y desmontado.
Pero en su contra con se conoce ninguna forma de realizar una defragmentacion si no es con un volcado completo y su restauración.
En ReiserFS, todos los datos se organizan en una estructura llamada B*-balanced tree (árbol equilibrado). La estructura en árbol contribuye a la mejor utilización del espacio del disco debido a que los archivos pequeños se pueden almacenar directamente en los nodos de hojas del árbol B* en lugar de almacenarse en otro lugar y mantener únicamente un puntero a la ubicación real en el disco. Además, el almacenamiento no se asigna en unidades de 1 o 4 kB, sino en porciones del tamaño exacto necesario. Otro beneficio reside en la asignación dinámica de inodos. De esta forma el sistema de archivos resulta más flexible que los sistemas tradicionales, como Ext2, donde la densidad de inodos se debe especificar en el momento en que se crea el sistema de archivos. La asignación del bloque es seguida por BITMAP libres del espacio en localizaciones fijas.
El tamaño máximo de un fichero puede ser de 8 TB y el volumen de 16 TB.

SISTEMAS DE ARCHIVO - LINUX - REISER3

REISER3 tambien conocido como ReiserFS.

SISTEMAS DE ARCHIVO - LINUX - REISER4

REISER4 es una extensión de REISER3, , implementada
desde cero. Entre sus ventajas se encuentran:
* Soporte eficiente de gran cantidad de archivos pequeños gracias a "tail packing".
* Manejo de directorios con cientos de miles de archivos.
* Infraestructura flexible que permite extensiones.
* Transacciones atómicas en la modificación del sistema de archivos.
* Manejo eficiente del journaling por la vía de logs.
* Estructura del archivos dinámicamente optimizada a través del método "allocate-on-flush",.
• Integración de metadatos en el espacio de nombres del sistema de archivos.
Reifer4 utiliza dancing tree balancing. Esta nueva estructura de datos es inicialmente como un árbol-b, pero la diferencia estriba en que no se recalcula después de cada operación, sino solo cuando se eliminan nodos de la memoria permitiendo desequilibrios eventuales.
El tamaño máximo de fichero es de 8 TB.

SISTEMAS DE ARCHIVO - SUN - ZFS

ZFS es un sistema de archivos desarrollado por Sun Microsystems para su sistema operativo Solaris.
ZFS destaca por su gran capacidad, integración de los conceptos anteriormente separados de sistema de ficheros y administrador de volúmenes en un solo producto, nueva estructura sobre el disco, sistemas de archivos ligeros, y una administración de espacios de almacenamiento sencilla.
Una de las características novedosas de ZFS es que ubican en un único dispositivo y, por lo tanto, requieren de un administrador de volúmenes cuando se quiere trabajar con más de un dispositivo, éste sistema se apoya en virtual storage pools (espacios de almacenamiento virtual) llamados “zpools”. Éstos están formados por virtual devices (dispositivos virtuales), “vdevs”, que a su vez se componen de block devices (dispositivos de bloques): archivos, particiones o discos enteros. De esta forma, se pueden configurar RAIDs de distinto tipo. Además de los tradicionales RAID-0 (dividido o data stripping) y RAID-1 (espejo o data mirroring), ZFS ofrece una variante del RAID-5 (dividido con paridad distribuida) llamada RAID-Z que evita un problema conocido llamado “agujero de escritura” (corrupción de las divisiones por perdida de energía entre la actualización de la información y las partes).
En cuanto a la capacidad de almacenamiento y su escalabilidad, ZFS fue diseñado para tener límites que nunca fueran alcanzados (el tipo de proposición que sabemos que a la ciencia le encanta hacer para poder romper algunos años más tarde). Algunos límites teóricos de ZFS son:
248 — Número de snapshots en cualquier sistema de ficheros (2 × 1014)
248 — Número de ficheros en un sistema de ficheros (2 × 1014)
16 exabytes — Tamaño máximo de un sistema de ficheros
16 exabytes — Tamaño máximo de un fichero
16 exabytes — Tamaño máximo de cualquier atributo
3 × 1023 petabytes — Tamaño máximo de un zpool
256 — Número de atributos de un fichero (realmente limitado a 248 que es el número de ficheros que puede contener un sistema de ficheros ZFS)
256 — Número de ficheros en un directorio (realmente limitado a 248 que es el número de ficheros que puede contener un sistema de ficheros ZFS)
264 — Número de dispositivos en cualquier zpool
264 — Número de zpools en un sistema
264 — Número de sistemas de ficheros en un zpool
Otra característica muy interesante que agrega ZFS es un modelo transaccional llamado copy-on-write ( “copia al escribir”). Este modelo, que se aplica a todas las transacciones, implica que todos los punteros de bloque tienen un checksum de 256 bits que se verifica cada vez que se accede a él. Además, cada los bloques que contienen información activa no son nunca sobreescritos, sino que la información modificada se ubica en otros bloques nuevos, y estos últimos son agrupados en grupos transaccionales para reducir el overhead que esto podría producir. Esto permite una preservación casi perfecta de la información, que hace que no sea necesario ejecutar fsck sobre filesystems ZFS. Además, en configuraciones de discos donde la información es replicada (mirroring), la información es self-healing (los bloques corruptos se reparan automáticamente en función de la información previamente almacenada).
Al utilizar el modelo de copy-on-write, se preservan los bloques con información antigua, con lo cual es posible crear snapshots ( “instantáneas”) de la información, las cuales se crean rápidamente y en una forma que es eficiente desde el punto de vista del espacio. Éstas permiten restaurar el sistema con los datos existentes en determinada fecha (lo que hace Time Slider). También se pueden crear snapshots escribibles llamadas clones, lo cual resulta en un par de sistemas de archivos independientes que comparten algunos bloques.
ZFS utiliza ARC (Adaptive Replacement Cache), un algoritmo que resulta más eficiente que el tradicional sistema de memoria virtual page cache que implementaba Solaris.

ZFS implementa un motor de I/O (Input/Output o Entrada/Salida) segmentado ( pipelined I/O engine, basado en el concepto de las CPU pipelines). Esto le brinda una serie de características (scoreboarding, priorities, deadline scheduling, out-of-order issue y I/O aggregation), que hacen que ZFS soporte tranquilamente cargas de entrada y salida que otros filesystems no pueden manejar.
Existen una serie de limitaciones:
ZFS no soporta la definición de quotas por grupo o por usuario. En cambio, como los filesystems ZFS son muy livianos, uno crea filesystems para cada usuario con sus propias limitaciones de espacio. Sin embargo, no hay una solución para cuando un mismo filesystem debe ser compartido por varios usuarios con quotas distintas.
Por el momento, no es posible reducir la cantidad de vdevs en un zpool, ni reducir la capacidad de un zpool.
No se puede agregar un disco a un vdev de un RAID-Z o de un RAID-Z2, pero sí se puede agregar otro vdev al mismo zpool.
No se pueden mezclar vdevs de distintos tipos en un mismo pool.
ZFS no es un sistema nativo de cluster, distribuido, ni un sistema paralelo de archivos y no puede proveer acceso concurrente para múltiples hosts porque ZFS es un filesystem local.

SISTEMAS DE ARCHIVO - XFS -SG-I

XFS es un sistema de archivos con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementación de
UNIX llamada IRIX. En mayo del 2000, SGI liberó XFS bajo una licencia de código abierto.
XFS se incorporó a Linux a partir de la versión 2.4.25, en distribuciones como debía, suse, fedora, etc..
Sus características más destacables son:
* Journaling optimizado.
* Los sistemas de archivos XFS están particionados internamente en grupos de asignación, que son regiones lineares de igual tamaño dentro del sistema de archivos. Los archivos y los directorios pueden crear grupos de asignación. Cada grupos gestiona sus inodos y su espacio libre de forma independiente, proporcionando escalabilidad y paralelismo — múltiples hilos pueden realizar operaciones de E/S simultáneamente en el mismo sistema de archivos
* Direccionamiento de 64 bits.
*LVM : Es posible aumentar la capacidad de sistemas de ficheros XFS.
Todo esto hace de XFS un sistema de archivos altamente escalable y fiable.
El tamaño máximo de un archivo puede ser de 8 ExaByte y de un volumen de 16 Exabytes