Matriz de discos en Linux (Debian al puro y duro)

Bueno, compartir con ustedes otra de mis guías, bien viejita por cierto, pero que no deja de ser útil a los recién llegados y a los ancestros, publicada en DesdeLinux hace 2 años.

Crear matriz de disco con mdadm!!!!!

 SATAII-Hot-plug-Hard-Disk-RAID-Module-ST500-1-600x450

 

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:

1-600x457Arrancamos 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”

fdisk1-600x393

fdisk2-600x393

  •  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

2-600x444

  •  Le damos a “New” y la seleccionamos como “Primary”.

3-600x443

  • Nos movemos por el menú y le damos a “Type”.

4-600x448

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

5-600x448

  • Así nos debe quedar:

6-600x447

  • Entonces guardamos los cambios:

7-600x448

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

8-600x450

9-600x449

 

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

10-600x448

 11-600x450

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:

12-600x395

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

hdparm -t /dev/md0

13-600x390

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!!!!!!

 

¿Te resultó interesante? Compártelo ...



Eduardo Noel Núñez

Publicado por Eduardo Noel Núñez

Forma parte de GUTL desde el 29 septiembre, 2013. Administrador, científico y forense de la Red. Mi pasión son los entornos BSD.

Este artículo tiene 7 comentarios

  1. Wow, buenisimo esto, solo me pregunto si esto puede se puede hacer ya con una pc en funcionamiento y hacerlo fisicamente no virtual>!

    • Si la PC está en funcionamiento solo tienes que añadirle los discos duros o simplemente seleccionar las particiones que vas a usar

      saludos

  2. Thumbs up! muy bueno el artículo

    Al momento de instalación de squeeze (es el q tengo) me da la posibilidad de crear un raid pero me da bateo ¿haz hecho algo al respecto usando esta opción y has tenido éxito?

    • Si lo he hecho y me ha funcionado, aunque en lo personal, prefiero hacer las nuevas instalaciones utilizando LVM, voy a preparar un tuto para ambas, usando LVM y MDADM

      saludos

  3. Eduardo Noel, veo que eres seguidor de FreeBSD, pues te digo que yo tambien pero el problema está en conseguir los ISOS y Repos, estoy a la espera que en el sitio del JC pongan el ISO de la versión 10 y su respectivo repos y nada de nada… como pudiera contactar contigo…El problema es que el 99.99% que entra en GUTL son fanaticos a Linux, no hay seguidores de FreeBSD y por ende la mayoría tiene más privilegios…

    saludos
    MDKO

    • Hola paisano, que alegría saber que no estoy solo en este mundo!!!

      bueno, te comento que yo tengo los repos de la versión 9 que están en el jovenclub (que por cierto están desactualizados), por las ISOS no te preocupes, que te puedo facilitar todas desde la 9, yo aquí en mi trabajo tengo buen ancho de banda, me tomará bajarlo cerca de una semana, en cuanto lo tenga te contacto

      saludos y no cedas a las tentaciones de Linux jejejeje, el camino BSD es abrupto pero cuando le coges el golpe, lo que antes te tomaba en Linux 3 días, aquí lo haces en horas, a diferencia de como mucha gente piensa, cualquier duda tienes como contactarme.

Los comentarios están cerrados.