1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

TECNOLOGÃA RAID (adaptación para este foro)

Tema en 'Asuntos Técnicos' iniciado por imported_pesst, 30 Mar 2006.

Estado del tema:
Cerrado para nuevas respuestas
  1. imported_pesst

    imported_pesst Usuario activo

    Tecnologí­a RAID (adaptación para este foro)

    TECNOLOGíA RAID​


    No lo publique en otro foro
    Haga click sobre los contenidos para acceder​


    [break= 1.- ¿Qué es la tecnologí­a RAID?]

    Las siglas RAID provienen del Inglés "Redundant Array of Independent Disks", lo que significa “matriz redundante de discos independientes”. RAID es un método de modo que combina varios discos duros para así­ formar una única unidad lógica donde se almacenan los datos de forma redundante, mediante el uso de dos o más discos. Hay una gran variedad de formas en las que se pueden organizar las datos y en las cuales se puede añadir redundancia para mejorar la fiabilidad.

    Primordialmente se logra una mayor tolerancia a fallos y un mayor nivel de rendimiento a si fuese un sólo disco duro, o un conjunto de éstos sin estar relacionados entre ellos (por ejemplo de forma maestro-esclavo).

    Fue propuesto por primera vez hace 15 años por los investigadores de la University of California, (Berkeley), para poder ofrecer mayor tolerancia a fallos y mejorar la velocidad de acceso en las E/S de disco. La insdustria ha acordado un esquema estándar RAID.

    Una matriz o array consta de dos o más discos duros que ante el sistema principal funcionan como un único dispositivo, pero sin embargo un RAID para el sistema operativo aparenta ser un sólo disco duro lógico: LUN (Logic Unit Numbers), es decir, se comporta como si de verdad fuese un solo disco duro, existiendo una gran transparencia.

    Los datos se desglosan en fragmentos que se escriben en varias unidades de forma simultánea. En este método, la información se reparte entre varios discos, usando técnicas como el entrelazado de bloques (RAID nivel 0) o la duplicación de discos (RAID nivel 1) para proporcionar redundancia, reducir el tiempo de acceso, mejorar el ancho de banda para leer, escribir o la posibilidad de recuperar un sistema tras la averí­a de uno de los discos.

    La tecnologí­a RAID protege en cierto modo los datos contra el fallo de una unidad de disco duro. Si ocurre un fallo, RAID mantiene el servidor activo y en funcionamiento hasta que se sustituya la unidad con errores. Gracias a la tecnologí­a RAID podemos mejorar el rendimiento de servidores y estaciones de trabajo. Estos dos objetivos, protección de datos y mejora del rendimiento, son independientes entre sí­. RAID ofrece varias opciones, llamadas niveles RAID, cada una de estas proporciona un equilibrio distinto entre tolerancia a fallos, rendimiento y coste.

    Un importante inconveniente es que todos los sistemas RAID suponen la pérdida de parte de la capacidad de almacenamiento de los discos, para conseguir así­ la redundancia o almacenar los datos de paridad, por lo que si buscamos soluciones de espacio anteponiendo la capacidad de redundancia, no será preciso acudir a esta tecnologí­a.


    [break= 2.-¿Por qué aparece esta tecnologí­a?]

    Existen muchas razones por las que usar RAID. Algunas son: la posibilidad de combinar varios discos fí­sicos en un único dispositivo «virtual» más grande, o mejoras en el rendimiento y redundancia, pero el espacio fí­sico global se resentirá, como a continuación se verá, RAID proporciona tolerancia a fallos, mejora el rendimiento del sistema y aumenta la productividad, ventajas que antes tení­an sobre todo soluciones más costosas, y que ahora suponen un gran avance.

    Hasta ahora, la mejora de la velocidad en el rendimiento del alamcenamiento secundario, ha sido considerablemente menor que la velocidad de los procesadores y la memoria principal. Estas diferencias han hecho que el sistema de almacenamiento en disco sea el foco principal para mejorar el rendimiento general de los sistemas informáticos, pasamos a enumerar todas sus ventajas:

    *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, aunque habrá que estar preparado por si fallan todos los discos duros mediante backups u otros dispositivos de almacenamiento (DVD-R, HD portátiles..)

    *Mejora del Rendimiento/ Velocidad: Una matriz consiste en dos o más discos duros que ante el sistema principal funcionan como un único dispositivo. Los datos son desglosados en fragmentos que se escriben en distintas unidades de forma simultánea. Este proceso, denominado “fraccionamiento de datos”, incrementa de forma notable la capacidad de almacenamiento y a su vez ofrece mejoras significativas en el rendimiento.

    *Concurrencia: RAID permite a varias unidades trabajar en paralelo, lo que aumenta el rendimiento del sistema, sobre todo en los sistemas que aprovechan más la multitarea o multiproceso, así­ como los modernos sistemas llamados “Hyper-Threading”, en los que la ejecución simultanea de varias tareas con cierta carga no se verán ralentizadas de forma significativa (siempre que la carga sea aceptable).

    *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. Así­, si falla una unidad, todos los datos quedarán disponibles en la otra unidad, de manera inmediata. Aunque este planteamiento parece muy eficaz, es también muy costoso, ya que exige el uso de conjuntos de unidades duplicados.

    *La información de paridad se emplea para la protección de los datos. La paridad emplea un algoritmo muy complejo 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 puede aumentar 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 puntos: la integridad de los datos y tolerancia a fallos. La integridad de los datos trata la capacidad para obtener los datos adecuados en cualquier momento. La mayorí­a de las soluciones RAID ofrecen la 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.

    *Otras ventajas en el sentido práctico son: Los entornos de los juegos se cargan más rápido porque los archivos se cargan en memoria más rápido. Se acelera la edición de video, fotografí­a o música de alta calidad porque la transferencia de datos desde y hacia los discos es más rápida. Con las conexiones de banda ancha o satélite, se pueden descargar los archivos de entretenimiento en el disco de forma más rápida. Los DVD o CD se graban más rápido, porque se crea la imagen en el disco duro antes de grabar el disco.

    *El inconveniente que tiene: pérdida global de espacio fí­sico.


    [break= 3.-Especificaciones técnicas]

    Aquí­ vamos a tratar de ver cómo se consigue esta tecnologí­a, un poco a nivel Hardware, con algunos gráficos y explicaciones, aunque será en parte muy completado cuando se analicen cada uno de los niveles (parte más importante del trabajo), viendo la disposición de discos duros, el número necesarios mí­nimo de éstos, requerimientos hardware para montar cada nivel...

    Para una configuracion Hardware necesitamos que la placa base disponga de un chipset apropiado como controlador RAID (ej: VIA 6410), posibilidad de conectar dos o más discos duros (si fuesen SERIAL ATA en lugar de los tradicionales ATA serí­a mucho mejor), dependiendo del tipo de nivel, se necesitarí­an más discos duros, conexión LAN... pero para lo básico (primeros niveles) este Hardware serí­a el mí­nimo, eso sí­, si tomamos cualquier equipo actual.

    En cuanto a los niveles que puede aguantar un equipo con los requisitos básicos, estarí­a limitado principalmente por el chipset, porque si es un equipo económico de sobremesa, podrí­a aguantar a lo sumo 3 niveles (nivel 0, 1 y 0+1), para obtener disponibilidad de los demás, serí­a necesario hardware más costoso e incluso sistemas por encargo (carí­simo), la aplicación de éstos: servidores que en la actualidad se suponen punteros.

    Cada vez que avanzamos de nivel, inexorablemente aumentará el coste de diseño dicho nivel, dado el poco tiempo que lleva implantada esta tecnologí­a en niveles avanzados.

    La inexperiencia de diseño combinados con robustez suponen un coctail que (a niveles altos) sólo ciertas empresas son capaces de explotar, monopolizando el sector (como se da el caso en www.raid.com); para nosotros, usuarios con equipo medio de sobremesa, nos bastarí­a una RAID 0 ó 1 que nos proporciona la placa base ASUS P4P800 (y que se verá más adelante).

    Existen dos tipos de implementaciones de la tecnologí­a RAID: basada en software y basada en hardware, cada uno de ellos tiene sus ventajas y sus inconvenientes, vamos a a analizar con el siguiente gráfico las diferencias entre ambas implementaciones, para los siguientes resultados se empleó la aplicación “NetBench Disk Test”.

    [​IMG]

    ->HARDWARE: Vemos que globalmente el rendimiento/velocidad de transferencia en los discos con tecnologí­a implementada en Hardware, supera a la de software. Al emplear más de un array la diferencia es menor. Otra 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. Los sistemas RAID software no siempre no son implementaciones adecuadas en la mayorí­a de los casos, y cada vez son menos empleados.

    ->SOFTWARE: puede ser una opción apropiada cuando el factor de decisión es el coste inicial. Sin embargo, cuando se considera el coste total de propiedad, los costes ocultos del software RAID pueden convertirlo en la opción más cara a largo plazo. 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 como NetWare y Windows NT 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.

    ->CONCLUSIONES PRELIMINARES: con el software RAID 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. 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 y 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, una vista de esta gran solución externa:

    [​IMG]

    [break= 4.-Niveles RAID]

    La elección de los diferentes niveles de RAID va a depender de las necesidades del usuario en lo que respecta a factores como seguridad, velocidad, capacidad, coste, etc. Cada nivel de RAID ofrece una combinación especí­fica de tolerancia a fallos (redundancia), rendimiento y coste, diseñadas para satisfacer las diferentes necesidades de almacenamiento, tal que será de vital importancia escoger el nivel más oportuno; para ello trataremos TODOS los niveles RAID existentes. La mayorí­a de los niveles RAID pueden satisfacer de manera efectiva sólo uno o dos de estos criterios.

    No hay un nivel de RAID mejor que otro; cada uno es apropiado para determinadas aplicaciones y entornos informáticos. De hecho, resulta frecuente el uso de varios niveles RAID para distintas aplicaciones del mismo servidor. Oficialmente existen siete niveles diferentes de RAID (0-6), definidos y aprobados por el RAID Advisory Board (RAB). Luego existen las posibles combinaciones de estos niveles (10, 50, ...). Los niveles RAID 0, 1, 0+1 y 5 son los más populares.


    [break= 4.1- RAID 0: Disk Striping "La más alta transferencia, pero sin tolerancia a fallos"]

    [​IMG]

    Es también conocido como "separación ó fraccionamiento/Striping". De por sí­ no es un miembro verdadero de la familia RAID, porque no incluye redundancia para mejorar el rendimiento. Los datos están divididos entre los discos disponibles, el LUN está dividido en bandas (strips) que pueden ser bloques fí­sicos, sectores, o alguna otra unidad. Desde este nivel de "array" o matriz no se 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. Esto tiene una notable ventaja sobre el uso de un sólo gran disco: si hay pendientes dos solicitudes de E/S distintas de dos bloques de datos diferentes, entonces existe una buena oportunidad para que los bloques solicitados estén en discos diferentes. De este modo se pueden realizar en paralelo las dos solicitudes, reduciendo el tiempo en la cola de E/S.

    Representa una gran ventaja en operaciones secuenciales con ficheros de gran tamaño. Por lo tanto, este array es aconsejable en aplicaciones de tratamiento de imágenes, audio, video, es decir, es una buena solución para cualquier aplicación que necesite un almacenamiento a gran velocidad pero que no requiera tolerancia a fallos. Se necesita un mí­nimo de dos unidades de disco para implementar una solución RAID 0.

    Un ejemplo serí­a que tengamos dos discos de 40GB cada uno a modo maestro-esclavo (no RAID), si tuviesemos un video en formato DV de 4GB y estuviese la unidad muy desfragmentada, es muy posible que el video diese 'saltos' al a hora de avanzar y retorceder a minutos alejados, de ser RAID 0 concurrentemente se leerí­a en ambos discos duros (comportándose globalmente en tiempo real como uno de 80GB) y se evitarí­a este problema, además, al usuario le es transparente el stripping.


    [break= 4.2.- RAID 1: Mirroring "Redundancia. Más rápido que un disco y más seguro"]

    [​IMG]

    También llamado "Mirroring" o "Duplicación" (Creación de discos en espejo). 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 o matriz 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 o matriz duplicada sin que se produzcan interrupciones.

    Tiene varios aspectos positivos: 1) Una solicitud de lectura la puede servir cualquiera de los 2 discos que contienen los datos solicitados, 2) Una solicitud de escritura requiere la actualización de ambos discos; pero esto se puede hacer en paralelo, no existe penalización de escritura en RAID 1, 3) La recuperación de un fallo es sencillo: cuando una unidad falla, los datos están todaví­a accesibles de desde la segunda unidad.

    RAID 1 es una alternativa costosa para los grandes sistemas, ya que las unidades se deben añadir en pares para aumentar la capacidad de almacenamiento. Sin embargo, RAID 1 es una buena solución para las aplicaciones que requieren redundancia cuando hay sólo dos unidades disponibles. Los servidores de archivos pequeños son un buen ejemplo. Se necesita un mí­nimo de dos unidades para implementar una solución RAID 1.


    [break= 4.3.- RAID 0+1/ RAID 0/1 ó RAID 10: "Ambos mundos"]

    [​IMG]

    Combinación de los arrays anteriores que proporciona velocidad y tolerancia al fallo simultáneamente. El nivel de RAID 0+1 fracciona los datos para mejorar el rendimiento, pero también utiliza un conjunto de discos duplicados para conseguir redundancia de datos. Al ser una variedad de RAID hí­brida, RAID 0+1 combina las ventajas de rendimiento de RAID 0 con la redundancia que aporta RAID 1. Sin embargo, la principal desventaja es que requiere un mí­nimo de cuatro unidades y sólo dos de ellas se utilizan para el almacenamiento de datos. Las unidades se deben añadir en pares cuando se aumenta la capacidad, lo que multiplica por dos los costes de almacenamiento.

    El RAID 0+1 tiene un rendimiento similar al RAID 0 y puede tolerar el fallo de varias unidades de disco. Una configuración RAID 0+1 utiliza un número par de discos (4, 6, 8) creando dos bloques. Cada bloque es una copia exacta del otro, de ahí­ RAID 1, y dentro de cada bloque la escritura de datos se realiza en modo de bloques alternos, el sistema RAID 0. RAID 0+1 es una excelente solución para cualquier uso que requiera gran rendimiento y tolerancia a fallos, pero no una gran capacidad. Se utiliza normalmente en entornos como servidores de aplicaciones, que permiten a los usuarios acceder a una aplicación en el servidor y almacenar datos en sus discos duros locales, o como los servidores web, que permiten a los usuarios entrar en el sistema para localizar y consultar información. Este nivel de RAID es el más rápido, el más seguro, pero por contra el más costoso de implementar (mí­nimo 4 discos).


    [break=4.4.- RAID 2: "Acceso paralelo con discos especializados. Redundancia a través del código Hamming"]

    [​IMG]

    El RAID nivel 2 adapta la técnica comúnmente usada para detectar y corregir errores en memorias de estado sólido, utiliza una técnica de acceso paralelo. 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 (empleando espacio de disco para ello).

    Por lo tanto, RAID 2 no ha sido apenas implementado en productos comerciales y el coste es algo alto (aunque requiera menos discos que RAID 1), 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 en aquellas otras que requieran alta tasa de demanda E/S, solamente serí­a una elección eficiente en un entorno efectivo en el que se produjeran muchos errores de disco.


    [break= 4.5.- RAID 3: "Acceso sí­ncrono paralelo con un disco dedicado a paridad"]

    [​IMG]

    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 E/S 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. En el caso de un fallo de disco, se accede a la unidad de paridad y se reconstruyen los datos desde los dispositivos restantes. Una vez que se reemplaza la unidad fallida, se pueden restaurar sobre la nueva unidad los datos perdidos, y continúa el funcionamiento.


    [break= 4.6.- RAID 4: "Acceso Independiente con un disco dedicado a paridad"]

    [​IMG]

    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. En cualquier caso, cada operación de escritura debe implicar al disco de paridad que, por lo tanto, puede llegar a ser un cuello de botella. 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.


    [break= 4.7.- RAID 5: "Acceso independiente con paridad distribuida"]

    [​IMG]

    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:

    [​IMG]

    [break= 4.8.- RAID 6: "Acceso independiente con doble paridad"]

    [​IMG]

    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, pero sufre una importante penalización de escritura, porque cada escritura afecta a dos bloques de paridad. 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, y menos se implementará la RAID 7 (diseño muy complejo).


    [break= 4.9.- No RAID y concluciones]

    Además de RAID tenemos las clásicas conficuraciones no RAID, también denominadas JBOD (Just a Bunch Of Disks) sólo un conjunto de discos, no permite la redundancia de datos y es más lenta que algunas configuraciones RAID (una tí­pica configuracion de discos de siempre, no existe LUN).


    *Algunas conclusiones obtenidas de los niveles RAID:

    En cuanto al aprobechamiento global de datos, se puede explicar viendo el siquiente gráfico; los sectores retintados indican el uso de los discos, pruebas de aprobechamiento indicaron que el nivel RAID 5 es el que menos espacio desaprovecha (aunque emplea muchos más discos por ejemplo que el nivel 1).

    [​IMG]

    ->Elección de nivel: hay que mirar con lupa qué es lo que se quiere y de qué se dispone actualmente, entonces desde el punto de vista del usuario y del empresario se sacarán conclusiones, por lo que cada solución será buena en unos puntos y otra quizá sólo sea apropiada para unas determinadas necesidades:

    [​IMG]


    [break= 5.- Enfoque práctico: sobre ASUS P4P800]

    Esta magní­fica placa dispone de la tecnologí­a RAID por disponer de un chip Intel compatible como es el 865PE, y la disponibilidad sobre los discos duros SERIAL ATA o SATA. Debemos saber que las prestaciones que saca una placa base de su chipset no son siempre todas de las que dispone, por ejemplo, si un chipset como el Intel 865PE dispone de posibilidad de 8 puertos USB (Universal Serial Bus), no sirve de nada si la placa sólo tiene salidas para 4, por eso es importante primero mirar el chipset, y después lo que aprobecha la placa de éste, para ver si tendremos disponibilidad RAID, y qué niveles se nos ofertan.

    Los conectores de los discos duros se encuentran a una distancia idonea para unirlos emplear la tecnologí­a RAID, es importante destacar que el fabricante ASUS provee a esta placa base con un par de cables de serie y así­ no tener que adquirirlos por separado, o como hacen otras empresas, sólo incluir uno. Es una placa que aguanta niveles 0 y 1, estos niveles son básicos desde el punto de vista del usuario, con aplicaciones ofimáticas, juegos.... como es mi caso.

    Vamos a crear el array desde el menú de la BIOS (Basic Input/Output System) podemos acceder a la configuración RAID, (pero es preferible no manejar sus opciones si de verdad no vamos a activar dicha tecnologí­a).

    ->En el manual de instrucciones de la placa base (en Inglés) viene información:

    1.- En primer lugar se nos avisa de la necesidad de instalar Drivers para nuestro sistema operativo, el driver se llama VT6410 (es decir, aun usando esta configuración Hardware, necesitamos drivers en Windows para que el sistema operativo sepa cómo trabajar con RAID, son los controladores tí­picos de cualquier hardware).

    2.- Se nos explica algo que ya hemos tratado y que seguramente se extrajo de aquí­; los tipos de configuraciones y en qué consisten.

    3.- Cómo crear un ARRAY de RAID sobre configuraciones tipo 0, 1, 0+1... desde un menú bastante escueto, escogemos las opciones de unidades seleccionadas y alguna opción más (no tiene mucha complicación).

    4.- Por último aceptamos y se creará un volumen de datos con los discos duros, también podremos eliminar tanto los arrays como los volúmenes creados desde este menú.

    5.- Ahora reniniciamos, y como siempre aparecen los mensajes POST (Power-on Self Test) de la BIOS, ahora nos aparecerá en pantalla que ha detectado 'x' disco en modo RAID, y se iniciará el sistema operativo normalmente (una diferencia que tienen los mensajes POST con respecto a placas antiguas es que siempre testea la posibilidad de existir discos en modo RAID).

    Suponiendo que estuviese funcionando en LINUX, vamos a realizar pruebas de resistencia del sistema RAID en LINUX:

    1) Simulación de un fallo de disco

    Si se quiere simular un fallo de disco hay que desconectar la unidad. Se debe hacer esto con el sistema apagado. Si se está interesado en comprobar si los datos pueden sobrevivir con un disco menos de los habituales. Ahora hay que apagar el sistema, desconectar el disco y encenderlo de nuevo.

    Ahora hay que abrir el registro del sistema y en /proc/mdstat para ver qué es lo que está haciendo el RAID. Comprobar si ha funcionado.

    Es importante recordar que se debe utilizar un RAID-{1,4,5} para que su array sea capaz de sobrevivir a un fallo de disco. Un modo lineal o un RAID-0 fallarán totalmente cuando se pierda un dispositivo.

    Cuando se haya reconectado el disco de nuevo (con el sistema apagado) podrás añadir el nuevo dispositivo al RAID otra vez, con la orden raidhotadd.

    2) Simulación de corrupción de datos

    Un RAID (ya sea hardware o software) asume que si una escritura en un disco no devuelve un error, entonces la escritura ha tenido éxito. Por tanto. si el disco corrompe datos sin devolver un error, sus datos se corromperán. Naturalmente, esto es muy improbable que ocurra, pero es posible, y producirí­a un sistema de ficheros corrupto.

    Un RAID no puede y no está pensado para proteger contra la corrupción de datos del medio de almacenamiento fí­sico. Por tanto, tampoco tiene ningún sentido corromper a propósito los datos de un disco para ver cómo manejará el sistema RAID esa situación. Es más probable (a menos que corrompa el superbloque del RAID) que la capa RAID no descubra nunca la corrupción, sino que su sistema de ficheros en el dispositivo RAID se corrompa.


    [break= 6.- Utilidad VIA RAID Tool v1.20 distribuida con la placa base]

    Vamos a ver brevemente la aplicación VIA RAID Tool tanto para plataformas Windows como para las Linux.

    1.- En el entorno Windows:

    [​IMG]

    La aplicación pertenece a uno de los mayores fabricantes de chips del tipo BIOS como es VIA, esta aplicación es muy sencilla de manejar y dispone un completí­simo sistema de ayuda (aunque en Inglés); esta placa base, además de contener el programa de VIA, también incluye en el CD-ROM adjunto herramientas de diagnóstico sobre la temperatura y ventiladores...

    Si desplegamos el Menú ‘Operation’ nos encontramos opciones para crear ‘Mirror’, ‘Span’, ‘Stripe’ y ‘0+1’ (elección de niveles antes explicados), deberemos escoger entre los discos disponibles, con dos opciones: o bien verificar el funcionamiento y bien sincronizar los disco, también se puede solicitar el sistema de ayuda para escoger la configuración más oportuna o simplemente la que sea compatible.

    No muchas más opciones existen y ya de mucho menos interés, como un ‘Log’ donde se registran las operaciones realizadas, diversas opciones de visualización... la aplicación ocupa menos de 600kBytes, aunque es demasiado sencilla al tener ‘lo justo’ nos sirve de sobra para configurar nuestros discos duros en el modo RAID.

    2.- Mientras que en Linux también existe esta aplicación con distinta interfaz:

    raidstart: inicia un array RAID, raidstop: se utiliza para detener un array y poder hacer modificaciones en él, raidhotadd: se utiliza para añadir discos en caliente a un array, el RAID actuará en consecuencia ampliando la capacidad o incluyendo el disco en el array redundante, raidhotremove: es el contrario del anterior, para eliminar discos del array. Con estas herramientas deberemos ‘jugar’ y emplear el sistema de ayuda, porque como bien sabemos, el entorno Linx no es del todo lo intuitivo que es Windows.


    [break= 7.- Tutorial para el empleo de RAID sobre LINUX]

    Para poder configurar un RAID por software en Linux necesitaremos de un kernel 2.4.x y las raidtools para LINUX.
    Necesitamos habilitar el soporte de RAID en el núcleo, para esto debemos activar el soporte RAID marcando como módulo o directamente en el kernel las siguientes opciones del apartado "Multi-device support (RAID and LVM)":

    Multiple devices driver support (RAID and LVM)

    Raid Support

    Linear (append) mode

    RAID-0 (striping mode)

    RAID-1 (mirroring mode)

    RAID-4/RAID-5 mode

    Cualquiera de las dos opciones es correcta, como módulo o directamente en el kernel, únicamente debemos compilar directamente en kernel el soporte RAID cuando queramos arrancar desde un dispositivo RAID.

    Una vez configurado y compilado el núcleo instalaremos las raidtools apropiadas a nuestro kernel ( las que vienen en las distribuciones valen perfectamente ) y reiniciaremos. En el momento del arranque o en el momento de insertar los módulos en el núcleo, veremos como se inicializa el driver md, multi-devices y se inician cada uno de los niveles RAID a los que tendremos acceso (0,1,5). A partir de la carga en el núcleo de la parte de RAID, se disponen de los dispositivos /dev/mdx que representan dispositivos raid.

    En Linux la composición de RAID se hace a nivel de partición, por lo que podremos montar por ejemplo un RAID 5 con 3 particiones en 3 discos diferentes ( realmente pueden ser el mismo disco, pero no tendrí­a sentido y perderí­amos las capacidades de redundancia y rendimiento de los dispositivos RAID ).

    Como no hay nada mejor que un ejemplo, vamos directamente a configurar un RAID, como recordatorio esto es el significado de los niveles RAID mas utilizados:

    RAID-0: Une dos o más particiones en un dispositivo con la capacidad de las particiones que se unen. No es redundante.

    RAID-1: El resultado de utilizar dos o más particiones en este nivel de RAID es un dispositivo con el tamaño de la menor de las particiones, es el modo espejo, todas las particiones contienen la misma información y es tolerante a fallos, soporta el fallo de todos los dispositivos menos 1.

    RAID-5: Se necesitan 3 o mas particiones, en todas se guardan datos e información de paridad para poder reconstruir el sistema en caso de fallo de alguno de los discos. Ahora veamos según el nivel escogido, los pasos necesarios para configurar el RAID:

    RAID-0
    Configuraremos ahora un RAID 0 con las particiones hda1 y hdb1 que han sido creadas previamente y ambas tienen como tipo de partición fd, Linux Raid Auto, para que el sistema las detecte automáticamente.
    Debemos configurar el archivo raidtab que utiliza las raidtools para crear los RAID. Este serí­a el archivo:

    raiddev /dev/md0
    raid-level 0
    nr-raid-disks 2
    nr-spare-disks 0
    chunk-size 32
    device /dev/hda2
    raid-disk 0
    device /dev/hdb2
    raid-disk 1

    En este fichero definimos que queremos un RAID de nivel 0 en el dispositivo /dev/md0, formado por 2 discos (nr-raid-disks) y que no tiene discos de sobra (nr-spare disks, un disco de sobra entra en funcionamiento cuando falla alguno de los pertenecientes al array y ocupa su lugar), le decimos que el tamaño de bloque contiguo al escribir en el array es de 32 KB y que tenemos dos discos, /dev/hda2, el numero 0 y /dev/hdb2, el numero 1.

    Para crear el RAID solo nos queda ejecutar el comando mkraid, que leerá la configuración del fichero anterior y configurará el array de acuerdo a él. Las particiones deben estar vací­as o mkraid no creará el array. Si las parciones no están vací­as y se quiere crear el array de todas maneras, se debe utilizar la opción --really-force teniendo en cuenta que borrará todo el contenido de las particiones.

    mkraid /dev/md0

    Con esto el dispositivo quedará creado y disponible para formatearlo con vuestro sistema de ficheros favorito y montarlo para su uso, por ejemplo con ext2:

    mke2fs /dev/md0
    mount -t ext2 /dev/md0 /mnt

    Desde ahora todos los archivos en /mnt formaran parte del array. El dispositivo /dev/md0 tiene la capacidad resultado de sumar las capacidades de los dos discos que participan en el array (no es una suma exacta, siempre se reserva algún espacio para tareas administrativas del sistema RAID). Cabe recordar que en el nivel 0 de RAID no se toleran fallos de discos, si falla uno de los discos, se perderá inexorablemente información.

    RAID 1
    Si tenemos las dos particiones anteriores y queremos crear un dispositivo RAID 1 donde una sea copia de la otra, solo tenemos que cambiar el nivel de RAID del archivo de configuración de raid-level 0 a raid-level 1:

    raiddev /dev/md0
    raid-level 1
    nr-raid-disks 2
    nr-spare-disks 0
    chunk-size 32
    device /dev/hda2
    raid-disk 0
    device /dev/hdb2
    raid-disk 1

    Crearemos y formatearemos el dispositivo exactamente igual que en el caso anterior.

    RAID 5
    En el caso de que tengamos 3 o mas particiones podemos configurar un RAID de nivel 5 añadiendo discos al archivo de configuración y modificando el nivel de RAID, por ejemplo:

    raiddev /dev/md0
    raid-level 5
    nr-raid-disks 2
    nr-spare-disks 0
    chunk-size 32
    device /dev/hda2
    raid-disk 0
    device /dev/hdb2
    raid-disk 1
    device /dev/hdc2
    raid-disk 2

    La creación y formateo del dispositivo es igual en todos los casos. Si quisiésemos añadir a cualquiera de las configuraciones un disco de sobra para que reemplace al posible disco defectuoso, solo tendremos que indicar en la propiedad nr-spare-disks el numero de discos ( particiones ) que añadimos y colocarlos al final del archivo igual que si fueran discos pertenecientes al array.

    En caso de fallo de uno de los discos del array, en los niveles RAID 1 y 5, el sistema seguirá funcionando correctamente en modo degradado. El subsistema RAID de Linux marcará el disco que falla como defectuoso y seguirá funcionando con los discos que le quedan. Cuando tengamos entre manos un disco defectuoso lo que debemos hacer es desconectar el array, apagar el equipo, colocar un disco nuevo o reconfigurar el array y reiniciar.

    NOTA: Para simular un fallo de disco, no hay nada mejor que desenchufar uno de los discos del array y arrancar Linux, verás como funciona correctamente. Perfecto, ya tendrás ahora un dispositivo RAID funcionando en tu equipo, en el nivel que hayas escogido. Ahora bien, un par de matices, RAID es tolerante a fallos hardware, no software y RAID no elimina la necesidad de hacer copias de seguridad.

    ---------------------------------------------------------------------------------------------

    Por Pesst (versión 2.0)
     
    Última edición por un moderador: 4 Sep 2018
  2.  
  3. AMateos

    AMateos Súper Moderador Miembro del Staff Moderador CH

    Valoro el tutorial con dos 10 como merece, y te doy las gracias por compartir este gran trabajo con nosotros.
     
  4. Superjose

    Superjose Nuevo usuario

    Este es el trabajo que hicimos Pesst y yo, está bien adaptado para el foro, aunque no queda todo lo bonito cuando se ve con marcos en una página web o en PDF. Os animo a que pongais in "RAID 0", no hay nada más sencillo y lee del disco duro muchí­simo más rápido, sobre todo si jugais a juegos de PC.


    Un cordial saludo.
     
    Última edición por un moderador: 4 Sep 2018
  5. SnoK

    SnoK Usuario activo

    yo tengo lo de VIA Raid tools, pero no tengo 2 discos duros...es de la placa, eso solo se usa cuando hay 2 discos duros no?
     
  6. Datacenter1

    Datacenter1 Usuario activo

    Saludos y felicitaciones por el excelente material

    Puedes editarlo para incluir las imagenes, tambien puedes usar:
    CODE, HTML o PHP Insertado:
     [break= titulo]
    Para separar las secciones y que aparezcan en el menu lateral de contenido
     
  7. imported_pesst

    imported_pesst Usuario activo

    Post terminado! no sólo se hizo el trabajo, además se expuso ante la clase hablado, por lo que domino muy mucho de este tema, para cualquier duda o sugerencia avanzada sobre RAID ya sabeis, salu2.
     
    Última edición por un moderador: 3 Sep 2018
  8. iRRa

    iRRa Usuario activo

    Muy buen tutorial!!! y ahora un toque de humor...

    [​IMG]
     
  9. imported_LorD_FeniX

    imported_LorD_FeniX Usuario activo

    Jaja muy bueno el tutorial muy completo ...

    PD : Irra esa marca de matamoscas existe :D
     
Estado del tema:
Cerrado para nuevas respuestas


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·