Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

Discos RAID




Enviado por claudioser



    1. Resumen
    2. ¿Porqué usar
      RAID?
    3. ¿Quién
      debería usar los RAID?
    4. RAID: Hardware vs.
      Software
    5. Arreglos paralelos vs.
      independientes
    6. Tipos de RAID
    7. ¿Que es
      RAID?
    8. Crear Particiones
      RAID
    9. Elección de discos para
      un RAID
    10. Configuración de
      RAID
    11. Como seleccionar un disco
      RAID
    12. Glosario

    Resumen:

    RAID (Redundant Array of Inexpensive Disks): Consiste en
    una serie de sistemas para
    organizar varios discos como si de uno solo se tratara pero
    haciendo que trabajen en paralelo para aumentar la velocidad de
    acceso o la seguridad frente
    a fallos del hardware o ambas cosas.
    Raid es una forma de obtener discos duros
    más grandes, más rápidos, más
    seguros y
    más baratos aprovechando la potencia de la
    CPU para
    tareas que necesitarían circuitos
    especializados y caros.

    1-¿Porqué
    usar RAID?

    Las operaciones de
    I/O a disco son relativamente lentas, primordialmente debido a su
    carácter mecánico. Una lectura o una
    escritura
    involucra, normalmente, dos operaciones. La
    primera es el posicionamiento
    de la cabeza lecto/grabadora y la segunda es la transferencia
    desde o hacia el propio disco.
    El posicionamiento
    de la cabeza está limitado por dos factores: el
    tiempo de búsqueda (seek time) y el
    retardo por el giro del disco hasta la
    posición de inicio de los datos (latencia
    rotacional). La transferencia de datos, por su
    parte, ocurre de a un bit por vez y se ve limitada por la
    velocidad de
    rotación y por la densidad de
    grabación del medio.
    Una forma de mejorar el rendimiento de la transferencia es el
    uso de varios discos en paralelo, esto se basa
    en el hecho de que si un disco solitario es capaz de entregar una
    tasa de transferencia dada, entonces dos discos serían
    capaces, teóricamente, de ofrecer el
    doble de la tasa anterior, lo mismo sucedería con
    cualquier operación.
    La adición de varios discos debería extender el
    fenómeno hasta un punto a partir del cual algún
    otro componente empezará a ser el factor limitante.
    Muchos administradores o encargados de sistemas intentan
    llevar a cabo esta solución en forma básicamente
    manual,
    distribuyendo la información entre varios discos de tal
    forma de intentar asegurar una carga de trabajo similar para cada
    uno de ellos. Este proceso de
    "sintonía" podría dar buenos resultados de no ser
    por dos factores principales:
    1º No consigue mejorar las velocidades de transferencia de
    archivos
    individuales, sólo mejora la cantidad de archivos
    accedidos en forma concurrente.
    2º Es obvio que el balance no es posible de mantener en el
    tiempo debido
    a la naturaleza
    dinámica de la información.

    Una forma bastante más efectiva de conseguir el
    objetivo es el
    uso de un arreglo de discos, el cual según la
    definición del RAID Consultory Board es "una
    colección de discos que integran uno o más
    subsistemas combinados con un software de control el cual
    se encarga de controlar la operación del mismo y de
    presentarlo al Sistema Operativo
    como un sólo gran dispositivo de almacenamiento".
    Dicha pieza de software puede ser integrada
    directamente al Sistema Operativo
    o estar en el propio arreglo; así como el arreglo puede
    ser interno o externo.

    Novell Netware incluye, desde hace algún tiempo, soporte
    para arreglos de discos. El espejado y la
    duplicación de discos son ejemplos de
    arreglos basados en software.

    Las soluciones de
    arreglos basadas en hardware son principalmente
    implementadas mediante el uso de controladoras
    SCSI (Small Computer System Interface)
    especializadas, las cuales a menudo están dotadas de
    procesadores
    propios para liberar a la CPU del
    sistema de la
    tarea de control y de
    cachés para mejorar aún más el desempeño.

    Para Netware cualquiera de las dos soluciones,
    software o hardware, será visualizada como un único
    y gran disco virtual.

    Así pues un arreglo de discos ofrecerá un
    mejor desempeño debido a que
    dividirá en forma automática los
    requerimientos de lectura/escritura
    entre los discos que lo
    conforman. Por ejemplo, si una operación de
    lectura/escritura
    involucra a cuatro bloques de 4 Kb cada uno, entonces un arreglo
    de 4 discos podría, teóricamente, entregar cuatro
    veces la tasa de operación de un disco único, esto
    debido a que el disco único sólo podría
    atender a un bloque en forma simultánea, mientras que en
    el arreglo cada disco podría manejar un sólo bloque
    operando ellos al mismo tiempo

    En la práctica, sin embargo, dichos niveles
    no se obtienen debido, principalmente, a la
    carga de trabajo inherente al control del propio
    arreglo
    . Además el uso de varios discos se emplea
    para construir cierto nivel de redundancia de los datos y es este
    nivel de redundancia y la forma de implementarlo lo que crea los
    niveles de RAID.

    2-¿Quién
    debería usar los RAID?

    Aquellos de ustedes que necesiten controlar grandes
    cantidades de datos (como los administradores de sistemas), se
    beneficiarían del uso de la tecnología RAID. La
    primera razón para usar RAID es:

    • aumento de la velocidad
    • aumento de la capacidad de archivo
    • gran eficacia en
      recuperarse de un fallo del sistema

    3- RAID: Hardware vs.
    Software

    Existen dos posibilidades de realizar un sistema basado
    en la tecnología RAID: RAID Hardware o RAID
    Software.

    RAID Hardware

    Las soluciones hardware gestionan el subsistema RAID
    independientemente del host, presentándole a este un solo
    disco.

    Un ejemplo de RAID hardware podría ser el
    conectado al controlador SCSI que presenta al sistema un
    único disco SCSI. Un sistema RAID externo se encarga de la
    gestión
    del RAID con el controlador localizado en el subsistema externo
    de los discos. Todo el subsistema está conectado a un host
    a través de un controlador SCSI normal y se le presenta al
    host como un solo disco.

    Existen también controladores RAID en forma de
    tarjetas que
    se comportan como un controlador SCSI con el sistema
    operativo, pero gestionan todas las comunicaciones
    reales entre los discos de manera autónoma. En estos
    casos, basta con conectar los discos a un controlador RAID como
    lo haría con un controlador SCSI, pero después
    podrá configurarlo como un controlador RAID sin que el
    sistema operativo note la diferencia.

    RAID Software

    El RAID Software implementa los diferentes niveles de
    RAID en el código
    del kernel que tienen que ver con la gestión
    del disco (block device). Ofrece además la solución
    menos costosa, el RAID software funciona con discos IDE menos
    costosos así como con discos SCSI. Con las rápidas
    CPU de hoy en día, las prestaciones
    de un RAID software pueden competir con las de un RAID
    hardware.

    El driver MD del kernel de Linux es un
    ejemplo de que la solución RAID es completamente
    independiente del hardware. Las prestaciones
    de un RAID basado en el software depende de las prestaciones y de
    la carga del CPU.

    4- Arreglos
    paralelos vs. independientes

    Arreglos paralelos: éstos son aquellos en que
    cada disco participa en todas las operaciones de entrada/salida.
    Este tipo de arreglo ofrece tasas altísimas de
    transferencia
    debido a que las operaciones son
    distribuidas a través de todos los discos
    del arreglo y ocurren en forma prácticamente
    simultánea. La tasa de transferencia será muy
    cercana, 95%, a la suma de las tasas de los discos
    miembros
    , mientras que los índices de operaciones
    de entrada/salida serán similares a las alcanzadas por un
    disco individual. En síntesis,
    un arreglo paralelo accesará sólo un
    archivo a la
    vez pero lo hará a muy alta velocidad
    . Algunas
    implementaciones requieren de actividades adicionales como la
    sincronización de discos.

    Los RAID de niveles 2 y 3 se implementan con arreglos
    paralelos.

    Arreglos independientes: son denominados así
    aquellos arreglos en los cuales cada disco integrante opera en
    forma independiente, aún en el caso de que le sea
    solicitado atender varios requerimientos en forma concurrente.
    Este modelo ofrece
    operaciones de entrada/salida sumamente
    rápidas
    debido a que cada disco está en
    posición de atender un requerimiento por separado. De esta
    forma las operaciones de entrada/salida serán atendidas a
    una velocidad cercana, 95%, a la suma de las capacidades
    de los discos presentes
    , mientras que la tasa de
    transferencia será similar a la de un disco individual
    debido a que cada archivo está almacenado en sólo
    un disco.

    Los niveles 4 y 5 de RAID se implementan con arreglos
    independientes, mientras que los niveles 0 y 1 pueden ser
    implementados tanto en forma de arreglos independientes como en
    arreglos paralelos. Netware lo implementa como arreglos
    independientes a nivel del propio Sistema Operativo y, por lo
    tanto, no precisa de hardware o software adicional.

    5- Tipos de
    RAID:

    Lineal

    Diferentes discos se enlazan uno detrás de otro
    para que el sistema vea un solo disco más grande. Si falla
    uno perdemos todo el sistema de ficheros.

    RAID 0

    La información se graba y se lee en paralelo
    entre varios discos. Como no hay redundancia el riesgo de fallos
    aumenta, pero el rendimiento es muy bueno.

    RAID 1 : Mirrored Disk Array
    (MDA)

    Conjunto de discos en espejo:

    La configuración de nivel 1 de Raid o disco en
    espejo incluye dos unidades de disco:

    1° unidad de datos y una unidad de replica. Cuando
    se describen datos en una unidad, también se escriben en
    la otra. El disco redundante es una replica exacta del disco de
    datos, por lo que se conoce también como disco espejo. Los
    datos pueden leerse de cualquiera de las 2 unidades de forma que
    si se avería la unidad de datos es posible acceder a la
    unidad de replica, con lo que el sistema puede seguir
    funcionando. Con el nivel de Raid se obtiene la misma velocidad
    de lectura/ escritura que una configuración normalizada de
    disco, por lo que constituye la mejor opción para
    aplicaciones que contienen un gran número de operaciones
    de escritura.

    Ventajas

    • Mayor rendimiento en las lecturas de datos de las
      lecturas convencionales.
    • Podemos recuperar todos los datos en caso de error en
      unos de los discos ya que si un disco suspende la
      operación el otro continua disponible.

    Inconvenientes

    • Bastante caro ya que necesitamos el doble de espacio
      que el necesario.
    • Moderada lentitud en la escritura de datos ya que la
      hemos de escribir en dos localizaciones.

    Ambientes en donde implementarlos

    Raid1 esta diseñado para sistemas en donde la
    disponibilidad de información es esencial y su reemplazo
    resultaría difícil y costoso (mas costoso que
    reponer el disco en si).

    Típico en escrituras aleatorias pequeñas
    con tolerancia a
    fallas. El problema de este tipo de arreglos es el costo que implica
    duplicar el disco.

    Raid 2 : Hamming code for Error
    Correction

    Es el primer nivel de Raid que usa código
    de correcciones de error utilizando la " generación
    Hamming" de código de error.

    Con único de paridad solo se puede detectar un
    único error, pero si esta interesado en la
    recuperación de más errores son necesarios
    más discos adicionales. Sistemas de nueve
    discos.

    Este nivel cuenta con varios discos para bloques de
    redundancia y corrección de errores. La división es
    a nivel de bits, cada byte se graba con un bit de paridad en cada
    uno de los discos y un bit de paridad en el noveno. El acceso es
    simultaneo a todas las unidades tanto en operaciones de escritura
    como lectura. Algunos de estos discos son empleados para
    códigos de error, los cuales se emplean para referencias
    de los datos en caso de que falle uno de los discos. Este nivel
    tiene un costo bastante
    elevado ya que necesitamos muchos discos para mantener los
    códigos de error. Gracias a como están distribuidos
    los datos en los discos se consigue mejorar la velocidad de
    transferencia principalmente en la lectura ya
    que podemos emplear todos los discos en paralelo. Estos discos
    aunque proporcionen un buen rendimiento no son muy empleados ya
    que los niveles 1 –3 – 5 proporcionan una mayor
    relación costo/ rendimiento

    Ventajas

    • Se emplea para mejorar la demanda y
    también la velocidad de transferencia.

    • Podemos recuperar los datos gracias a los discos
    de código de error.

    Inconvenientes

    • Solución cara ya que requeriremos muchos
    discos para guardar los códigos de error.

    • Tiempo de escritura de datos bastante lentos,
    incluso aunque los datos se separen el los diferentes
    discos

    Raid 3

    Sistemas de disco en paralelo con disco de paridad para
    corrección de errores.
    Conocido también como Striping con paridad delicada.
    Utiliza también un disco de protección de
    información separado para almacenar información de
    control codificada con lo que se logra una forma mas eficaz de
    proporcionar redundancia de datos. Este control de
    información codificada o paridad proviene de los datos
    almacenados en los discos y permite la reconstrucción de
    información en caso de fallas. Se requieren como
    mínimo 3 discos y se utiliza la capacidad de un disco para
    la información de control.
    Los datos se dividen fragmentos que se transfieren a los discos
    que funcionan en paralelo, lo que permiten enviar mas datos de
    una sola vez, y aumentar en forma sustancial la velocidad general
    de transferencia de datos. Esta ultima característica convierte a este nivel en
    idóneo para que estas aplicaciones que requieran la
    transferencia de grandes ficheros contiguos hacia y desde el
    ordenador central.

    Resultan mas adecuados para sistemas en los que
    transfieren grandes cantidades de datos secuencialmente , ejemplo
    audio, video. Para estos
    es el nivel Raid mas eficiente ya que nunca es necesario leer
    modificar, escribir el bloque de paridad. Es menos apropiado para
    el tipo de acceso de base de datos en
    los cuales se necesitan transferir pequeñas unidades de
    datos de manera aleatoria.

    No obstante en aquellos entornos en los que muchos
    usuarios desean leer y escribir múltiple registros
    aleatorios, las peticiones de operaciones de entrada /salida
    simultaneas pueden sobrecargar y ralentizar el sistema. En el
    nivel 3 de Raid los discos participan en cada transacción,
    atendiendo cada petición de Entrada /Salida de una en una.
    Por consiguiente el nivel 3 de Raid no es una opción
    adecuada para operaciones transaccionales, en la que la mayor
    parte del tiempo se emplea en buscar pequeños registros
    esparcidos aleatoriamente en los discos.

    Ventajas

    •Alto rendimiento para aplicaciones de velocidad de
    transferencia alta.
    • Gracias al disco de paridad podemos recuperar
    datos.

    Inconvenientes

    •Si perdemos el disco de paridad perdemos toda la
    información redundante que teníamos
    • Tipo de escritura de datos bastante lento.

    RAID 4 Independient Disk Array
    (IDA)

    Sistemas de discos independientes con disco de control
    de errores .

    En el nivel 4 de raid los bloques de datos pueden ser
    distribuidos a través de un grupo de
    discos para reducir el tiempo de transferencia y explotar toda la
    capacidad de transferencia de datos de la matriz de
    disco .El nivel 4 de Raid es preferible al nivel 2 de Raid para
    pequeños bloques de datos , por que en este nivel , los
    datos son distribuidos por sectores y no por bits .Otra ventaja
    del nivel 4 de RAID frente a los niveles 2 y 3 es que al mismo
    tiempo puede estar activa mas de una operación de lectura
    escritura sobre el conjunto de discos .

    Cada disco graba un bloque de datos distinto, y un disco
    adicional graba un código de corrección de errores.
    Si falla un disco, su información se puede recomponer;
    solo perdemos la capacidad de un disco, pero éste
    está muy saturado.

    El nivel 4 de RAID tiene división a nivel de
    bloques y el acceso al arreglo de discos es paralelo , pero no
    simultaneo . Posee un delicado aparidad y correccion de errores .
    La operación de escritura se realiza en forma secuencial y
    la lectura en
    paralelo ,

    Ventajas :

    • Buen rendimiento en las escrituras de datos
    • Tiene integridad de datos

    Inconvenientes

    • Si perdemos el disco de parida , perdemos toda la
    información redundante que Teniamos .
    • Meno rendiemiento en las lecturas de datos

    RAID 5

    igual que el anterior, pero el disco que graba el
    código de corrección se va alternando.
    Rápido, seguro, y
    sólo pierde la capacidad de un disco…pero necesita al
    menos 3 discos.

    RAID-6. Este tipo es 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 las caídas de disco.
    Hay pocos ejemplos comerciales en la actualidad.
    RAID-7. Este tipo incluye un sistema operativo incrustado
    de tiempo real como controlador, haciendo las operaciones de
    caché a través de un bus de alta velocidad y
    otras características de un ordenador sencillo.
    Un vendedor ofrece este sistema.

    Raid 10

    La información se distribuyen en bloques como el
    Raid 0 y adicionalmente , cada disco se duplica como raid 1 ,
    creando un segundo nivel de arreglo se conoce como "Striping de
    arreglos duplicados " . Se requieren , dos canales , dos discos
    para cada canal y se utilizan el 50 % de la capacidad para
    información de control

    Ventajas

    • Este nivel ofrece un 100 % de redundancia de la
    información y un soporte para grandes volúmenes de
    datos , donde el precio no es
    un factor importante .

    Ambientes donde implementarlo

    Ideal para sistemas de emisión critica , donde se
    requiera mayor confiabilidad de la información , ya que
    pueden fallar dos discos inclusive (uno por cada canal) y los
    datos todavía se mantienen en linea .Es apropiado tambien
    en escritura aleatorias pequenas .

    Raid 30

    Es ideal para aplicaciones no interactiva , tal como
    señales de grafico e imágenes
    .Se conoce tambien como Striping de arreglos de paridad dedicada
    .La información es distribuidad atravez de los discos ,
    como en Raid 0 y utiliza paridad dedicada , como Raid 3 , en un
    segundo canal , requiere minimo 6 discos.

    Ventajas

    • Proporciona una alta confiabilidad igual que el
    Raid 10 ya que tambien es capaz de tolerar dos fallas
    físicas en canales diferentes , manteniendo la
    información disponible

     Ambientes donde implementarlo :

    Raid 30 es mejor para aplicaciones no interactivas , tal
    como señales de video , graficos
    , que procesan secuencialmete grandes archivos y requieren alta
    velocidad y disponibilidad

    4.10. Raid 50

    Esta diseñado apar aplicaciones que requieren un
    almecenamiento altamente confiable una elevada tasa de lectura y
    un buen rendimiento en la transferencia de datos con un nivel de
    Raid 50 , la información se freparte en lso discos y se
    usa parida distribuidad , po eso se conoce como Striping de
    arreglo de paridad distribuidas .Se requiere minimo 6
    discos

    Ventajas

    • Se logra confiabilidad de la información ,
    un buen rendimiento en gral , y ademas soporta grandes
    volúmenes de datos. Igualmente si dos discos sufren fallas
    físicas en difirentes canales , la información no
    se pierde .

     Ambientes donde implementarlo

    Raid 50 es ideal para aplicaiones que requieran un
    almacenamiento
    altamente confiable , una elevada tasa de lectura , y un buen
    rendimiento en la transferencia de datos .A este nivel se
    encuentran aplicaciones de oficina con
    muchos usuarios accediendo apequeños archivos , al igual
    que procesamiento de transacciones .

    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.

    Pero de todos estos los que más destacan son los
    niveles 0,1,3,5, y 10 o RAID 0&1. Todos los demás
    vienen siendo variaciones de estos últimos.

    6- ¿Que es
    RAID?

    RAID es una forma de almacenar los mismos datos en
    distintos lugares (por tanto de modo redundante) en
    múltiples discos duros.
    Al colocar los datos en discos múltiples, las operaciones
    I/O (input/output, de entrada y salida) pueden superponerse de un
    modo equilibrado, mejorando el rendimiento del sistema. Dado que
    los discos múltiples incrementan el tiempo medio entre
    errores (mean time between failure, MTBF), el almacenamiento
    redundante de datos incrementa la tolerancia a fallos.

    Un RAID, para el sistema operativo, aparenta ser un
    sólo disco duro
    lógico. El RAID emplea la técnica conocida como
    "striping" (bandeado o creación de bandas), que incluye la
    partición del espacio de almacenamiento de cada disco en
    unidades que van de un sector (512 bytes) hasta varios megabytes.
    Las bandas de todos los discos están interpaginadas
    (interleaved) y se accede a ellas en orden.

    En un sistema de un solo usuario donde se almacenan
    grandes registros (como imágenes
    médicas o de otro tipo), las bandas generalmente se
    establecen para ser muy pequeñas (quizá de 512
    bytes) de modo que un solo registro
    esté ubicado en todos los discos y se pueda acceder a
    él rápidamente leyendo todos los discos a la
    vez.

    En un sistema multiusuario, un mejor rendimiento
    demanda que se
    establezca una banda lo suficientemente ancha para contener el
    registro de
    tamaño típico o el de mayor tamaño. Esto
    permite acciones I/O
    superpuestas en los distintos discos.

    7-Crear Particiones
    RAID

    El RAID está disponible en las dos modalidades en
    las que se puede instalar: GUI y kickstart. Podrá utilizar
    fdisk o el Disk Druid para crear su configuración RAID,
    pero estas instrucciones se enfocarán principalmente
    usando Disk Druid para completar esta
    operación.

    Antes de crear un dispositivo RAID, primero
    deberá crear particiones RAID utilizando las siguientes
    instrucciones.

    Sugerencia: Si utiliza fdisk

    Si está utilizando fdisk para crear una
    partición RAID, debe tener en cuenta que en vez de crear
    una partición del tipo 83, que es Linux native,
    debe crear una partición del tipo fd (Linux
    RAID).

    Crear una partición. En Disk Druid, elija
    Add para crear una partición nueva

    Figura E-1. title>Crear una Nueva Partición
    RAID

    No podrá introducir un "punto de montaje"
    (podrá hacerlo una vez que cree el dispositivo
    RAID).

    Introducir el tamaño de la
    partición.

    Seleccione Grow to fill disk si desea que la
    partición ocupe todo el espacio libre disponible en el
    disco. En este caso, el tamaño se aumentará y
    disminuirá dependiendo de las modificaciones hechas en las
    otras particiones. Si selecciona más de una
    partición "growable", las particiones competirán
    por el espacio disponible en el disco.

    Introducir el tipo de partición RAID.

    Finalmente, para Allowable Drives, seleccione el
    disco donde será creado el RAID. Si tiene discos
    múltiples, todos los discos serán seleccionados y
    deberá anular la selección
    de aquellos discos que no desea tener en el array
    RAID.

    Continue con estos pasos para crear tantas particiones
    como necesite para la configuración RAID.

    Figura E-2. Particiones RAID

    Una vez que todas las particiones han sido creadas como
    RAID, seleccione el botón Make RAID Device en la
    pantalla principal de Disk Druid.

    Figura E-3. Crear un Dispositivo RAID

    Antes de nada, introduzca un "punto de
    montaje".

    Seguidamente, asegurese que el tipo de partición
    sea seleccionada como Linux Native (que es la
    predefinida).

    Elija su dispositivo RAID. Debería elegir
    md0 como primer dispositivo, md1 como segundo, y
    así sucesivamente a menos que tenga una razón
    determinada para crear los dispositivos de manera diferente. Los
    dispositivos RAID van del md0 al md7, y cada uno de ellos puede
    ser elegido una sola vez.

    Elija el tipo de RAID. Puede elegir entre RAID 0,
    RAID 1, y RAID 5.

    Nota

    Si está creando una partición RAID de
    /boot, deberá elegir RAID nivel 1 y debe usar uno de los
    dos discos primeros(IDE primero, SCSI segundo). Si no está
    creando una partición RAID de /boot, y está creando
    una partición de /, debe estar en RAID nivel 1 y debe usar
    uno de los dos discos primeros(IDE primero, SCSI
    segundo)..

    3. Funcionamiento del RAID

    Básicamente el RAID es un sistema el cual permite
    almacenar información en una cantidad de discos (n), de
    tal forma que agilice el proceso
    maquina-disco.

    El sistema RAID evitará en lo más posible
    la pérdida de data de la siguiente manera:

    Los discos optimizados para RAID poseen circuitos
    integrados que detecta si el disco está fallando, de
    ser así este circuito se encargará por encima del
    tiempo real de sacar la información y almacenarla en los
    otros discos, o si es el caso en el "hot spare".

    Un hot spare es un disco que permanece siempre en el
    sistema esperando a que otro se estropee y él entre
    directamente en funcionamiento.

    Una de las ventajas del sistema RAID es la posibilidad,
    con los discos hot swap, de conectarlos y desconectarlos en
    "caliente", es decir, que si un disco falla no hará falta
    el apagar el sistema para remplazarlo.

    Otras de las ventajas de RAID:

    Reconstrucción y Regeneración
    Cuando un disco falla la información redundante en los
    discos y los datos en los discos buenos son usados para regenerar
    la información de disco averiado.

    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 diferente discos para ofrecer una
    significativa mejora en el rendimiento del conjunto de los
    discos.

    Instalación de raid
    Lo que vamos a hacer es colocar nuestra partición /home en
    dos discos duros, es decir RAID 1 o mirroring. No necesitaremos
    espacio adicional donde colocar temporalmente nuestros
    ficheros.

    Instala un kernel que permita usar las nuevas herramientas
    RAID. Cualquier kernel 2.4.x es válido, mira la
    sección . Si quieres mantenerte en la distribución estable de Debian
    necesitarás el paquete
    kernel-patch-2.2.10-raid.

    Es muy recomendable, aunque no necesario, hacer una
    copia de seguridad del
    directorio /home/ en un lugar seguro. Si tienes
    suficiente espacio en otra partición:

    cp -a /home/ /mnt/lugarseguro/copia-home

    Si desconfías de todo:

    cd /home/

    find . -type f -exec md5sum {} ; >
    /tmp/md5sum_home.txt

    cd /mnt/lugarseguro/copia-home/

    md5sum -c /tmp/md5sum_home.txt

    En la sección
    3.8.1
    tienes una forma fácil y
    fiable de hacer copias de seguridad.

    Apagamos y desenchufamos el ordenador. Colocamos el
    segundo disco duro en
    diferente controladora, para evitar cuellos de botella. Digamos
    que tenemos los dos discos como maestro en los canales IDE
    primario y secundario, y que /home se montará en la
    partición 5: /dev/hda5 y /dev/hdc5.

    Es muy importante que el tamaño de hdc5 sea
    ligeramente menor que el de hda5. Esta limitación se debe
    a que en hda5 tenemos los ficheros que queremos duplicar; si
    utilizásemos dos particiones vacías no sería
    necesario.

    Entraremos en modo monousuario, sobre todo para
    asegurarnos que nadie está escribiendo en la
    partición de /home/. En el arranque:

    LILO boot: linux single

    o bien teclea en cualquier momento:

    init 1

    Instalamos cpio raidtools2. Deberá detectar que
    nuestro kernel admite esta versión de RAID.

    Modificamos la tabla de particiones del nuevo
    disco:

    cfdisk /dev/hdc

    Cambiamos el tipo de la partición que
    contendrá /home a "FD Linux raid autodetect". Por el
    momento no tocamos el disco original.

    Creo /etc/raidtab con

    raiddev /dev/md0

    raid-level 1

    nr-raid-disks 2

    nr-spare-disks 0

    chunk-size 4

    persistent-superblock 1

    device /dev/hdc5

    raid-disk 0

    device /dev/hda5

    failed-disk 1

    Recordar que hda5 contiene el sistema de ficheros que
    queremos conservar, y que queremos montar el RAID sin perder ni
    mover sus ficheros.

    Construimos el RAID:

    mkraid /dev/md0

    La cadena está formada ahora sólo por
    hdc5: hda5 ha sido marcada como defectuosa en /etc/raidtab y
    además en la tabla de particiones no figura como de tipo
    RAID.

    Formateamos el nuevo dispositivo:

    nice -19 mke2fs -cv -b 4096 -R stride=1
    /dev/md0

    Lo montamos y copiamos nuestros ficheros:

    mkdir /mnt/futuroHome

    mount /dev/md0 /mnt/futuroHome/

    cd /home/

    find . -xdev | cpio -pm /mnt/futuroHome/

    El programa cpio es
    mejor que un simple cp -a cuando queremos hacer copias
    completamente idénticas, incluyendo ficheros especiales
    como los que encontramos en /dev/

    Editamos /etc/fstab para variar el punto de montaje de
    /home

    /dev/md0 /home ext2 rw 0 0

    Reiniciamos. Nos aseguramos que el directorio /home
    está intacto y que se trata del dispositivo
    /dev/md0.

    mount

    Podemos consultar /proc/mdstat para ver que el
    dispositivo md0 está formado por un único disco
    duro:

    cat /proc/mdstat

    Añadimos a la cadena RAID el disco original.
    Editamos en /etc/raidtab la línea:

    device /dev/hda5

    raid-disk 1

    y ejecutamos:

    raidhotadd /dev/md0 /dev/hda5

    Modificamos la tabla de particiones del disco
    original:

    cfdisk /dev/hda

    Cambiamos el tipo de hda5 a "FD Linux raid
    autodetect".

    Reiniciamos. Verificamos de nuevo que /dev/md0
    está montado en /home.

    El disco que acabamos de añadir se está
    reconstruyendo con la información del primero. Es un
    proceso transparente que utiliza el ancho de banda libre del
    disco duro; puedes usar el ordenador con normalidad. El estado del
    proceso:

    cat /proc/mdstat

    Si tienes interés en
    probarlo, le haremos creer que hdc se ha roto. La interfaz IDE no
    permite desconexiones "en caliente", así que apagaremos el
    equipo y desconectaremos la alimentación del
    segundo disco. Al reiniciar nuestros ficheros siguen intactos; si
    quieres modifica alguno. Volvemos a apagar y a conectar el disco.
    En el siguiente arranque todo sigue funcionando, y hdc se va
    reconstruyendo en segundo plano.

    Advertencias y aclaraciones:

    Sólo hemos protegido el directorio /home; el
    resto del sistema está en un solo disco. Repitiendo el
    proceso podríamos tener todo en RAID, aunque con la
    partición raíz es delicado.

    RAID no comprueba los errores de escritura de los
    discos, es decir, no sabe si por algún motivo los dos
    discos contienen información distinta. No nos preocupa
    porque los discos duros modernos internamente comprueban que
    escriben lo que realmente les has mandado.

    RAID te protege si todo un disco duro se avería,
    pero no es una forma de hacer copias de seguridad.

    Puedes tener discos de reserva que entran cuando se
    detecta uno averiado.

    Jamás cambies la geometría
    de una partición que forma parte de una cadena RAID. Puede
    interpretarlo como una desincronización, e intentar
    arreglarlo…Si es necesario

    raidstop /dev/md0

    Si la partición no es del tipo "FD Linux raid
    autodetect", RAID no la tiene en cuenta (por
    seguridad).

    Puedes usar los paquetes bonnie bonnie++ para medir el
    rendimiento del RAID y compararlo con el de un solo disco
    duro.

    bonnie++ -s 500 -d /usr/local/

    bonnie++ -s 500 -d /home/

    8-Elección de discos para un
    RAID

    Utilizar discos rápidos para montar un RAID no
    suele estar justificado. Son mucho más caros. Los discos
    rápidos suelen serlo debido a una mayor agilidad de las
    cabezas para posicionarse en la pista necesaria. Los cambios de
    pista es la operación que más tiempo consume en un
    disco duro, pero a diferencia por ejemplo de MSDOS en Linux
    están optimizadas de manera que la información no
    se accede en el mismo orden que es solicitada sino que se
    comporta de manera similar a un ascensor inteligente que va
    memorizando las peticiones y las va atendiendo por el orden
    más conveniente. También se usan otras estrategias que
    aumentan el rendimiento minimizando el numero de accesos a disco,
    como memorias
    cache. La velocidad de giro de los discos suele ser muy parecida
    pero puede haber diferencias en cuanto a densidad y
    número de cabezas que afectarían significativamente
    a la velocidad de transferencia. Este parámetro si que
    interesa tenerlo en cuenta. Por todo esto la recomendación
    sería usar preferiblemente discos SCSI iguales o similares
    y baratos. La velocidad vendrá por el acceso concurrente a
    los mismos.

    Hay que tener en cuenta que para el arranque del sistema
    es necesario un disco no RAID y de pequeño tamaño
    tamaño porque la partición que contenga el sistema
    de ficheros raíz conviene que tenga pocas
    cosas.

    Características de los sistemas SCSI

    A la hora de decidir qué discos comprar surgen un
    montón de dudas por ello hablaremos un poco de las
    características.

    Nombre

    NumBits

    NumDisp

    MB/s

    Conector

    Max Longitud Cable

    SCSI-1

    8

    7

    5

    50 pines BajaDens

    6 mts

    SCSI-2
    (alias) Fast scsi, o Narrow scsi

    8

    7

    10

    50 pines AltaDens

    3 mts

    SCSI-3
    (alias) Ultra, o Fast20

    8

    7

    20

    50 pines AltaDens

    3 mts

    Ultra Wide
    (alias) Fast scsi-3

    16

    15

    40

    68 pines AltaDens

    1,5 mts

    Ultra2

    16

    15

    80

    68 pines AltaDens

    12 mts

    Un RAID se puede por tanto construir con
    varias particiones pero el resultado no es una partición
    lógica
    sino un disco lógico en el que sin embargo no podemos
    hacer particiones. El nombre de estos dispositivos es el de
    metadisco.

    Al igual que en los discos IDE tenemos /dev/hd… para
    discos SCSI tenemos /dev/sd…, para los metadiscos una vez
    compilado el kernel con las opciones necesarias que más
    tarde comentaremos aparecerán cuatro dispositivos $ ls -l
    /dev/md*

    brw-rw—- 1 root disk 9, 0 may 28 1997 md0

    brw-rw—- 1 root disk 9, 1 may 28 1997 md1

    brw-rw—- 1 root disk 9, 2 may 28 1997 md2

    brw-rw—- 1 root disk 9, 3 may 28 1997 md3

    Lo primero que hay que intentar beneficiar es la
    velocidad del swap y para ello hay que utilizar un metadisco
    pequeño en el RAID, o repartir el swap de la manera
    tradicional entre todos los discos físicos. Si se ponen
    varias particiones de swap, cada una sobre un disco distinto,
    entonces el propio sistema de swap de Linux hace el reparto de la
    carga entre todas, por lo que es innecesario el RAID en este
    caso.

    9-.
    Configuración de RAID

    9.1 Configuración general

    Esto es lo que necesita para cualquiera de los niveles
    RAID:

    Un núcleo. Obtenga la versión 2.0.36 o un
    núcleo 2.2.x reciente.

    Los parches RAID. Normalmente existe un parche
    disponible para los núcleos recientes.

    El paquete de herramientas
    RAID (raidtools).

    Paciencia, una pizza y su bebida con cafeína
    favorita.

    Todo este software se puede encontrar en ftp://ftp.fi.kernel.org/pub/linux. Las herramientas RAID
    y los parches están en el subdirectorio
    daemons/raid/alpha. Los núcleos se encuentran en el
    subdirectorio kernel.

    Parchee el núcleo, configúrelo para
    incluir el soporte del nivel RAID que quiera usar.
    Compílelo e instálelo.

    A continuación desempaquete, configure, compile e
    instale las herramientas RAID.

    Vale, hasta ahora todo va bien. Si rearranca ahora,
    debería tener un fichero llamado /proc/mdstat.
    Recuérdelo, ese fichero es su amigo. Vea lo que contiene
    haciendo un cat /proc/mdstat. Le debe decir que tiene registrada
    la
    personalidad RAID (es decir, el modo RAID) correcta y que
    actualmente no hay dispositivos RAID activos.

    Cree las particiones que quiere incluir en su grupo
    RAID.

    Ahora, vayamos a un modo específico.

    9.2 Modo lineal

    De acuerdo, así que tiene dos o más
    particiones que no son necesariamente del mismo tamaño
    (pero que, naturalmente, pueden serlo) que quiere adjuntar unas
    con otras.

    Prepare el fichero /etc/raidtab para describir su
    configuración. He preparado un raditab para dos discos en
    modo lineal y el fichero se parece a esto:

    raiddev /dev/md0

    raid-level linear

    nr-raid-disks 2

    persistent-superblock 1

    device /dev/sdb6

    raid-disk 0

    device /dev/sdc5

    raid-disk 1

    Aquí no se soportan discos de reserva. Si un
    disco muere, el array muere con él. No hay
    información que poner en un disco de reserva.

    Vale, creemos el array. Ejecute la orden

    mkraid /dev/md0

    Esto inicializará su array, escribirá los
    superbloques persistentes y arrancará el array.

    Échele un vistazo a /proc/mdstat. Debe ver que el
    array está funcionando.

    Ahora, puede crear un sistema de ficheros, justo como
    haría con cualquier otro dispositivo, montarlo, incluirlo
    en su fstab, etc.

    9.3 RAID-0

    Tiene dos o más dispositivos, de aproximadamente
    el mismo tamaño, y quiere combinar sus capacidades de
    almacenamiento y también combinar sus rendimientos
    accediéndolos en paralelo.

    Prepare el fichero /etc/raidtab para describir su
    configuración. Un raidtab de ejemplo se parece a
    esto:

    raiddev /dev/md0

    raid-level 0

    nr-raid-disks 2

    persistent-superblock 1

    chunk-size 4

    device /dev/sdb6

    raid-disk 0

    device /dev/sdc5

    raid-disk 1

    Como en el modo lineal, los discos de reserva tampoco se
    soportan aquí. Un RAID-0 no tiene redundancia, por lo que
    cuando un disco muere, el array le acompaña.

    Una vez más, ejecute simplemente

    mkraid /dev/md0

    para inicializar el array. Esto debe inicializar los
    superbloques y poner en funcionamiento el dispositivo RAID.
    Éche un vistazo a /proc/mdstat para ver qué sucede.
    Debería ver que su dispositivo ahora está en
    funcionamiento.

    Ahora, /dev/md0 está listo para ser formateado,
    montado, usado y maltratado.

    9.4 RAID-1

    Tiene dos dispositivos de aproximadamente el mismo
    tamaño y quiere que cada uno de los dos sea un duplicado
    del otro. Finalmente, tiene más dispositivos que quiere
    guardar como discos de reserva preparados, que
    automáticamente formarán parte del duplicado si uno
    de los dispositivos activos se
    rompe.

    Configure el fichero /etc/raidtab así:

    raiddev /dev/md0

    raid-level 1

    nr-raid-disks 2

    nr-spare-disks 0

    chunk-size 4

    persistent-superblock 1

    device /dev/sdb6

    raid-disk 0

    device /dev/sdc5

    raid-disk 1

    Si tiene discos de reserva, puede añadirlos al
    final de la especificación de dispositivos como

    device /dev/sdd5

    spare-disk 0

    Recuerde configurar la entrada nr-spare-disks
    adecuadamente.

    De acuerdo, ahora estamos listos para comenzar la
    inicialización del RAID. Se debe construir el duplicado,
    es decir, los contenidos (de todos modos, sin importancia ahora,
    ya que el dispositivo todavía está sin formatear)
    de los dos dispositivos se deben sincronizar.

    Dé la orden

    mkraid /dev/md0

    para comenzar la inicialización del
    duplicado.

    Compruebe el fichero /proc/mdstat. Debe decirle que se
    ha puesto en funcionamiento el dispositivo /dev/md0, que
    está siendo reconstruido el duplicado y una cuenta del
    tiempo estimado para la terminación de la
    reconstrucción.

    La reconstrucción se realiza usando el ancho de
    banda ocioso de E/S. De esta manera, su sistema todavía
    debería ser capaz de responder en gran medida, aunque los
    LEDs de sus discos deben estar bonitamente
    resplandecientes.

    El proceso de reconstrucción es transparente, por
    lo que realmente puede usar el dispositivo aunque la
    duplicación esté actualmente en
    reconstrucción.

    Intente formatear el dispositivo mientras la
    reconstrucción se esté realizando.
    Funcionará. También puede montarlo y usarlo
    mientras la reconstrucción se esté realizando.
    Naturalmente, si el disco equivocado se rompe mientras se
    está realizando la reconstrucción, no hay
    solución.

    9.5 RAID-4

    ¡Nota! No he comprobado esta
    configuración por mí mismo. La configuración
    de más abajo es mi mejor suposición, no algo que
    realmente haya tenido funcionando.

    Tiene tres o más dispositivos de aproximadamente
    el mismo tamaño, un dispositivo es significativamente
    más rápido que los otros dispositivos y quiere
    combinarlos todos en un único dispositivo más
    grande, conservando todavía alguna información de
    redundancia. Finalmente, tiene varios dispositivos que desea usar
    como discos de reserva.

    Configure el fichero /etc/raidtab así:

    raiddev /dev/md0

    raid-level 4

    nr-raid-disks 4

    nr-spare-disks 0

    persistent-superblock 1

    chunk-size 32

    device /dev/sdb1

    raid-disk 0

    device /dev/sdc1

    raid-disk 1

    device /dev/sdd1

    raid-disk 2

    device /dev/sde1

    raid-disk 3

    Si tuviéramos discos de reserva, se
    insertarían de forma parecida, siguiendo las
    especificaciones de discos RAID;

    device /dev/sdf1

    spare-disk 0

    como de costumbre.

    Su array se puede inicializar con la orden

    mkraid /dev/md0

    como es habitual.

    Debería ver la sección de opciones
    especiales de mke2fs antes de formatear el
    dispositivo.

    9.6 RAID-5

    Tiene tres o más dispositivos de aproximadamente
    el mismo tamaño, quiere combinarlos en un dispositivo
    mayor, pero conservando todavía cierto grado de
    redundancia para la seguridad de datos. Finalmente, tiene varios
    dispositivos para usar como discos de reserva, que no
    tomarán parte en el array antes de que otro dispositivo
    falle.

    Si usa N dispositivos donde el tamaño del
    más pequeño es S, el tamaño de todo el array
    será (N-1)*S. El espacio “faltante'' se usa para
    información de paridad (redundancia). De esta manera, si
    cualquier disco falla, todos los datos permanecerán
    intactos. Pero si dos discos fallan, todos los datos se
    perderán.

    Configure el fichero /etc/raidtab así:

    raiddev /dev/md0

    raid-level 5

    nr-raid-disks 7

    nr-spare-disks 0

    persistent-superblock 1

    parity-algorithm left-symmetric

    chunk-size 32

    device /dev/sda3

    raid-disk 0

    device /dev/sdb1

    raid-disk 1

    device /dev/sdc1

    raid-disk 2

    device /dev/sdd1

    raid-disk 3

    device /dev/sde1

    raid-disk 4

    device /dev/sdf1

    raid-disk 5

    device /dev/sdg1

    raid-disk 6

    Si tuviéramos discos de reserva, se
    insertarían de forma parecida, siguiendo las
    especificaciones de discos RAID;

    device /dev/sdh1

    spare-disk 0

    Y así sucesivamente.

    Un tamaño de porción de 32KB es un buen
    valor por
    defecto para muchos sistemas de ficheros de propósito
    general de este tamaño. El array sobre el que se utiliza
    el raidtab anterior es un dispositivo de 7 por 6 GB = 36 GB
    (recuerde que (N-1)*S = (7-1)*6 = 36). Contiene un sistema de
    ficheros ext2 con un tamaño de bloque de 4KB.
    Podría incrementar tanto el tamaño de
    porción del array como el tamaño de bloque del
    sistema de ficheros si su sistema de ficheros fuera o bien mucho
    mayor o bien si simplemente contuviera ficheros muy
    grandes.

    Vale, ya hemos hablado bastante. Configure el fichero
    raidtab y veamos si funciona. Ejecute la orden

    mkraid /dev/md0

    y observe qué ocurre. Es de esperar que sus
    discos comiencen a trabajar como locos debido a que empiezan la
    reconstrucción de su array. Échele un vistazo a
    /proc/mdstat para ver qué está
    sucediendo.

    Si el dispositivo se ha creado correctamente, el proceso
    de reconstrucción comenzará ahora. Su array no
    será consistente hasta que esta fase de
    reconstrucción haya terminado. No obstante, el array es
    totalmente funcional (excepto, por supuesto, para el manejo de
    fallos de dispositivos) y puede formatearlo y usarlo incluso
    mientras se esté reconstruyendo.

    Consulte la sección de opciones especiales de
    mke2fs antes de formatear el array.

    Bueno, ahora que ya tiene su dispositivo RAID
    funcionando, siempre puede pararlo o rearrancarlo usando las
    órdenes

    raidstop /dev/md0

    y

    raidstart /dev/md0,

    respectivamente.

    En lugar de colocar éstos en ficheros de inicio y
    rearrancar un número astronómico de veces hasta
    hacer que funcione, siga leyendo y haga funcionar la
    autodetección.

    9.7 El superbloque persistente

    Volviendo a los “buenos viejos tiempos'' (“The Good
    Old Days'' (TM)), las herramientas RAID (raidtools)
    leerían su fichero /etc/raidtab y a continuación
    inicializarían el array. Sin embargo, esto
    requeriría que el sistema de ficheros sobre el que reside
    /etc/raidtab estuviera montado. Esto es desafortunado si quiere
    arrancar a partir de un RAID.

    También, la anterior aproximación
    producía complicaciones al montar sistemas de ficheros
    sobre dispositivos RAID. Éstos no se podían colocar
    en el fichero /etc/fstab como era usual, sino que tenían
    que ser montados en los guiones de inicio.

    Los superbloques persistentes solucionan estos problemas.
    Cuando un array se inicializa con la opción
    persistent-superblock en el fichero /etc/raidtab, se escribe un
    superbloque especial al principio de todos los discos
    participantes en el array. Esto permite al núcleo leer la
    configuración de los dispositivos RAID directamente de los
    discos involucrados, en lugar de leerla de algún fichero
    de configuración que puede no estar disponible en todo
    momento.

    Sin embargo, todavía debería mantener un
    fichero /etc/raidtab consistente, ya que puede necesitar este
    fichero para una reconstrucción posterior del
    array.

    Los superbloques persistentes son obligatorios si desea
    la autodetección de sus dispositivos RAID durante el
    arranque del sistema. Esto se describe en la sección
    Autodetección.

    9.8 Tamaños de porción

    El tamaño de porción merece una
    explicación. Nunca puede escribir de forma totalmente
    paralela a un grupo de discos. Si tuviera dos discos y quisiera
    escribir un byte, tendría que escribir cuatro bits en cada
    disco; realmente, todos los segundos bits irían al disco 0
    y los otros al disco 1. Sencillamente, el hardware no soporta
    eso. En su lugar, elegimos algún tamaño de
    porción que definimos como la masa “atómica''
    más pequeña de datos que puede ser escrita en los
    dispositivos. Una escritura de 16 KB con un tamaño de
    porción de 4 KB provocaría que la primera y tercera
    porción de 4KB se escribieran en el primer disco y la
    segunda y el cuarta porción en el segundo, en el caso de
    un RAID-0 de dos discos. De esta manera, para grandes escrituras,
    podría observar una sobrecarga más pequeña
    teniendo porciones lo bastante grandes, mientras que los arrays
    que contuvieran principalmente ficheros pequeños se
    podrían beneficiar más de un tamaño de
    porción más pequeño.

    Los tamaños de porción se pueden
    especificar para todos los niveles de RAID excepto para el modo
    lineal.

    Para un rendimiento óptimo, debería
    experimentar con el valor,
    así como con el tamaño de bloque del sistema de
    ficheros que pusiera en el array.

    El argumento de la opción chunk-size en
    /etc/raidtab especifica el tamaño de porción en
    kilobytes. Por tanto, “4'' significa “4 KB''.

    RAID-0

    Los datos se escriben “casi'' en paralelo en todos los
    discos del array. Realmente, se escriben chunk-size bytes en cada
    disco, de forma consecutiva.

    Si especifica un tamaño de porción de 4 KB
    y escribe 16 KB a un array de 3 discos, el sistema RAID
    escribirá 4 KB a los discos 0, 1 y 2, en paralelo, y a
    continuación los 4 KB restantes al disco 0.

    Un tamaño de porción de 32 KB es un punto
    de inicio razonable para la mayoría de los arrays. Pero el
    valor óptimo depende muchísimo del número de
    discos implicados, del contenido del sistema de ficheros que
    coloca y de muchos otros factores. Experimente con él para
    obtener el mejor rendimiento.

    RAID-1

    Para las escrituras, el tamaño de porción
    no afecta al array, ya que se deben escribir todos los datos a
    todos los discos sin importar qué. Para las lecturas, sin
    embargo, el tamaño de porción indica cuántos
    datos leer consecutivamente de los discos participantes. Ya que
    todos los discos activos del array contienen la misma
    información, las lecturas se pueden hacer en paralelo al
    estilo de un RAID-0.

    RAID-4

    Cuando se realiza una escritura en un array RAID-4,
    también se debe actualizar la información de
    paridad en el disco de paridad. El tamaño de
    porción es el tamaño de los bloques de paridad. Si
    se escribe un byte a un array RAID-4, entonces se leerán
    chunk-size bytes de los N-1 discos, se calculará la
    información de paridad y se escribirán chunk-size
    bytes al disco de paridad.

    El tamaño de porción afecta al rendimiento
    de las lecturas de la misma manera que en un RAID-0, ya que las
    lecturas de un RAID-4 se realizan de la misma forma.

    RAID-5

    En RAID-5 el tamaño de porción tiene
    exactamente el mimo significado que en un RAID-4.

    Un tamaño de porción razonable para un
    RAID-5 es 128 KB pero, como siempre, puede desear experimentar
    con éste.

    También consulte la sección de opciones
    especiales de mke2fs. Esto afecta al rendimiento de un
    RAID-5.

    9.9 Opciones de mke2fs

    Hay disponible una opción especial cuando se
    formatean dispositivos RAID-4 y RAID-5 con mke2fs. La
    opción -R stride=nn permitirá a mke2fs situar mejor
    diferentes estructuras de
    datos específicas de ext2 en un dispositivo RAID de forma
    inteligente.

    Si el tamaño de porción es 32 KB significa
    que 32 KB de datos consecutivos residirán en un
    único disco. Si queremos construir un sistema de ficheros
    ext2 con un tamaño de bloque de 4KB, nos damos cuenta de
    que habrá 8 bloques del sistema de ficheros en una
    porción del array. Podemos pasar esta información a
    la utilidad mke2fs
    cuando se cree el sistema de ficheros:

    mke2fs -b 4096 -R stride=8 /dev/md0

    El rendimiento de un RAID-{4,5} se ve fuertemente
    influido por esta opción. No estoy seguro de cómo
    la opción stride afectará a otros niveles RAID. Si
    alguien tiene información sobre esto, por favor, que la
    envíe a mi dirección.

    9.10 Autodetección

    La autodetección permite a los dispositivos RAID
    ser automáticamente reconocidos por el núcleo
    durante el arranque, justo después de que se realice la
    detección ordinaria de particiones.

    Esto requiere varias cosas:

    Necesita soporte para autodetección en el
    núcleo. Compruebe esto

    Debe haber creado los dispositivos RAID usando
    superbloques persistentes

    El tipo de partición de los dispositivos usados
    en el RAID se debe establecer a 0xFD (use fdisk y
    establezca el tipo a “fd'')

    NOTA: asegúrese de que su RAID NO ESTÁ
    FUNCIONANDO antes de cambiar los tipos de las particiones. Use
    raidstop /dev/md0 para parar el dispositivo.

    Si sigue los pasos 1, 2 y 3 de arriba, la
    autodetección debería activarse. Pruebe rearrancar.
    Cuando el sistema se levante, vea el contenido de /proc/mdstat;
    debería decirle que su RAID está
    funcionando.

    Durante el arranque, podría ver mensajes
    similares a estos:

    Oct 22 00:51:59 malthe kernel: SCSI device sdg: hdwr
    sector= 512

    bytes. Sectors= 12657717 [6180 MB] [6.2 GB]

    Oct 22 00:51:59 malthe kernel: Partition
    check:

    Oct 22 00:51:59 malthe kernel: sda: sda1 sda2 sda3
    sda4

    Oct 22 00:51:59 malthe kernel: sdb: sdb1 sdb2

    Oct 22 00:51:59 malthe kernel: sdc: sdc1 sdc2

    Oct 22 00:51:59 malthe kernel: sdd: sdd1 sdd2

    Oct 22 00:51:59 malthe kernel: sde: sde1 sde2

    Oct 22 00:51:59 malthe kernel: sdf: sdf1 sdf2

    Oct 22 00:51:59 malthe kernel: sdg: sdg1 sdg2

    Oct 22 00:51:59 malthe kernel: autodetecting RAID
    arrays

    Oct 22 00:51:59 malthe kernel: (read) sdb1's sb offset:
    6199872

    Oct 22 00:51:59 malthe kernel:
    bind<sdb1,1>

    Oct 22 00:51:59 malthe kernel: (read) sdc1's sb offset:
    6199872

    Oct 22 00:51:59 malthe kernel:
    bind<sdc1,2>

    Oct 22 00:51:59 malthe kernel: (read) sdd1's sb offset:
    6199872

    Oct 22 00:51:59 malthe kernel:
    bind<sdd1,3>

    Oct 22 00:51:59 malthe kernel: (read) sde1's sb offset:
    6199872

    Oct 22 00:51:59 malthe kernel:
    bind<sde1,4>

    Oct 22 00:51:59 malthe kernel: (read) sdf1's sb offset:
    6205376

    Oct 22 00:51:59 malthe kernel:
    bind<sdf1,5>

    Oct 22 00:51:59 malthe kernel: (read) sdg1's sb offset:
    6205376

    Oct 22 00:51:59 malthe kernel:
    bind<sdg1,6>

    Oct 22 00:51:59 malthe kernel: autorunning
    md0

    Oct 22 00:51:59 malthe kernel: running:
    <sdg1><sdf1><sde1><sdd1><sdc1><sdb1>

    Oct 22 00:51:59 malthe kernel: now!

    Oct 22 00:51:59 malthe kernel: md: md0: raid array is
    not clean —

    starting background reconstruction

    Esta es la salida de la autodetección de un array
    RAID-5 que no fue limpiamente desactivado (es decir, la
    máquina se cayó). La reconstrucción se
    inicia automáticamente. Montar este dispositivo es
    perfectamente seguro, ya que la reconstrucción es
    transparente y todos los datos son consistentes (sólo es
    la información de paridad la que es inconsistente – aunque
    la misma no se necesita hasta que un dispositivo
    falle).

    Los dispositivos autoarrancados también son
    automáticamente parados durante el cierre del sistema. No
    se preocupe de los guiones de inicio. Simplemente, use los
    dispositivos /dev/md como cualquier otro dispositivo /dev/sd o
    /dev/hd.

    Sí, verdaderamente es así de
    fácil.

    Quizás desee buscar cualquier orden
    raidstart/raidstop en sus guiones de inicio. Éstas suelen
    encontrarse en los guiones de inicio estándares de RedHat.
    Se usan para el antiguo estilo de RAID y no tienen utilidad en el
    nuevo estilo de RAID con autodetección. Simplemente,
    elimine las líneas y todo irá perfectamente
    bien.

    9.11 Arrancar desde un RAID

    Existen varias formas de configurar un sistema que monta
    su sistema de ficheros raíz sobre un dispositivo RAID.
    Desafortunadamente, ninguna de las distribuciones de Linux con
    las que yo he probado (RedHat y Debian) soportan un dispositivo
    RAID como dispositivo del sistema de ficheros raíz durante
    el proceso de instalación. Por tanto, le va a doler un
    poco si quiere esto pero, de hecho, es posible.

    Actualmente, LILO no maneja dispositivos RAID y ,por
    ello, no se puede cargar el núcleo desde un dispositivo
    RAID en el instante del arranque. Su sistema de ficheros /boot
    tendrá que residir en un dispositivo que no sea RAID. Un
    modo de asegurar que su sistema arranca, pase lo que pase, es
    crear particiones /boot similares en todas las unidades de su
    RAID, de esa forma la BIOS siempre
    puede cargar datos desde, por ejemplo, la primera unidad
    disponible. Esto necesita que no arranque con un disco defectuoso
    en su sistema.

    Otra forma de asegurar que su sistema siempre arranca es
    crear un disquete de arranque cuando toda la configuración
    se haya terminado. Si muere el disco en el que reside el sistema
    de ficheros /boot, siempre puede arrancar desde el
    disquete.

    Método 1

    Este método
    asume que posee un disco de reserva en el que puede instalar el
    sistema y que no es parte del RAID que configurará
    más adelante.

    Primero, instale un sistema normal en su disco
    extra.

    Obtenga el núcleo que piensa ejecutar, obtenga
    los parches y las herramientas RAID y haga que su sistema
    arranque con el nuevo núcleo con soporte RAID.
    Asegúrese de que el soporte RAID está dentro
    del núcleo y que no se carga como
    módulo.

    Vale, ahora debe configurar y crear el RAID que tiene
    pensado usar para el sistema de ficheros raíz. Éste
    es un procedimiento
    estándar como ya se describió en otra parte de este
    documento.

    Simplemente para asegurarse de que todo está
    bien, trate de rearrancar el sistema para ver si el nuevo RAID
    aparece durante el arranque. Debería aparecer.

    Coloque un sistema de ficheros sobre el nuevo array
    (usando mke2fs), y móntelo en /mnt/newroot.

    Ahora, copie el contenido de su sistema de ficheros
    raíz actual (el disco extra) al nuevo sistema de ficheros
    raíz (el array). Hay muchas formas de hacer esto. Una de
    ellas es

    cd /

    find . -xdev | cpio -pm /mnt/newroot

    Debe modificar el fichero /mnt/newroot/etc/fstab para
    usar el dispositivo correcto (el dispositivo raíz
    /dev/md?) para el sistema de ficheros raíz.

    Ahora, desmonte el sistema de ficheros /boot actual y
    móntelo en su lugar en /mnt/newroot/boot. Esto es
    necesario para que LILO funcione correctamente en el siguiente
    paso.

    Actualice /mnt/newroot/etc/lilo.conf para que apunte a
    los dispositivos correctos. El dispositivo de arranque debe ser
    todavía un disco normal (no un dispositivo RAID) pero el
    dispositivo raíz debe apuntar a su nuevo RAID. Cuando
    esté hecho, ejecute

    lilo -r /mnt/newroot

    Esta ejecución de LILO debería terminar
    sin errores.

    Rearranque el sistema y observe que todo aparece como se
    esperaba 🙂

    Si está haciendo esto con discos IDE,
    asegúrese de indicarle a su BIOS que todos
    los discos son del tipo “auto-detect'', así la BIOS
    permitirá a su máquina arrancar incluso cuando un
    disco haya fallado.

    Método 2

    Este método
    necesita que parchee su paquete raidtools para poder incluir
    la directiva failed-disk en /etc/raidtab. Busque en los archivos
    de la lista de correo Linux-raid los mensajes enviados por Martin
    Bene, alrededor del 23 de abril de 1999, donde se envió el
    parche failed-disk. Se espera que esta funcionalidad esté
    pronto en el paquete raidtools (para cuando esté leyendo
    esto puede que incluso no necesite parchear las
    raidtools).

    Sólo puede utilizar este método en
    RAIDs de niveles 1 o superiores. La idea es instalar un sistema
    sobre un disco que es adrede marcado como estropeado en el RAID,
    copiar a continuación el sistema en el RAID que
    estará funcionando en modo degrado y finalmente hacer que
    el RAID use el ya no necesario “disco de instalación'',
    aniquilando la anterior instalación pero haciendo que el
    RAID funcione en modo no degradado.

    Primero, instale un sistema normal sobre un disco (que
    más tarde formará parte de su RAID). ¡Es
    importante que este disco (o partición) no sea el
    más pequeño. Si lo es, no será posible
    añadirlo al RAID más tarde!

    A continuación, obtenga el núcleo, los
    parches, las herramientas, etc., etc. Ya conoce el ejercicio.
    Haga que su sistema arranque con un nuevo núcleo que tenga
    el soporte RAID que necesita compilado dentro del
    núcleo.

    Ahora, configure el RAID con su dispositivo raíz
    actual como el failed-disk (disco estropeado) en el fichero
    raidtab. No coloque el failed-disk como el primer disco en el
    fichero raidtab, eso le dará problemas para
    poner en marcha el RAID. Cree el RAID y coloque un sistema de
    ficheros en él.

    Pruebe a rearrancar y vea si el RAID aparece como
    debería hacerlo.

    Copie los ficheros del sistema y reconfigure el sistema
    para usar el RAID como dispositivo raíz, como se ha
    descrito en la sección anterior.

    Cuando su sistema arranque con éxito
    desde el RAID, puede modificar el fichero raidtab para incluir el
    failed-disk anterior como un disco raid-disk normal. Ahora,
    ejecute raidhotadd para añadir el disco a su sistema
    RAID.

    Ahora debería tener un sistema capaz de arrancar
    desde un RAID no degradado.

    9.12 Dificultades

    Nunca NUNCA nunca reparticione discos que son
    parte de un RAID que está funcionando. Si debe alterar la
    tabla de particiones de un disco que es parte de un RAID, pare
    primero el array y después reparticione.

    Es fácil poner demasiados discos en un bus. Un bus Fast-Wide SCSI
    normal puede sostener 10 MB/s que es menos de lo que muchos
    discos pueden obtener por sí solos hoy en día. Por
    supuesto, colocar seis de tales discos en un bus no le
    proporcionará el aumento de rendimiento
    esperado.

    La mayoría de los controladores SCSI sólo
    le proporcionarán un rendimiento extra si los buses SCSI
    son llevados prácticamente al máximo por los discos
    conectados a ellos. No observará una mejora de rendimiento
    por usar dos controladores 2940 con dos viejos discos SCSI en
    lugar de simplemente hacer funcionar los dos discos sobre un
    único controlador.

    Si olvida la opción persistent-superblock puede
    que su array no arranque por las buenas después de que
    haya sido parado. Simplemente, recree el array con la
    opción colocada correctamente en el fichero
    raidtab.

    Si un RAID-5 no logra reconstruirse después de
    que un disco haya sido eliminado y reinsertado, puede deberse al
    orden de los dispositivos en el fichero raidtab. Intente mover el
    primer par “device''–“raid-disk'' al final de la descripción del array en el fichero
    raidtab.

    Cómo instalar un RAID0

    A continuación describimos cómo instalar
    un RAID0. Si desea montar un RAID distinto de RAID0 en un kernel
    2.0.xx, hay que conseguir un parche.

    El RAID0 no tiene redundancia pero hay que pensar que
    para tener redundancia conviene tener un numero de discos elevado
    para no desperdiciar espacio en disco. Gastar todo un disco
    cuando tenemos tres es un despilfarro. Además esto no
    cubre todos los casos de perdida de información sino
    sólo los fallos por deterioro físico de un disco,
    lo cual no es muy frecuente. Por el contrario si tenemos 10
    discos, gastar uno para el control de paridad no resulta
    demasiado desperdicio. En un RAID0 se perderá toda la
    información en caso de fallo de cualquiera de los discos
    que lo componen por lo cual una adecuada política de copias de
    seguridad resulta especialmente recomendable.

    Lo primero será incluir los drivers en el kernel.
    Para Linux 2.0.xx RAID las opciones serán:

    Multiple devices driver support (CONFIG_BLK_DEV_MD)
    [Y/n/?] Y

    Linear (append) mode (CONFIG_MD_LINEAR) [Y/m/n/?]
    Y

    RAID-0 (striping) mode (CONFIG_MD_STRIPED) [Y/m/n/?]
    Y

    Después de arrancar con el nuevo kernel
    aparecerá en /proc una entrada mdstat que contiene la
    información de los cuatro (cuatro es el valor por defecto)
    dispositivos nuevos creados como md0, md1, md2, md3. Como no
    hemos inicializado ninguno aparecerán todos como inactivos
    y aun no los podemos usar.

    Para gestionarlos existen unas utilidades.
    ‘mdutils’

    • mdadd

    • mdrun

    • mdstop

    • mdop

    Puede obtenerlas en:sweet-smoke.ufr-info-p7.ibp.fr
    /pub/Linux, pero suelen estar incluidas en todas las
    distribuciones.

    Para versiones del núcleo superiores a la 2.1.62
    existe otro paquete distinto llamado ‘RAIDtools’ que
    permiten usar RAID0, RAID4 o RAID5.

    En el ejemplo que sigue ilustramos como definir un
    metadisco RAID0 que usará dos discos duros. Concretamente
    /dev/sdb1 y /dev/sdc1.

    meta-device

    RAID Mode

    Disk Partition 1

    Disk Partition 1

    /dev/md0

    linear

    /dev/sdb1

    /dev/sdc1

    Se puede incluir mayor número de
    particiones.

    Una vez formateado el metadisco no se debe alterar este
    registro ya que podría perderse toda la
    información.

    mdadd -a

    mdrun -a

    Ahora debería aparecer inicializado el md0. Para
    formatearlo:

    mke2fs /dev/md0

    Y montarlo.

    mkdir /mount/md0

    mount /dev/md0 /mount/md0

    Si todo ha funcionado correctamente, podemos incluir
    estas ordenes en los scripts de arranque para que la
    próxima vez que arranquemos el ordenador se monte
    automáticamente el RAID0. Para ello, añadiremos una
    entrada en /etc/fstab para montar el metadisco durante el
    arranque pero también habrá que incluir
    ‘mdadd -a’ y ‘mdrun -a’ en un fichero que
    se ejecute antes de que se intente realizar el montado. Si
    nuestra distribución es Debian, un buen lugar
    incluir estas ordenes es /etc/init.d/checkroot.sh justo antes de
    remontar en modo lectura/escritura el sistema de ficheros
    raíz, esto es, justo antes de la línea: "mount -n
    -o remount,rw /"

    Ejemplo:

    Se describe a continuación la
    configuración que yo estoy usando. Tengo un disco IDE de
    6.3 Gb, uno SCSI de 4.2Gb, y otro de 2Gb.

    HD 6.3Gb IDE

    /

    /bigTemp + /incoming

    swap

    2Gb(RAID) hda4

    HD 4.2Gb SCSI

    C:

    D:

    swap

    2Gb(RAID) sda4

    HD 2Gb SCSI

    swap

    2Gb(RAID) sdb2

    #######</etc/fstab>################################################

    # <file system> <mount point> <type>
    <options> <dump> <pass>

    /dev/hda1 / ext2 defaults 0 1

    /dev/hda2 /mnt/hda2 ext2 defaults 0 2

    /dev/md0 /mnt/md0 ext2 defaults 0 2

    proc /proc proc defaults 0 2

    /dev/hda3 none swap sw,pri=10

    /dev/sdb1 none swap sw,pri=10

    /dev/sda3 none swap sw,pri=10

    #########</etc/mdtab>#######################################

    # <meta-device> <RAID-mode> <DskPart1>
    <DskPart1> <DskPart1>

    /dev/md0 RAID0,8k /dev/hda4 /dev/sda4
    /dev/sdb2

    En el disco de 6Gb está la partición del
    sistema de ficheros raíz en hda1 y luego una gran
    partición que se usa para descarga de Internet almacenamiento de
    imágenes de CD’s
    etc. No representa tampoco mucha carga porque se usa poco. El
    disco de 4Gb tampoco tiene particiones que puedan estorbar gran
    cosa al RAID porque son particiones de msdos que apenas se usan
    desde Linux. El disco de 2G está casi totalmente dedicado
    al RAID. Se reserva un pequeño espacio en cada uno de los
    discos que se utilizará como swap.

    Hay que procurar que todos los discos (particiones) que
    forman el RAID tengan más o menos el mismo tamaño
    pues diferencias de tamaño perjudican el rendimiento del
    RAID. Diferencias pequeñas no son significativas. Se
    aprovecha todo el espacio así que toda la
    información que puede ser entrelazada entre distintos
    discos quedará entrelazada y la restante quedará
    sin entrelazar.

    Montar en un mismo RAID varios discos IDE es poco
    eficiente, pero un disco IDE junto con varios SCSI funciona
    bastante bien. Los discos IDE no permiten accesos concurrentes,
    pero sí los discos SCSI.

    5. Como seleccionar un
    disco RAID

    El seleccionar un disco raid puede ser una dura tarea ,
    ya que no existen criterios establecidos , para saber , cual es
    la mejor solucion . Una equivacion bastante común es
    juntar todos los discos Raid en el mismo nivel , porlo que
    debe,mos elegir una solucion correcta para el grupo comleto de
    disco , no metiendo todos en el mismo nivel sino estructurando
    los discos deopendiendo de las necesidades en seguruidad e
    integridad de los datos .

    Para seleccionar un disco Raid en primer lugar tenemos
    que conocer nuestra necesidades , o saber los tipos de
    aplicaciones que se emplean .Podemos separa las aplicaciones en
    dos tipo:

    • Aplicaciones de demanda :

    Podriamos seleccionar el Raid 5 ya que ofrece una alta
    velocidad de demanda , tanto en escrituras como lecturas
    .

    • Apliaciones de Transferencias :

    La mejor opcion pasaria por Raid 3 ya que ofrece una
    alta velocidad de tranferencia para gráficos e imágenes y aplicaciones
    en gral en las que necesitamos gran transferencia de datos
    .

    Ademas del tipo de aplicación , abremos de tener
    en cuanta los factores que nos guiaran a octar por la
    elección de un Raid u otro como son :

    • Integridad y costo :

    normalmente llegaremos a una solucion Raid que asegure
    la integridad de los datos del disco , ya que de esta manera
    tendremos preservados , nuestros datos sobre posibles errores del
    disco .El Raid 0 es el unico nivel que no proporciona integridad
    .

    • Costo :

    El costo vendra marcado por nuesto poder
    adquisitivo sera uno de los factores mas importantes a la hora de
    seleccionar nuestro disco .No solo tenemos que pensar en la
    integridad de los datos , sino en cuando se estropee un disco
    tenemos que apagar el sistema . A para ello existe varios
    dispositivos como Hot Swap , Hot Spare , Duplex Controler ,
    Redundant Power Supplies .

    La siguiente tabla muestra las
    opciones mas acertadas , a la hora de elegir el nivel Raid que
    mejor se adapte a nuestra necesidades teniendo en cuenta todos
    estos factores :

    Costo

    Rendimiento

    Integridad

    Nivel Raid

    Raid 1

    X

    Raid 0

    X

    X

    Raid 1

    X

    Raid 0

    X

    X

    Raid 3/5

    X

    X

    Raid 0

    X

    X

    X

    Raid 3/5

     Maximas y minimas cantidades de Hd que se pueden
    ordenar para los diferentes niveles de RAID.

    Nivel de Raid

    Minimo

    Maximo

    5

    3

    16

    4

    3

    N/A

    3

    3

    N/A

    2

    N/A

    N/A

    1

    2

    2

    0

    2

    16

    Acrónimos

    RAID Redundant Array of independent Disks
    SLED Single Large Expensive Disk
    HD Hard Disk
    MTBDL Mean Time before Data Loss
    MTBF Mean Time Between failures
    DSA Data Striping Without Parity
    MDA Mirrored Disk Array
    PDA Parallel Disk Array
    IDA Independient Disk Array

     10. Glosario:

    Duplex controler: Controladora doble. Son
    controladoras de disco que pueden trabajar de modo simple o de
    forma doble, para que la carga de la controladora sea distribuida
    y más eficaz.
    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 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 perdida de datos. Para tal efecto se tiene que seleccionar un
    disco RAID o alguna alternativa. El nivel de integridad es uno de
    los primeros criterios que ser han de investigar.
    Mirroring: Haciendo espejo. Es un nivel de RAID (el nivel
    1) que pasa por hacer una copia integra 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 XOR sobre los datos de los discos y
    guardándolo en otro disco o en un disco dedicado a ese
    efecto, esto dependerá del nivel de RAID que
    usemos.

    Reconstrucción o regeneración: Cuando un
    disco falla la información redundante en los discos y los
    datos en los discos buenos son usados para regenerar la
    información del disco averiado.

    Redundat Power Supplies: Fuente de alimentación
    redundante. El sistema consta de dos fuentes de
    alimentación. Si uno se estropea se pone en marcha,
    pudiéndose cambiar la estropeada en caliente.

    Sistemas Basados en Velocidad de Demanda: Son aquellos
    en que se requieren un gran numero de demandas de E/S en el menor
    tiempo posible. Una alta velocidad de demanda es típica en
    sistemas multiusuario o en aplicaciones de bases de datos en
    las que se generan un gran numero de pequeñas demandas de
    E/S. En este caso cada disco del conjunto puede procesar una
    demanda simultáneamente.
    Sistemas Basados en Velocidad de Transferencia: Son aquellos que
    intentan satisfacer una sola demanda con la máxima
    velocidad. Un claro ejemplo son las aplicaciones de ingeniería científicas
    imágenes, etc.
    En estos sistemas el tamaño de la demanda es mucho
    más grande que en los sistemas basados en velocidad de
    demanda, para el que emplea todos los discos del conjunto en
    paralelo para satisfacer una mayor demanda en el mínimo
    tiempo posible.

     Trabajo práctico creado por

    Claudio Seror

    Técnico electrónico y tercer año de
    analista de sistemas

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter