Jump to content

Guia sobre RAID


Recommended Posts

RAID es el acrónimo de Redundant Array of Independent Disk (aunque a veces la I se asocia con Inexpensive), RAID permite unificar varios discos o particiones para formar una sola unidad lógica.

Linux soporta varios niveles de RAID entre ellos modo lineal, 0, 1, 4, 5.

 

Definiciones de los niveles de RAID

 

Modo Lineal

Los datos son escritos en un disco del arreglo hasta estar completo, una vez completo, los datos son escritos en el siguiente disco del arreglo hasta que todos los discos estén llenos.

Teóricamente no se considera un RAID debido a que no provee redundancia.

 

RAID 0 (Striping)

Los datos son intercalados a través de todos los discos en el arreglo, mejora el rendimiento, no tiene mecanismos de redundancia.

Teóricamente no se considera un RAID debido a que no provee redundancia.

 

RAID 1

Almacena una replica exacta de todos los datos en discos separados, provee redundancia completa, baja el rendimiento de escritura, como los datos son leídos de manera paralela tiene una mejora en la lectura. A medida que se agregan discos al arreglo, menor va a ser el desempeño de escritura.

 

RAID 4

Similar al RAID 1 pero una unidad es usada para almacenar información de paridad, en caso de una falla en un disco la información se puede generar con el resto de los datos y la información de paridad realizando una operación XOR. Provee tolerancia a fallos, si dos discos fallan de manera simultanea hay una perdida total de la información.

 

RAID 5

Similar a RAID 4 pero la información de paridad es esparcida a través de todos los discos en el arreglo, ayuda a reducir el cuello de botella. Provee tolerancia a fallos, si dos discos fallan de manera simultanea hay una perdida total de la información.

 

Tamaño de los arreglos

 

NIVEL        CAPACIDAD
Modo Lineal        TamañoDisco1+TamañoDisco2+TamañoDiscoN...
RAID0            TotalDiscos*Tamaño
RAID1            Tamaño
RAID4            (TotalDiscos-1)*Tamaño
RAID5            (TotalDiscos-1)*Tamaño

 

Creación de los distintos tipos de RAID

 

Modo Lineal

 

Para este ejemplo se utilizaran las particiones /dev/sdb1, /dev/sdc1, /dev/sdd1

 

# mdadm -Cv -n3 -llinear /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1

 

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt

 

RAID 0

 

Para este ejemplo se utilizaran las particiones /dev/sdb1, /dev/sdc1, /dev/sdd1

 

# mdadm -Cv -n3 -l1 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1

 

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt

 

RAID 1

 

Para este ejemplo se utilizaran las particiones /dev/sdb1, /dev/sdc1, /dev/sdd1 y un spare (repuesto) /dev/sde1.

 

# mdadm -Cv -n3 -x1 -l1 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 

Se puede ver el progreso del arreglo en el archivo /proc/mdstat.

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt

 

RAID 4

 

Para este ejemplo se utilizaran las particiones /dev/sdb1, /dev/sdc1, /dev/sdd1 y un spare /dev/sde1.

/dev/sdd1 sera el disco donde se almacenaran las paridades.

 

# mdadm -Cv -l4 -n3 -x1 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 

Se puede ver el progreso del arreglo en el archivo /proc/mdstat.

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt

 

RAID 5

 

Para este ejemplo se utilizaran las particiones /dev/sdb1, /dev/sdc1, /dev/sdd1 y un spare /dev/sde1

 

# mdadm -Cv -l5 -n3 -x1 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 

Se puede ver el progreso del arreglo en el archivo /proc/mdstat.

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt

 

RAID 1+0

 

Este es un arreglo híbrido, permite usar arreglos como miembros de otros arreglos.

Para este ejemplo se creo el arreglo /dev/md0 de nivel 1 con los discos /dev/sdb1, /dev/sdc1.

Se creo el arreglo /dev/md1 de nivel 1 con los discos /dev/sdd1, /dev/sde1.

Se creo el arreglo /dev/md2 de nivel 0 con los dos arreglos creados anteriormente /dev/md0 y /dev/md1.

 

# mdadm -Cv -n2 -l1 /dev/md0 /dev/sdb1 /dev/sdc1
# mdadm -Cv -n2 -l1 /dev/md1 /dev/sdd1 /dev/sde1
# mdadm -Cv -n2 -l0 /dev/md2 /dev/md0 /dev/md1

 

Formateamos el arreglo y lo montamos

 

# mkfs.ext3 /dev/md2
# mount /dev/md2 /mnt

 

Para que el kernel cree los arreglos de manera automática, hay que definirlos en el archivo /etc/mdadm.conf.

Las directivas que tenemos que agregar son DEVICE, ARRAY y MAILADDR

DEVICE, contiene una lista separada por espacios de los dispositivos que son parte de algún arreglo.

ARRAY, identifica los arreglos que se van a crear. Podemos crear esta directiva escaneando los arreglos que están activos actualmente en nuestro sistema y enviando su salida a /etc/mdadm.conf (mdadm --detail --scan >> /etc/mdadm.conf).

MAILADDR, si mdadm se ejecuta en modo monitor se especifica una dirección de correo donde se enviaran alertas de por ejemplo cuando un disco en el arreglo falla.

 

Ejemplo de /etc/mdadm.conf

 

DEVICE /dev/sda1 /dev/sdb1 /dev/sdc1 
ARRAY /dev/md0 level=linear num-devices=3 UUID=1913043e:170e23b3:575a626c:53470a54 
MAILADDR root

 

Espero que sea de utilidad.

Edited by nunacho
Link to comment
Share on other sites

  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...