Crear matriz de disco con mdadm!!!!!

Les presento un tutorial para crear una matriz de disco usando la aplicación mdadm (http://packages.debian.org/squeeze/mdadm).

Los requerimientos para llevarlo a cabo es tener una máquina virtual con Debian Squeeze y unos cuantos discos virtuales, en estos casos con que su capacidad sea de 1 Gb es suficiente, ya que lo que haremos es trabajar con la matriz etc, y un ejemplo de llenado de datos, además es un test.

Para este caso cree 3, como ven en la imagen, además del de sistema:

Arrancamos la máquina, entramos como root en instalamos la aplicacion:

apt-get install mdadm hdparm
o
apt-get -t squeeze-backports install hdparm mdadm

si tenemos estos repos en el sources.list

Teniendo instalado la aplicación procederemos a preparar los discos para su inclusión en la matriz:

  • Primero los detectamos con «fdisk -l»

  •  Una vez detectado los discos, entonces procedemos a darle el formato correspondiente, para esto usamos la aplicación cfdisk:

Aquí hay que hacer una aclaración, tenemos que hacer este procedimiento para cada HDD que queremos que este en la matriz. Empezamos por ejemplo con /dev/sdb:

cfdisk /dev/sdb

  •  Le damos a «New» y la seleccionamos como «Primary».

  • Nos movemos por el menú y le damos a «Type».

  •  Para poder utilizar la partición en la matriz le cambiamos el tipo de formato(tipeamos FD).

  • Así nos debe quedar:

  • Entonces guardamos los cambios:

  •  Comprobamos todos los discos con fdisk, para cerciorarnos de que no nos falto ninguno por preparar:

Procederemos a crear un fichero especial, lo trataremos como si fuera un «bloque»:

mknod /dev/md0 b 9 0

Explico, este comando es para crear ficheros «especiales», cuando lo invocamos con el parámetro «b» le decimos que lo haga como si fuera un bloque, ejemplo de esto lo tenemos en los archivos de nuestros HDD, haganle un ls -lh a sd* y verán:

brw-rw—T 1 root disk 8, 0 jul 30 07:04 /dev/sda

¿Pero que significa 9 0?, tan sencillo como que es la versión, aquí es MAJOR-MINOR version, donde 9 es la versión mayor de la menor 0, por así decirlo, un mini trabalenguas.

Comprobamos que se ha creado correctamente:

brw-r–r– 1 root root 9, 0 jul 30 11:12 /dev/md0

Ahora podemos crear nuestra RAID, pero primero debemos formularnos algunas preguntas:

  • ¿Que carga de trabajo va a tener la matriz?
  • ¿Voy a leer más que a escribir en ella?
  • ¿La información que almacene requiere backup?
  • ¿Tiene que ser de alta disponibilidad?
  • ¿Quiero capacidad o seguridad?

Para esas interrogantes visiten la Wiki(http://es.wikipedia.org/wiki/RAID), en dependencia del tipo de matriz que escojan es como deben proceder, en este tuto, crearemos un raid0, hay dos tipos, linear y striping, la diferencia que en el linear se llenan los discos en el orden en que se añadieron a la matriz, y el striping en que los discos se llenan parejos y que además es más rápido en lecturas/escrituras(siempre y cuando el tamaño de los discos sean iguales).

Manos a la obra:

mdadm -C /dev/md0 -N RAID0-STRIPE --level=stripe --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sdb1

Con esto tendremos creada nuestra matriz, para dudas «man mdadm»:

mdadm -D /dev/md0

Podemos optimizar otras cosas, como por ejemplo si le adicionas otro disco pudieras tenerlo en modo de «respuesta automática» para cuando otro de los tres fallen, esto lo podemos hacer con la opción «-x /dev/sdN»; hay que tener en cuenta que podemos tener tantos discos en «SPARE» como queramos, OJO, identificar con un marcador los discos jejejejejejeje, en caso que tengan 10 discos, ¿como saber cual está roto? jejejejeje, que no les pase lo mismo que a mi, además, si se fastidia la matriz, de esta sería complicado restaurar los datos, por eso las interrogantes que les plantee antes, si quieres backup, crea un RAID5, además si se te fastidia el disco, cuando el SPARE entre en ejecución, este tiene la capacidad de regenerarte la info perdida, wow, mdadm!!! jejejejeje.

Como quedaría:

mdadm -C /dev/md0 -N RAID0-STRIPE --level=stripe --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sdb1 -x /dev/sdv1

Ahora lo que nos quedaría es formatearlo:

mkfs.ext4 /dev/md0

Preparamos la carpeta para el montaje:

mkdir /media/raid

Montamos:

mount /dev/md0 /media/raid

Todo listo, ahora comprobamos el espacio en disco con el comando df:

Bien, ya tenemos nuestra matriz lista para su uso, le hacemos un test de velocidad:

hdparm -t /dev/md0

Bueno, parece ser que tan malo no quedó jijijijijiji

Ya terminamos, ahora les doy mi know how.

Bien, ¿que partido le podemos sacar a esto?

R/ Todo lo que ustedes se imaginen, desde reutilización de discos hasta backups de la información, además de las combinaciones de arrays que pueden hacer, en la wiki explican unos posibles ejemplos.

También pudiéramos implementar una pequeña SAN(Storage Area Network), le describiré brevemente como funciona esto:

  • Tienen N PCs y un servidor(todas con Debian jijijiji).
  • En esas PC se instala un software que lo que hace es que esas N PCs tengan esos discos duros disponibles como parte de la red.
  • El servidor escanea la red y los encuentra a todos, los trata como si fueran parte de si mismo, un disco local.
  • Hacen una matriz con esos discos.

Resultado: SUPER disco de N Teras.

Esto se llama AoE (ATA over Ethernet), les dejo un tuto(tiene sus pequeños errores, a lo mejor saque un tuto de esto, 100 % funcional):

http://www.howtoforge.com/using-ata-over-ethernet-aoe-on-debian-squeeze-initiator-and-target

y otras doc:

http://www.howtoforge.com/how-to-build-a-low-cost-san

Bueno, es todo, espero les sirva, por favor, si ven algún error comentar para corregir y no le de problemas a los noveles.

UN ABRAZO DESDE CUBA!!!!!!


5 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   croto dijo

    Muy buena explicacion Eduardo, paso a paso. Consulta:
    Utilizas esto sobre una maquina virtual como Virtualbox o simplemente es para darnos un ejemplo?

    1.    Eduardo Noel dijo

      Hola Croto, todo esta hecho sobre la PC virtual

  2.   proper dijo

    De p#t4 madre la guía!!

  3.   bomobom dijo

    Yo perdi el arreglo raid, por culpa de una falla fisica en uno de los discos…

    Y lo solucione llevando el raid a una empresa de recuperaciones llamada Onretrieval en donde recuperaron la informacion.

    Ahora, por seguridad, manejo un server en la nube donde tengo alojado el respaldo.

    saludos.

  4.   Antonio BG dijo

    Muy buen post mu claro y de mucha ayuda, una pregunta veras pretendia borrar el raid md0 con el comando #mdadm –stop /dev/md0 bueno, la cosa es que no lo borre solo lo detuve y dejo de aparecerme con el GPARTED ¿como puedo hacer para verlo de nuevo, lo reice con ayuda de tu manual y todo me salio bien pero sigo sin verlo desde el GPARTED agradeceria cualquier ayuda.