Diferencia entre revisiones de «Crear una Software RAID»

De Guía Ubuntu
Saltar a: navegación, buscar
(cargar el módulo raid)
 
(No se muestran 16 ediciones intermedias realizadas por 8 usuarios)
Línea 3: Línea 3:
 
== Información básica sobre RAIDs ==
 
== Información básica sobre RAIDs ==
  
{{ nota | Si ya conoces que és una raid y para que sirve puedes pasar por alto absolutamente éste apartado.}}
+
{{ nota | Si ya conoces que es una RAID y para que sirve puedes pasar por alto absolutamente éste apartado.}}
  
===¿Que és una RAID?¿Para que sirve?===
+
===¿Que es una RAID?¿Para que sirve?===
 
=====Historia=====
 
=====Historia=====
 
La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.
 
La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.
Línea 12: Línea 12:
  
 
=====¿Para que sirve?=====
 
=====¿Para que sirve?=====
Asi pues una raid sirve para crear un único volumen lógico, el cual fisicamente esté compuesto por varios discos fisicos. Dependiendo de que modo de RAID utilicemos, ésto nos servira para conseguir simplemente un volumen de capacidad mayor, o para conseguir un volumen con mayor seguridad contra fallos de hardware de los discos que lo componen grácias al almacenamiento redundante de estos.
+
Así pues una RAID sirve para crear un único volumen lógico, el cual físicamente esté compuesto por varios discos físicos. Dependiendo de que modo de RAID utilicemos, ésto nos servirá para conseguir simplemente un volumen de capacidad mayor, o para conseguir un volumen con mayor seguridad contra fallos de hardware de los discos que lo componen gracias al almacenamiento redundante de estos.
  
{{ nota | '''Hay que tener en cuenta que cando hablamos de Software RAID, siempre que hablamos de discos debemos entender que hablamos de particiones.'''}}  
+
{{ nota | '''Hay que tener en cuenta que cuando hablamos de Software RAID, siempre que hablamos de discos debemos entender que hablamos de particiones.'''}}  
  
 
===Modos básicos de RAID===
 
===Modos básicos de RAID===
Línea 29: Línea 29:
  
 
=====RAID1 (Mirrored)=====
 
=====RAID1 (Mirrored)=====
*Este es el primer modo que realmente tiene redundancia. RAID-1 se puede usar en dos discos identicos. Este modo mantiene en un disco un duplicado exacto de la información del otro disco.
+
*Este es el primer modo que realmente tiene redundancia. RAID-1 se puede usar en dos discos idénticos. Este modo mantiene en un disco un duplicado exacto de la información del otro disco.
 
*Si uno falla, los datos permanecerán intactos, puesto que tendremos el otro disco.
 
*Si uno falla, los datos permanecerán intactos, puesto que tendremos el otro disco.
 
*Normalmente, el rendimiento de las lecturas es la suma de los rendimientos de los discos, mientras que el rendimiento de las escrituras es el mismo que el de un único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer en paralelo pero, cuando se escribe, la CPU debe transferir 2 veces la cantidad de datos que normalmente transferiría (se deben enviar 2 copias idénticas de todos los datos, una a cada disco).
 
*Normalmente, el rendimiento de las lecturas es la suma de los rendimientos de los discos, mientras que el rendimiento de las escrituras es el mismo que el de un único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer en paralelo pero, cuando se escribe, la CPU debe transferir 2 veces la cantidad de datos que normalmente transferiría (se deben enviar 2 copias idénticas de todos los datos, una a cada disco).
Línea 41: Línea 41:
 
*Este es quizás el modo RAID más útil cuando uno desea combinar un mayor número de discos físicos y todavía conservar redundancia. RAID5 se puede usar sobre 3 o más discos. El tamaño del dispositivo RAID5 resultante será (N-1)*S, tal y como sucede con RAID4. La gran diferencia entre RAID5 y RAID4 es que la información de paridad se distribuye uniformemente entre los discos participantes, evitando el problema del cuello de botella del RAID4.
 
*Este es quizás el modo RAID más útil cuando uno desea combinar un mayor número de discos físicos y todavía conservar redundancia. RAID5 se puede usar sobre 3 o más discos. El tamaño del dispositivo RAID5 resultante será (N-1)*S, tal y como sucede con RAID4. La gran diferencia entre RAID5 y RAID4 es que la información de paridad se distribuye uniformemente entre los discos participantes, evitando el problema del cuello de botella del RAID4.
 
*Si uno de los discos falla, todos los datos permanecerán intactos, gracias a la información de paridad. Si dos discos fallan simultáneamente, todos los datos se perderán. RAID5 puede sobrevivir a un fallo de disco, pero no a dos o más.
 
*Si uno de los discos falla, todos los datos permanecerán intactos, gracias a la información de paridad. Si dos discos fallan simultáneamente, todos los datos se perderán. RAID5 puede sobrevivir a un fallo de disco, pero no a dos o más.
*El rendimiento de lectura de RAID5 es equiparable al de RAID0 con el mísmo numero de discos. Exceptuando los bloques de paridad, los cuales pueden causar un ligero relentimiento en las escrituras (en las lecturas no se usan los bloques de paridad de noser que algun disco falle).
+
*El rendimiento de lectura de RAID5 es equiparable al de RAID0 con el mismo numero de discos. Exceptuando los bloques de paridad, los cuales pueden causar un ligero relentimiento en las escrituras (en las lecturas no se usan los bloques de paridad de no ser que algún disco falle).
  
{{ nota | Mas informacion sobre los [http://en.wikipedia.org/wiki/Standard_RAID_levels sistemas basicos de RAID]}}
+
=====RAID6=====
 +
*La idea es la misma que RAID5, solo que se agrega un segundo algoritmo de paridad a parte del XOR normal, por tanto permite la perdida de 2 discos fisicos, el tamaño del RAID6 resultante será (N-2)*S.
 +
 
 +
{{ Consejo | Mas información sobre los [http://en.wikipedia.org/wiki/Standard_RAID_levels sistemas básicos de RAID (English)] [http://es.wikipedia.org/wiki/RAID (Español)]}}
  
 
====Otros modos de RAID====
 
====Otros modos de RAID====
  
Existen multitud de modos de RAID basados en la convinacion de diferentes RAIDs, es decir se utiliza un conjunto de RAIDs en un determinado sistema para crear una nueva RAID en -normalmente- otro sistema. Algunos de éstos sistemas son: RAID01, RAID10, RAID03, RAID30, RAID50, RAID51 (tambien llamada RAID53), RAID60, y RAID 100.
+
Existen multitud de modos de RAID basados en la convención de diferentes RAIDs, es decir se utiliza un conjunto de RAIDs en un determinado sistema para crear una nueva RAID en -normalmente- otro sistema. Algunos de éstos sistemas son: RAID01, RAID10, RAID03, RAID30, RAID50, RAID51 (también llamada RAID53), RAID60, y RAID 100.
  
{{ nota | Mas informacion sobre [http://en.wikipedia.org/wiki/Nested_RAID_levels Otros modos de RAID]}}
+
{{ Consejo | Mas información sobre [http://en.wikipedia.org/wiki/Nested_RAID_levels Otros modos de RAID]}}
  
 
==Paquete mdadm==
 
==Paquete mdadm==
Línea 55: Línea 58:
  
  
Para la creación y administracion de una RAID por software necesitaremos el paquete '''mdadm'''.  
+
Para la creación y administración de una RAID por software necesitaremos el paquete '''mdadm'''.  
  
La antigua colección de utilidades para RAID de los paquetes ''raidtools'' y ''raidtools2'' se ha dejado de usar actualmente puesto que dependia de un ficero de configuración (/etc/raidtab) dificil de mantener, y sys funciones eran limitadas. Desde agosto de 2001, existe la herramienta mdadm (multiple devices admin), éste paquete nos permite gestionar las RAIDs por software de una manera mucho mas simple y robusta. Actualmente se ha convertido en un estandar.  
+
La antigua colección de utilidades para RAID de los paquetes ''raidtools'' y ''raidtools2'' se ha dejado de usar actualmente puesto que dependía de un fichero de configuración (/etc/raidtab) difícil de mantener, y sus funciones eran limitadas. Desde agosto de 2001, existe la herramienta mdadm (multiple devices admin), éste paquete nos permite gestionar las RAIDs por software de una manera mucho mas simple y robusta. Actualmente se ha convertido en un estándar.  
  
  
 
===Instalar mdadm en Ubuntu===
 
===Instalar mdadm en Ubuntu===
  
En principio el paquete '''mdadm viene instalado por defecto''' en ubuntu.
+
En principio el paquete '''mdadm viene instalado por defecto''' en Ubuntu.
  
Asimismo si no disponeis del paquete instalado podeis instalarlo con el ''Gestor de paquetes Synaptic'' o bien con el siguiente comando:
+
Asimismo si no disponéis del paquete instalado podéis instalarlo con el ''Gestor de paquetes Synaptic'' o bien con el siguiente comando:
  
 
  <nowiki>$ sudo apt-get install mdadm</nowiki>
 
  <nowiki>$ sudo apt-get install mdadm</nowiki>
 +
 +
== cargar el módulo raid==
 +
Para que ubuntu pueda trabajar con las RAID puede ser necesario cargar primero el módulo correspondiente.
 +
 +
$ sudo modprobe raid1
 +
 +
o
 +
 +
$ sudo modprobe raid0
 +
 +
si se quiere un RAID0, o los dos si quieres usar ambos tipos de RAID.
  
 
==Crear una RAID==
 
==Crear una RAID==
  
En el caso ejemplo que voy a exponer crearé una RAID5 con 4 discos. Asimismo este procedimiento se puede seguir mas o menos de manera análoga para crear qualquier tipo de RAID.
+
En el caso ejemplo que voy a exponer crearé una RAID5 con 4 discos. Asimismo este procedimiento se puede seguir mas o menos de manera análoga para crear cualquier tipo de RAID.
  
 
====Particionamiento====
 
====Particionamiento====
  
'''Debemos tener en cuenta, que puesto que vamos a crear una Software RAID, vamos a utilizar particiones en lugar de discos'''. Sin perjuicio que cada disco contenga una sola particion con la totalidad del tamaño del disco, como de echo és indicado.
+
'''Debemos tener en cuenta, que puesto que vamos a crear una Software RAID, vamos a utilizar particiones en lugar de discos'''. Sin perjuicio que cada disco contenga una sola partición con la totalidad del tamaño del disco, como de hecho es indicado.
  
 
Así pues primeramente debemos preparar las particiones que vamos a utilizar para crear la RAID.
 
Así pues primeramente debemos preparar las particiones que vamos a utilizar para crear la RAID.
  
Para ésto podemos utilizar cualquier herramienta de particionamiento. En nuestro caso vamos a utilizar GParted, una herramienta gráfica de facil uso. Puesto que Ubuntu no la lleva instalada por defecto la instalaremos mediante el Gestor de paquetes Synaptic, o bien con apt-get mediante comandos:
+
Para esto podemos utilizar cualquier herramienta de particionamiento. En nuestro caso vamos a utilizar GParted, una herramienta gráfica de fácil uso. Puesto que Ubuntu no la lleva instalada por defecto la instalaremos mediante el Gestor de paquetes Synaptic, o bien con apt-get mediante comandos:
  
 
  <nowiki>$ sudo apt-get install gparted</nowiki>
 
  <nowiki>$ sudo apt-get install gparted</nowiki>
  
Una vez instalado GParted, procedemos a crear una particion para la totalidad de cada uno de los discos idénticos de los que disponemos para crear la RAID.
+
Una vez instalado GParted, procedemos a crear una partición para la totalidad de cada uno de los discos idénticos de los que disponemos para crear la RAID.
Debemos crear una '''particion sin formato''', puesto que el formato de la RAID lo daremos cuando esta esté construida.
+
Debemos crear una '''partición sin formato''', puesto que el formato de la RAID lo daremos cuando esta esté construida.
A parte del formato debemos indicar que se trara de un disco para crear una RAID. Esto lo podemos hacer de manera facil con GParted, seleccionando la partición e iendo a Menu Partición>gestionar señaladores y marcando el señalador "RAID", tal y como muestran las imagenes.
+
A parte del formato debemos indicar que se tratará de un disco para crear una RAID. Esto lo podemos hacer de manera fácil con GParted, seleccionando la partición e yendo a Menú Partición>gestionar señaladores y marcando el señalador "RAID", tal y como muestran las imágenes.
[[Imagen:gparted.png|thumb|GParted con particón sin formato y con señalador RAID]]
+
[[Imagen:gparted.png|thumb|GParted con partición sin formato y con señalador RAID]]
 
[[Imagen:senyaladors.png|Ventana GParted donde marcar señalador RAID]]
 
[[Imagen:senyaladors.png|Ventana GParted donde marcar señalador RAID]]
  
Marcar la partición como RAID no és vital para el funcionamiento de la RAID, asimismo es la manera más correcta de hacerlo y nos ayudará a distingir las particiones en un futuro. Con fdisk veremos este heco marcado como ''"Autodeteccón Linux raid" (Linux raid autodetect)''.
+
Marcar la partición como RAID no es vital para el funcionamiento de la RAID, asimismo es la manera más correcta de hacerlo y nos ayudará a distinguir las particiones en un futuro. Con fdisk veremos este hecho marcado como ''"Autodetección Linux raid" (Linux raid autodetect)''.
Una vez acabado el proceso podemos ver con fdisk -l un listado de las particiones como el siguiente (esta en Català puesto a que mi sistema esta en éste idioma):
+
Una vez acabado el proceso podemos ver con fdisk -l un listado de las particiones como el siguiente (esta en Català puesto a que mi sistema está en este idioma):
  
 
  <nowiki>$ sudo fdisk -l
 
  <nowiki>$ sudo fdisk -l
Línea 121: Línea 135:
 
/dev/sde1              1      24321  195358401  fd  Autodetecció Linux raid</nowiki>
 
/dev/sde1              1      24321  195358401  fd  Autodetecció Linux raid</nowiki>
  
Podemos observar que la columna Id muestra el valor "fd" esto es debido a que lo hemos marcado como ''"Autodeteccón Linux raid" (Linux raid autodetect)''.
+
Podemos observar que la columna Id muestra el valor "fd" esto es debido a que lo hemos marcado como ''"Autodetección Linux raid" (Linux raid autodetect)''.
  
====Creacion de la RAID====
+
====Creación de la RAID====
  
Primeramente antes de crear la RAID podemos ver en el fichero '''/proc/mdstat''' si al algun otro array:
+
Primeramente antes de crear la RAID podemos ver en el fichero '''/proc/mdstat''' si al algún otro array:
  
 
  <nowiki>$ cat /proc/mdstat
 
  <nowiki>$ cat /proc/mdstat
Línea 132: Línea 146:
 
unused devices: <none></nowiki>
 
unused devices: <none></nowiki>
  
Vemos que no aparece ningun array.
+
Vemos que no aparece ningún array.
  
Proseguimos a la creacion del md en el que crearemos la RAID. Para ello utilizaremos el comando '''mknod''' como se muestra en la siguiente orden:
+
Proseguimos a la creación del md en el que crearemos la RAID. Para ello utilizaremos el comando '''mknod''' como se muestra en la siguiente orden:
  
 
  <nowiki>$ sudo mknod /dev/md0 b 9 0</nowiki>
 
  <nowiki>$ sudo mknod /dev/md0 b 9 0</nowiki>
  
Si ya tubieramos algun otro array llamado md0, podemos crear un md diferente: md1, md2, ...
+
Si ya tuviéramos algún otro array llamado md0, podemos crear un md diferente: md1, md2, ...
  
 
Procedemos ahora a crear finalmente la RAID:
 
Procedemos ahora a crear finalmente la RAID:
Línea 146: Línea 160:
 
mdadm: array /dev/md0 started.</nowiki>
 
mdadm: array /dev/md0 started.</nowiki>
  
La raid heco esto empezará a crearse.
+
La raid hecho esto empezará a crearse.
  
 
Detalles del comando '''<nowiki>mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1</nowiki>''' :
 
Detalles del comando '''<nowiki>mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1</nowiki>''' :
  
*En '''<nowiki>--create /dev/md0</nowiki>''' le indicaremos el md al que vamos a asignar el array. Si hemos escogido otro lo deberemos cambiar aqui.
+
*En '''<nowiki>--create /dev/md0</nowiki>''' le indicaremos el md al que vamos a asignar el array. Si hemos escogido otro lo deberemos cambiar aquí.
  
*En '''<nowiki>--level=raid5</nowiki>''' indicaremos el tipo de raid que queremos que sea. Los valores validos aqui son: ''linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp, fautly''. Como vemos algunos de ellos son sinonimos, por lo que para una RAID5 podemos introducir ''"raid5"''  o bien ''"5"''.
+
*En '''<nowiki>--level=raid5</nowiki>''' indicaremos el tipo de raid que queremos que sea. Los valores validos aquí son: ''linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp, fautly''. Como vemos algunos de ellos son sinónimos, por lo que para una RAID5 podemos introducir ''"raid5"''  o bien ''"5"''.
  
*Como vemos devemos indicarle las '''PARTICIONES''' (no los discos) con las que hacer la RAID, asi como el numero de particiones: '''<nowiki>--raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1</nowiki>'''
+
*Como vemos debemos indicarle las '''PARTICIONES''' (no los discos) con las que hacer la RAID, así como el numero de particiones: '''<nowiki>--raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1</nowiki>'''
  
 
*otros modificadores útiles (no utilizados en el ejemplo):
 
*otros modificadores útiles (no utilizados en el ejemplo):
 
**'''<nowiki>--verbose</nowiki>''' nos explica mas cosas sobre lo que pasa.  
 
**'''<nowiki>--verbose</nowiki>''' nos explica mas cosas sobre lo que pasa.  
 
**'''<nowiki>--chunk=</nowiki>''' especifica cada segmento en kibibytes. '''Por defecto es 64'''. Ej: <nowiki>--chunk=32</nowiki>. '''Antes de decidir el tamaño del segmento es recomendable que consultes el apartado de ''Factores de optimización del sistema de archivos en una RAID'' de este mismo documento.'''
 
**'''<nowiki>--chunk=</nowiki>''' especifica cada segmento en kibibytes. '''Por defecto es 64'''. Ej: <nowiki>--chunk=32</nowiki>. '''Antes de decidir el tamaño del segmento es recomendable que consultes el apartado de ''Factores de optimización del sistema de archivos en una RAID'' de este mismo documento.'''
**'''<nowiki>--parity=</nowiki>''' Establece el algoritmo de paridad para RAID5. Las opciones son: '''''left-asymmetric,  left-symmetric,  right-asymmetric,  right-symmetric''''' (''la, ra, ls, rs'' en sus versiones reducidas). '''Por defecto és left-symmetric'''. Ej: <nowiki>--parity=right-asymmetric</nowiki>. Este modificador tiene otras opciones avanzadas.
+
**'''<nowiki>--parity=</nowiki>''' Establece el algoritmo de paridad para RAID5. Las opciones son: '''''left-asymmetric,  left-symmetric,  right-asymmetric,  right-symmetric''''' (''la, ra, ls, rs'' en sus versiones reducidas). '''Por defecto es left-symmetric'''. Ej: <nowiki>--parity=right-asymmetric</nowiki>. Este modificador tiene otras opciones avanzadas.
  
{{ nota | Para mas información sobre otros modificadores del comando mdadm consultad una [http://www.linuxcommand.org/man_pages/mdadm8.html pagina man].}}
+
{{ Consejo | Para mas información sobre otros modificadores del comando mdadm consultad una [http://www.linuxcommand.org/man_pages/mdadm8.html pagina man].}}
  
Una vez hemos lanzado la orden de creación de la RAID, empezarán a trabajar los discos como locos: estan creando la RAID. Este proceso puede durar varias horas dependiendo de la capacidad de los discos y la potencia del ordenador/discos.
+
Una vez hemos lanzado la orden de creación de la RAID, empezarán a trabajar los discos como locos: están creando la RAID. Este proceso puede durar varias horas dependiendo de la capacidad de los discos y la potencia del ordenador/discos.
  
 
Podemos visualizar en cualquier momento el estado de éste proceso en el fichero '''/proc/mdstat''':
 
Podemos visualizar en cualquier momento el estado de éste proceso en el fichero '''/proc/mdstat''':
Línea 173: Línea 187:
 
       [>....................]  resync =  0.7% (4103401/586075008) finish=177.6min speed=97640K/sec</nowiki>
 
       [>....................]  resync =  0.7% (4103401/586075008) finish=177.6min speed=97640K/sec</nowiki>
  
<nowiki>[4/3] [UUU_]</nowiki> nos indica el numero de discos que esta activo y correcto en este momento. No nos tenemos que preocupar porque durante éste periodo de creacion de la RAID nos marque que hay alguno incorrecto. Cuando finalice el proceso éste indicador deberá mostrarnos que todos los discos están correctos.
+
<nowiki>[4/3] [UUU_]</nowiki> nos indica el numero de discos que esta activo y correcto en este momento. No nos tenemos que preocupar porque durante éste periodo de creación de la RAID nos marque que hay alguno incorrecto. Cuando finalice el proceso éste indicador deberá mostrarnos que todos los discos están correctos.
  
 
Una vez ha terminado el proceso de construcción de la raid podemos ver de nuevo en el fichero '''/proc/mdstat''' el estado de nuestro array:
 
Una vez ha terminado el proceso de construcción de la raid podemos ver de nuevo en el fichero '''/proc/mdstat''' el estado de nuestro array:
Línea 208: Línea 222:
  
 
Recuerda que debes tener creada la carpeta '''/punto_de_montaje''' (la ruta que quieras), con los permisos correspondientes a los usuarios que quieras que accedan a la RAID.
 
Recuerda que debes tener creada la carpeta '''/punto_de_montaje''' (la ruta que quieras), con los permisos correspondientes a los usuarios que quieras que accedan a la RAID.
Recuerda también que debes especificar que sistema de archivos es la RAID cambiando '''sistema_de_archivos''' por '''reiserfs, ext3'''... segun hayas escojido.
+
Recuerda también que debes especificar que sistema de archivos es la RAID cambiando '''sistema_de_archivos''' por '''reiserfs, ext3'''... según hayas escogido.
  
 
Para montar la raid bastara luego con hacer:
 
Para montar la raid bastara luego con hacer:
Línea 216: Línea 230:
 
O bien reiniciar y que Ubuntu la monte automáticamente en el inicio del sistema.
 
O bien reiniciar y que Ubuntu la monte automáticamente en el inicio del sistema.
  
 +
 +
==Monitorización del estado una RAID y sus discos==
 +
 +
 +
*Estado actual de los discos y unidades RAID
 +
'''cat /proc/mdstat'''
 +
<nowiki>$ cat /proc/mdstat
 +
Personalities : [raid5] [raid4]
 +
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
 +
      586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
 +
     
 +
unused devices: <none></nowiki>
 +
 +
 +
* Mas detalles sobre las unidades RAID
 +
 +
'''mdadm --query /dev/md0'''
 +
<nowiki>$ sudo mdadm --query /dev/md0
 +
/dev/md0: 558.92GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.</nowiki>
 +
 +
'''mdadm --detail /dev/md0'''
 +
<nowiki>$ sudo mdadm --detail /dev/md0
 +
/dev/md0:
 +
        Version : 00.90.03
 +
  Creation Time : Sat Jan 20 17:27:56 2007
 +
    Raid Level : raid5
 +
    Array Size : 586075008 (558.92 GiB 600.14 GB)
 +
    Device Size : 195358336 (186.31 GiB 200.05 GB)
 +
  Raid Devices : 4
 +
  Total Devices : 4
 +
Preferred Minor : 0
 +
    Persistence : Superblock is persistent
 +
 +
    Update Time : Sun Jan 21 22:23:05 2007
 +
          State : clean
 +
Active Devices : 4
 +
Working Devices : 4
 +
Failed Devices : 0
 +
  Spare Devices : 0
 +
 +
        Layout : left-symmetric
 +
    Chunk Size : 64K
 +
 +
          UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
 +
        Events : 0.3084
 +
 +
    Number  Major  Minor  RaidDevice State
 +
      0      8      17        0      active sync  /dev/sdb1
 +
      1      8      33        1      active sync  /dev/sdc1
 +
      2      8      49        2      active sync  /dev/sdd1
 +
      3      8      65        3      active sync  /dev/sde1</nowiki>
 +
 +
 +
*Mas detalles de los discos
 +
 +
'''mdadm --query /dev/sdb1'''
 +
<nowiki>$ sudo mdadm --query /dev/sdb1
 +
/dev/sdb1: is not an md array
 +
/dev/sdb1: device 0 in 4 device active raid5 /dev/md0.  Use mdadm --examine for more detail.</nowiki>
 +
 +
 +
'''mdadm --examine /dev/sdb1'''
 +
<nowiki>$ sudo mdadm --examine /dev/sdb1
 +
/dev/sdb1:
 +
          Magic : a92b4efc
 +
        Version : 00.90.00
 +
          UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
 +
  Creation Time : Sat Jan 20 17:27:56 2007
 +
    Raid Level : raid5
 +
    Device Size : 195358336 (186.31 GiB 200.05 GB)
 +
    Array Size : 586075008 (558.92 GiB 600.14 GB)
 +
  Raid Devices : 4
 +
  Total Devices : 4
 +
Preferred Minor : 0
 +
 +
    Update Time : Sun Jan 21 22:23:05 2007
 +
          State : clean
 +
Active Devices : 4
 +
Working Devices : 4
 +
Failed Devices : 0
 +
  Spare Devices : 0
 +
      Checksum : 7cd3d7e7 - correct
 +
        Events : 0.3084
 +
 +
        Layout : left-symmetric
 +
    Chunk Size : 64K
 +
 +
      Number  Major  Minor  RaidDevice State
 +
this    0      8      17        0      active sync  /dev/sdb1
 +
 +
  0    0      8      17        0      active sync  /dev/sdb1
 +
  1    1      8      33        1      active sync  /dev/sdc1
 +
  2    2      8      49        2      active sync  /dev/sdd1
 +
  3    3      8      65        3      active sync  /dev/sde1
 +
 +
</nowiki>
 +
 +
==Administración de una RAID y sus discos==
 +
 +
*Establecer un disco como faulty/failed:
 +
 +
$ sudo mdadm --fail /dev/md0 /dev/sdb1
 +
 +
{{ Advertencia | No utilizar en '''RAID0''' ó RAID en modo '''linear'''. '''Pueden perderse los datos'''!}}
 +
 +
*Quitar un disco fallido de una RAID:
 +
 +
$ sudo mdadm --remove /dev/md0 /dev/sdb1
 +
 +
*Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)
 +
 +
$ sudo mdadm --zero-superblock /dev/sdb1
 +
 +
*Añadir un disco a la RAID
 +
 +
$ sudo mdadm --add /dev/md0 /dev/sdb1
 +
 +
*Añadir soporte "bitmap" a un RAID
 +
 +
$ sudo mdadm --grow /dev/mdX --bitmap=internal
 +
 +
*Quitar el soporte de "bitmap" a un RAID
 +
 +
$ sudo mdadm --grow /dev/mdX --bitmap=none
  
 
==Factores de optimización del sistema de archivos en una RAID==
 
==Factores de optimización del sistema de archivos en una RAID==
Línea 221: Línea 359:
 
'''Hay diversos factores que pueden influir fuertemente en el rendimiento de una RAID de manera realmente muy importante.'''
 
'''Hay diversos factores que pueden influir fuertemente en el rendimiento de una RAID de manera realmente muy importante.'''
  
He leido muy diversa información sobre algunos de estos aspectos, quedandome algunos mas claros que otros. Seguidamente apunto algunos de los factores que he encontrado. Asimismo si alguien tiene mayor conocimiento sobre alguno estaria muy interesante que lo complementara, o si es el caso l ocorrigiera.
+
He leído muy diversa información sobre algunos de estos aspectos, quedándome algunos mas claros que otros. Seguidamente apunto algunos de los factores que he encontrado. Asimismo si alguien tiene mayor conocimiento sobre alguno estaría muy interesante que lo complementara, o si es el caso lo corrigiera.
  
*'''El sector (chunk) que elijamos para crear la RAID.''': En un sistema con paridad (RAID4, RAID5 ...) para cada bloque que se escriba se debera calcular el bloque de paridad. Esto incrementara o disminuira el uso de procesador para estas tareas, pero por lo contrario -dependiendo del tipo de archivos que tengamos- nos hara perder o ahorrar espacio de disco.  
+
*'''El sector (chunk) que elijamos para crear la RAID.''': En un sistema con paridad (RAID4, RAID5 ...) para cada bloque que se escriba se deberá calcular el bloque de paridad. Esto incrementara o disminuirá el uso de procesador para estas tareas, pero por lo contrario -dependiendo del tipo de archivos que tengamos- nos hará perder o ahorrar espacio de disco.  
  
*'''El bloque (block) del sistema de archivos.''': La reparticion de los bloques en cada sector puede causar que haya unos discos con mucha mas carga de actividad que otros. Esto puede influir negativamente en el desgaste de los discos.
+
*'''El bloque (block) del sistema de archivos.''': La repartición de los bloques en cada sector puede causar que haya unos discos con mucha mas carga de actividad que otros. Esto puede influir negativamente en el desgaste de los discos.
  
 
*'''El propio sistema de archivos.''': Los sistemas de archivos utilizan unos registros de transacciones que dependiendo del sistema de archivos comporta una u otra carga al procesador, se comporta de manera diferente en una RAID que en un disco normal y puede influir significativamente en el rendimiento.
 
*'''El propio sistema de archivos.''': Los sistemas de archivos utilizan unos registros de transacciones que dependiendo del sistema de archivos comporta una u otra carga al procesador, se comporta de manera diferente en una RAID que en un disco normal y puede influir significativamente en el rendimiento.
  
  
Todos estos factores dependeran en cada caso mucho del uso final de la RAID: de los archivos que se vayan a guardar en ella, tamaño de los mismos, o uso que se le vaya a dar: almacenaje, muchos usuarios conectados a la vez....
+
Todos estos factores dependerán en cada caso mucho del uso final de la RAID: de los archivos que se vayan a guardar en ella, tamaño de los mismos, o uso que se le vaya a dar: almacenaje, muchos usuarios conectados a la vez....
 +
 
 +
{{ nota | Recomiendo altamente el estudio de cada caso y la lectura de documentación especializada en cada tema para escoger la opción mas indicada. Estos factores son muy importantes, puesto que su influencia en el rendimiento o desgaste de la RAID puede ser muy notable.}}
 +
 
 +
== Enlaces externos ==
 +
 
 +
{{Wikipedia|RAID|RAID}}
 +
{{Commons|Redundant array of independent disks|RAID}}
  
{{ nota | Recomiendo altamente el estudio de cada caso y la lectura de documentación especializada en cada tema para escoger la opcion mas indicada. Estos factores son muy importantes, puesto que su influencia en el rendimiento o desgaste de la RAID puede ser muy notable.}}
+
[[Categoría:Configuración avanzada]]

Última revisión de 10:14 6 abr 2008

Nota clasica.png La palabra RAID se refiere a RAID por software de Linux. Este artículo no trata ningún aspecto de RAID por hardware.

Información básica sobre RAIDs

Nota clasica.png Si ya conoces que es una RAID y para que sirve puedes pasar por alto absolutamente éste apartado.

¿Que es una RAID?¿Para que sirve?

Historia

La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.

En 1988, los niveles RAID 1 a 5 fueron definidos formalmente por David A. Patterson, Garth A. Gibson y Randy H. Katz en el ensayo "Un Caso para Conjuntos de Discos Redundantes Económicos (RAID)" (A Case for Redundant Arrays of Inexpensive Disks (RAID)), publicado en la Conferencia SIGMOD de 1988 (págs. 109-116) PDF original. El término «RAID» se usó por vez primera en este ensayo, que dio origen a toda la industria de los conjuntos de discos.

¿Para que sirve?

Así pues una RAID sirve para crear un único volumen lógico, el cual físicamente esté compuesto por varios discos físicos. Dependiendo de que modo de RAID utilicemos, ésto nos servirá para conseguir simplemente un volumen de capacidad mayor, o para conseguir un volumen con mayor seguridad contra fallos de hardware de los discos que lo componen gracias al almacenamiento redundante de estos.

Nota clasica.png Hay que tener en cuenta que cuando hablamos de Software RAID, siempre que hablamos de discos debemos entender que hablamos de particiones.

Modos básicos de RAID

Modo Lineal (Linear mode)
  • Dos o más discos se combinan en un único dispositivo físico. Los discos se «adjuntan» unos a otros de tal manera que las escrituras en el dispositivo RAID primero llenarán el disco 0, a continuación el disco 1 y así sucesivamente. Los discos no tienen porqué ser del mismo tamaño. De hecho, los tamaños no importan para nada aquí. Se trata de una simple concatenación de discos
  • No existe redundancia en este nivel. Si un disco falla perderá toda su información con toda probabilidad. Sin embargo, puede tener suerte y recuperar algunos datos, ya que el sistema de ficheros simplemente habrá perdido un gran puñado de datos consecutivos.
  • El rendimiento de las lecturas y las escrituras no se incrementará para lecturas/escrituras individuales. Pero si varios usuarios usan el dispositivo, puede tener la suerte de que un usuario use efectivamente el primer disco y el otro usuario acceda a ficheros que por casualidad residan en el segundo disco. Si esto ocurre, verá un aumento en el rendimiento.
RAID0 (Striped)
  • También llamado modo striping o de distribución por bandas. Como el modo lineal salvo que las lecturas y escrituras se realizan en paralelo en los dispositivos. Éstos deben tener aproximadamente el mismo tamaño. Puesto que todos los accesos se realizan en paralelo, los discos se llenan por igual. Si un dispositivo es mucho mayor que los otros demás, el espacio extra se utilizará en el dispositivo RAID durante las escrituras en el extremo superior, aunque sólo se accederá a este disco más grande. Naturalmente, esto perjudica el rendimiento.
  • Como en el modo lineal, tampoco hay redundancia en este nivel. A diferencia del modo lineal, no será capaz de recuperar ningún dato si un disco falla. Si elimina un disco de un grupo RAID-0, el dispositivo RAID no perderá simplemente un bloque consecutivo de datos, sino que se llenará con pequeños agujeros por todo el dispositivo.
  • El rendimiento de las lecturas y las escrituras se incrementará, ya que las lecturas y las escrituras se realizan en paralelo sobre los dispositivos. Normalmente, ésta es la razón principal para usar RAID-0.Si los buses a los discos son suficientemente rápidos, puede obtener casi N*rendimiento de cada disco MiB/seg.
RAID1 (Mirrored)
  • Este es el primer modo que realmente tiene redundancia. RAID-1 se puede usar en dos discos idénticos. Este modo mantiene en un disco un duplicado exacto de la información del otro disco.
  • Si uno falla, los datos permanecerán intactos, puesto que tendremos el otro disco.
  • Normalmente, el rendimiento de las lecturas es la suma de los rendimientos de los discos, mientras que el rendimiento de las escrituras es el mismo que el de un único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer en paralelo pero, cuando se escribe, la CPU debe transferir 2 veces la cantidad de datos que normalmente transferiría (se deben enviar 2 copias idénticas de todos los datos, una a cada disco).
RAID3 y RAID4
  • Este nivel de RAID no se usa con mucha frecuencia. Se puede usar sobre 3 o más discos. En lugar de duplicar completamente la información, guarda información de paridad en un único disco y escribe datos a los otros discos de forma parecida a un RAID-0. Ya que uno de los discos se reserva para información de paridad, el tamaño del array será (N-1)*S, donde S es el tamaño del disco más pequeño del array. Como en un RAID1, los discos deben ser del mismo tamaño, o de lo contrario tendrá que aceptar que el valor de S en la fórmula (N-1)*S anterior será el tamaño del disco más pequeño del array.
  • Si un disco falla, y no es el de paridad, se puede usar la información de paridad para reconstruir todos los datos. Si dos discos fallan, se perderá toda la información.
  • La razón por la que estos niveles no se usan con mucha frecuencia es que la información de paridad se guarda en un único disco. Esta información se debe actualizar cada vez que se escribe en uno de los otros discos. Por eso, el disco de paridad se convertirá en un cuello de botella si no es mucho más rápido que los otros discos.
RAID5
  • Este es quizás el modo RAID más útil cuando uno desea combinar un mayor número de discos físicos y todavía conservar redundancia. RAID5 se puede usar sobre 3 o más discos. El tamaño del dispositivo RAID5 resultante será (N-1)*S, tal y como sucede con RAID4. La gran diferencia entre RAID5 y RAID4 es que la información de paridad se distribuye uniformemente entre los discos participantes, evitando el problema del cuello de botella del RAID4.
  • Si uno de los discos falla, todos los datos permanecerán intactos, gracias a la información de paridad. Si dos discos fallan simultáneamente, todos los datos se perderán. RAID5 puede sobrevivir a un fallo de disco, pero no a dos o más.
  • El rendimiento de lectura de RAID5 es equiparable al de RAID0 con el mismo numero de discos. Exceptuando los bloques de paridad, los cuales pueden causar un ligero relentimiento en las escrituras (en las lecturas no se usan los bloques de paridad de no ser que algún disco falle).
RAID6
  • La idea es la misma que RAID5, solo que se agrega un segundo algoritmo de paridad a parte del XOR normal, por tanto permite la perdida de 2 discos fisicos, el tamaño del RAID6 resultante será (N-2)*S.
Nota idea.png Mas información sobre los sistemas básicos de RAID (English) (Español)

Otros modos de RAID

Existen multitud de modos de RAID basados en la convención de diferentes RAIDs, es decir se utiliza un conjunto de RAIDs en un determinado sistema para crear una nueva RAID en -normalmente- otro sistema. Algunos de éstos sistemas son: RAID01, RAID10, RAID03, RAID30, RAID50, RAID51 (también llamada RAID53), RAID60, y RAID 100.

Nota idea.png Mas información sobre Otros modos de RAID

Paquete mdadm

mdadm para crear RAIDs por software

Para la creación y administración de una RAID por software necesitaremos el paquete mdadm.

La antigua colección de utilidades para RAID de los paquetes raidtools y raidtools2 se ha dejado de usar actualmente puesto que dependía de un fichero de configuración (/etc/raidtab) difícil de mantener, y sus funciones eran limitadas. Desde agosto de 2001, existe la herramienta mdadm (multiple devices admin), éste paquete nos permite gestionar las RAIDs por software de una manera mucho mas simple y robusta. Actualmente se ha convertido en un estándar.


Instalar mdadm en Ubuntu

En principio el paquete mdadm viene instalado por defecto en Ubuntu.

Asimismo si no disponéis del paquete instalado podéis instalarlo con el Gestor de paquetes Synaptic o bien con el siguiente comando:

$ sudo apt-get install mdadm

cargar el módulo raid

Para que ubuntu pueda trabajar con las RAID puede ser necesario cargar primero el módulo correspondiente.

$ sudo modprobe raid1

o

$ sudo modprobe raid0

si se quiere un RAID0, o los dos si quieres usar ambos tipos de RAID.

Crear una RAID

En el caso ejemplo que voy a exponer crearé una RAID5 con 4 discos. Asimismo este procedimiento se puede seguir mas o menos de manera análoga para crear cualquier tipo de RAID.

Particionamiento

Debemos tener en cuenta, que puesto que vamos a crear una Software RAID, vamos a utilizar particiones en lugar de discos. Sin perjuicio que cada disco contenga una sola partición con la totalidad del tamaño del disco, como de hecho es indicado.

Así pues primeramente debemos preparar las particiones que vamos a utilizar para crear la RAID.

Para esto podemos utilizar cualquier herramienta de particionamiento. En nuestro caso vamos a utilizar GParted, una herramienta gráfica de fácil uso. Puesto que Ubuntu no la lleva instalada por defecto la instalaremos mediante el Gestor de paquetes Synaptic, o bien con apt-get mediante comandos:

$ sudo apt-get install gparted

Una vez instalado GParted, procedemos a crear una partición para la totalidad de cada uno de los discos idénticos de los que disponemos para crear la RAID. Debemos crear una partición sin formato, puesto que el formato de la RAID lo daremos cuando esta esté construida. A parte del formato debemos indicar que se tratará de un disco para crear una RAID. Esto lo podemos hacer de manera fácil con GParted, seleccionando la partición e yendo a Menú Partición>gestionar señaladores y marcando el señalador "RAID", tal y como muestran las imágenes.

GParted con partición sin formato y con señalador RAID

Ventana GParted donde marcar señalador RAID

Marcar la partición como RAID no es vital para el funcionamiento de la RAID, asimismo es la manera más correcta de hacerlo y nos ayudará a distinguir las particiones en un futuro. Con fdisk veremos este hecho marcado como "Autodetección Linux raid" (Linux raid autodetect). Una vez acabado el proceso podemos ver con fdisk -l un listado de las particiones como el siguiente (esta en Català puesto a que mi sistema está en este idioma):

$ sudo fdisk -l

Disc /dev/sdb: 200.0 GiB, 200049647616 octets
255 capçals, 63 sectors/pista, 24321 cilindres
Unitats = cilindres de 16065 * 512 = 8225280 octets

Dispositiu Arrenc.   Comença       Acaba    Blocs    Id  Sistema
/dev/sdb1               1       24321   195358401   fd  Autodetecció Linux raid

Disc /dev/sdc: 200.0 GiB, 200049647616 octets
255 capçals, 63 sectors/pista, 24321 cilindres
Unitats = cilindres de 16065 * 512 = 8225280 octets

Dispositiu Arrenc.   Comença       Acaba    Blocs    Id  Sistema
/dev/sdc1               1       24321   195358401   fd  Autodetecció Linux raid

Disc /dev/sdd: 200.0 GiB, 200049647616 octets
255 capçals, 63 sectors/pista, 24321 cilindres
Unitats = cilindres de 16065 * 512 = 8225280 octets

Dispositiu Arrenc.   Comença       Acaba    Blocs    Id  Sistema
/dev/sdd1               1       24321   195358401   fd  Autodetecció Linux raid

Disc /dev/sde: 200.0 GiB, 200049647616 octets
255 capçals, 63 sectors/pista, 24321 cilindres
Unitats = cilindres de 16065 * 512 = 8225280 octets

Dispositiu Arrenc.   Comença       Acaba    Blocs    Id  Sistema
/dev/sde1               1       24321   195358401   fd  Autodetecció Linux raid

Podemos observar que la columna Id muestra el valor "fd" esto es debido a que lo hemos marcado como "Autodetección Linux raid" (Linux raid autodetect).

Creación de la RAID

Primeramente antes de crear la RAID podemos ver en el fichero /proc/mdstat si al algún otro array:

$ cat /proc/mdstat
Personalities :
Event: 0
unused devices: <none>

Vemos que no aparece ningún array.

Proseguimos a la creación del md en el que crearemos la RAID. Para ello utilizaremos el comando mknod como se muestra en la siguiente orden:

$ sudo mknod /dev/md0 b 9 0

Si ya tuviéramos algún otro array llamado md0, podemos crear un md diferente: md1, md2, ...

Procedemos ahora a crear finalmente la RAID:

$ sudo mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Continue creating array? yes
mdadm: array /dev/md0 started.

La raid hecho esto empezará a crearse.

Detalles del comando mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 :

  • En --create /dev/md0 le indicaremos el md al que vamos a asignar el array. Si hemos escogido otro lo deberemos cambiar aquí.
  • En --level=raid5 indicaremos el tipo de raid que queremos que sea. Los valores validos aquí son: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp, fautly. Como vemos algunos de ellos son sinónimos, por lo que para una RAID5 podemos introducir "raid5" o bien "5".
  • Como vemos debemos indicarle las PARTICIONES (no los discos) con las que hacer la RAID, así como el numero de particiones: --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  • otros modificadores útiles (no utilizados en el ejemplo):
    • --verbose nos explica mas cosas sobre lo que pasa.
    • --chunk= especifica cada segmento en kibibytes. Por defecto es 64. Ej: --chunk=32. Antes de decidir el tamaño del segmento es recomendable que consultes el apartado de Factores de optimización del sistema de archivos en una RAID de este mismo documento.
    • --parity= Establece el algoritmo de paridad para RAID5. Las opciones son: left-asymmetric, left-symmetric, right-asymmetric, right-symmetric (la, ra, ls, rs en sus versiones reducidas). Por defecto es left-symmetric. Ej: --parity=right-asymmetric. Este modificador tiene otras opciones avanzadas.
Nota idea.png Para mas información sobre otros modificadores del comando mdadm consultad una pagina man.

Una vez hemos lanzado la orden de creación de la RAID, empezarán a trabajar los discos como locos: están creando la RAID. Este proceso puede durar varias horas dependiendo de la capacidad de los discos y la potencia del ordenador/discos.

Podemos visualizar en cualquier momento el estado de éste proceso en el fichero /proc/mdstat:

$ cat /proc/mdstat
Personalities : [raid5] [raid4]
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
      586075008 blocks [4/3] [UUU_]
      [>....................]  resync =  0.7% (4103401/586075008) finish=177.6min speed=97640K/sec

[4/3] [UUU_] nos indica el numero de discos que esta activo y correcto en este momento. No nos tenemos que preocupar porque durante éste periodo de creación de la RAID nos marque que hay alguno incorrecto. Cuando finalice el proceso éste indicador deberá mostrarnos que todos los discos están correctos.

Una vez ha terminado el proceso de construcción de la raid podemos ver de nuevo en el fichero /proc/mdstat el estado de nuestro array:

$ cat /proc/mdstat
Personalities : [raid5] [raid4] 
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
      586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      
unused devices: <none>

Perfecto!

Una vez creada la RAID solo debemos montarla y formatearla con el sistema de ficheros que deseemos.

Formatear la RAID

Para formatear la RAID utilizaremos el comando mkfs:

Con ReiserFS

mkfs.reiserfs /dev/md0

En mi caso he utilizado el sistema de archivos ReiserFS, pero podemos utilizar cualquier otro como ext3:

Con ext3

mkfs.ext3 /dev/md0


Montar la RAID

Para montar la RAID añadimos la siguiente línea al fichero /etc/fstab

/dev/md0 /punto_de_montaje sistema_de_archivos defaults,user 0 0

Recuerda que debes tener creada la carpeta /punto_de_montaje (la ruta que quieras), con los permisos correspondientes a los usuarios que quieras que accedan a la RAID. Recuerda también que debes especificar que sistema de archivos es la RAID cambiando sistema_de_archivos por reiserfs, ext3... según hayas escogido.

Para montar la raid bastara luego con hacer:

$ sudo mount /punto_de_montaje

O bien reiniciar y que Ubuntu la monte automáticamente en el inicio del sistema.


Monitorización del estado una RAID y sus discos

  • Estado actual de los discos y unidades RAID

cat /proc/mdstat

$ cat /proc/mdstat 
Personalities : [raid5] [raid4] 
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
      586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      
unused devices: <none>


  • Mas detalles sobre las unidades RAID

mdadm --query /dev/md0

$ sudo mdadm --query /dev/md0
/dev/md0: 558.92GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.

mdadm --detail /dev/md0

$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sat Jan 20 17:27:56 2007
     Raid Level : raid5
     Array Size : 586075008 (558.92 GiB 600.14 GB)
    Device Size : 195358336 (186.31 GiB 200.05 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun Jan 21 22:23:05 2007
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
         Events : 0.3084

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1


  • Mas detalles de los discos

mdadm --query /dev/sdb1

$ sudo mdadm --query /dev/sdb1
/dev/sdb1: is not an md array
/dev/sdb1: device 0 in 4 device active raid5 /dev/md0.  Use mdadm --examine for more detail.


mdadm --examine /dev/sdb1

$ sudo mdadm --examine /dev/sdb1
/dev/sdb1:
          Magic : a92b4efc
        Version : 00.90.00
           UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
  Creation Time : Sat Jan 20 17:27:56 2007
     Raid Level : raid5
    Device Size : 195358336 (186.31 GiB 200.05 GB)
     Array Size : 586075008 (558.92 GiB 600.14 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sun Jan 21 22:23:05 2007
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 7cd3d7e7 - correct
         Events : 0.3084

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8       17        0      active sync   /dev/sdb1

   0     0       8       17        0      active sync   /dev/sdb1
   1     1       8       33        1      active sync   /dev/sdc1
   2     2       8       49        2      active sync   /dev/sdd1
   3     3       8       65        3      active sync   /dev/sde1


Administración de una RAID y sus discos

  • Establecer un disco como faulty/failed:
$ sudo mdadm --fail /dev/md0 /dev/sdb1
Nota advertencia.png No utilizar en RAID0 ó RAID en modo linear. Pueden perderse los datos!
  • Quitar un disco fallido de una RAID:
$ sudo mdadm --remove /dev/md0 /dev/sdb1
  • Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)
$ sudo mdadm --zero-superblock /dev/sdb1
  • Añadir un disco a la RAID
$ sudo mdadm --add /dev/md0 /dev/sdb1
  • Añadir soporte "bitmap" a un RAID
$ sudo mdadm --grow /dev/mdX --bitmap=internal
  • Quitar el soporte de "bitmap" a un RAID
$ sudo mdadm --grow /dev/mdX --bitmap=none

Factores de optimización del sistema de archivos en una RAID

Hay diversos factores que pueden influir fuertemente en el rendimiento de una RAID de manera realmente muy importante.

He leído muy diversa información sobre algunos de estos aspectos, quedándome algunos mas claros que otros. Seguidamente apunto algunos de los factores que he encontrado. Asimismo si alguien tiene mayor conocimiento sobre alguno estaría muy interesante que lo complementara, o si es el caso lo corrigiera.

  • El sector (chunk) que elijamos para crear la RAID.: En un sistema con paridad (RAID4, RAID5 ...) para cada bloque que se escriba se deberá calcular el bloque de paridad. Esto incrementara o disminuirá el uso de procesador para estas tareas, pero por lo contrario -dependiendo del tipo de archivos que tengamos- nos hará perder o ahorrar espacio de disco.
  • El bloque (block) del sistema de archivos.: La repartición de los bloques en cada sector puede causar que haya unos discos con mucha mas carga de actividad que otros. Esto puede influir negativamente en el desgaste de los discos.
  • El propio sistema de archivos.: Los sistemas de archivos utilizan unos registros de transacciones que dependiendo del sistema de archivos comporta una u otra carga al procesador, se comporta de manera diferente en una RAID que en un disco normal y puede influir significativamente en el rendimiento.


Todos estos factores dependerán en cada caso mucho del uso final de la RAID: de los archivos que se vayan a guardar en ella, tamaño de los mismos, o uso que se le vaya a dar: almacenaje, muchos usuarios conectados a la vez....

Nota clasica.png Recomiendo altamente el estudio de cada caso y la lectura de documentación especializada en cada tema para escoger la opción mas indicada. Estos factores son muy importantes, puesto que su influencia en el rendimiento o desgaste de la RAID puede ser muy notable.

Enlaces externos

Colabora en Wikipedia Wikipedia alberga un artículo enciclopédico sobre RAID. (en español)
Colabora en Commons Commons alberga contenido multimedia sobre RAID.