Raid 1 por software en ubuntu / debian (discos en espejo)

Un buen método de evitar que un fallo en un disco duro arruine todos nuestros datos es tener dos discos en espejo (raid1). Raid1 es una opción segura y buena para esto, ya que permite hacerlo con sólo dos discos físicos, sin importar si son del mismo tamaño o no. Los pasos para hacerlo son sencillos:

En el ejemplo he supuesto que nuestro linux está en otra partición y lo que queremos hacer es un raid de un disco auxiliar que utilizamos como almacén de datos (/dev/sdb) y que tenemos montado en /media/disco. Lo primero que debemos hacer es obtener espacio en otro disco físico, que probablemente hayamos comprado para esto, creando una partición del mismo tamaño que la que queremos salvaguardar en este nuevo disco. Para ello podemos utilizar gparted (System > Administration). Si no está instalada :

$ sudo aptitude install gparted

Ahí tenemos una excelente herramienta que nos permite ver nuestras unidades y las particiones creadas en cada una de ellas, crearemos una partición del mismo tamaño y añadiremos a ambas particiones la etiqueta “raid” (no es estrictamente necesario). Si lo que queremos es duplicar las particiones idénticas al disco que ya tenemos, podemos hacer:

$ sfdisk -d /dev/sdb | sfdisk /dev/sdc

Se recomienda hacer copia de seguridad de los datos de nuestro disco por si algo falla. Después debemos instalar el paquete que nos permite hacer raid, (mdadm) aunque en ubuntu intrepid parece estar documentado como bug el hecho de que se ponga a instalar también el paquete citadel-common. Para evitarlo podemos instalar primero postfix:

$ sudo aptitude install postfix
$ sudo aptitude install mdadm

Procedemos a crear primero el raid con el nuevo disco y lo formateamos:

$ sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 missing
$ sudo mkfs.ext3 /dev/md0

Montamos el nuevo raid en el directorio que elijamos:

$ sudo mkdir /media/raid
$ sudo chown miusuario: /media/raid
$ sudo mount -t ext3 /dev/md0 /media/raid

Copiamos el contenido del disco que ya teníamos a nuevo raid (se copiará todo en el nuevo disco):

$ sudo cp -rp /media/disco /media/raid

Reiniciamos y añadimos el disco antiguo al raid. En este paso se sobreescribirán los datos de nuestro disco original con los datos creados en el raid. Es importante comprobar que todo fue bien en el copy anterior.

$ sudo mdadm --manage /dev/md0 --add /dev/sdc1

Comprobamos que se está haciendo la réplica:

$ cat /proc/mdstat

Y cambiamos /etc/fstab para que se monte el raid en cada arranque en lugar de nuestro disco anterior /dev/sdb1:

$ sudo vi /etc/fstab
# /dev/sdb1 /media/disco ext3 defaults 0 0
# /dev/md0 (Raid1)
/dev/md0 /media/raid ext3 defaults 0 0

Ya está terminado el proceso, ahora podemos hacer la prueba definitiva que consiste en simular el fallo de uno de los dos discos. Desconectamos uno de los discos y arrancamos para ver si seguimos teniendo acceso a los datos.

Si un disco fallara compraríamos otro disco, crearíamos una partición del mismo tamaño en el nuevo disco y añadiríamos la nueva partición al raid:

$ sudo mdadm --manage /dev/md0 --add /dev/sdc1

ACTUALIZACION:
Una vez creado el raid, hay que grabar la configuración en mdadm.conf, de otro modo lo que ocurrirá es que en el próximo arranque, mdadm detectará un raid y lo montará, pero probablemente como /dev/md126 , dejando algunas referencias a nuestro /dev/md0 y provocando algunos errores en, por ejemplo, gparted. Para evitar esto, grabamos la configuración:

$ sudo mdadm -Es >>/etc/mdadm/mdadm.conf

About these ads

11 Responses to “Raid 1 por software en ubuntu / debian (discos en espejo)”


  1. 1 Iván 8 mar 2009 en 0:11

    Hola,

    hace ya un par de años que publiqué en mi blog un artículo similar (aunque algo más detallado) sobre el raid 1 en linux. Por si le queréis echar un vistazo…

    http://lopezivan.blogspot.com/2007/03/raid-1-en-linux.html

    Saludos, Iván.

  2. 2 tirengarfio 21 ene 2010 en 16:40

    Hola,

    una curiosidad: si uno de los discos esta apagado durante un tiempo y despues lo volvemos a encender, y mientras ademas se han hecho modificaciones en el contenido del que esta encendido, ¿cuando volveran a sincronizarse (clonarse) los contenidos de los dos discos?

    Javi

  3. 3 El Tux Eléctrico 21 ene 2010 en 19:25

    En realidad, el RAID no está pensado para apagar uno de los discos, sino para que esté permanentemente activo y tengamos copia de los datos en caso de que uno de los discos falle.

    Al desconectar y utilizar uno de los discos como disco único, el RAID deja de estar activo y se desincroniza, por lo que al conectar de nuevo tardará un buen rato en reconstruir el RAID completo de nuevo. En mis pruebas, el RAID se reconstruye automáticamente, aunque el tiempo es semejante al que tarda con un disco limpio sin datos. No puedo darte más detalles porque no conozco más datos sobre el procedimiento de reconstrucción del RAID.

    Saludos!

  4. 4 gbj 22 jul 2010 en 10:10

    Hola,
    he seguido tus pasos pero me encuentro tras el reinicio no me monta automaticamente el raid.

    Esta es la linea en /etc/fstab
    /dev/md0 /media/raid ext4 default 0 0

    Al arrancar me ofrece la posiblidad de arrancarlo de manera manual (M) (abro la consola y lo monto). Así inicia correctamente.
    ¿se te ocurre donde puede estar el error?

    Saludos,

    pd, he tenido que utilizar tambien el procedimiento para solventar el error md_d0 y me ha ido bien. Gracias

  5. 5 El Tux Eléctrico 22 jul 2010 en 14:03

    Lo más probable es que la configuración automática de ubuntu esté en conflicto con la manual que tú has hecho. Repasa el tema del error md_d0. Por otro lado, mi línea en fstab es:

    /dev/md0 /media/raid ext3 defaults 0 0

    no sé si fstab será sensible a la diferencia entre default o defaults.
    No hay más datos en tu comentario, habría que revisar los logs y el resultado de $ cat /proc/mdstat para localizar otros errores.

    Saludos!

  6. 6 Tomas 7 sep 2010 en 14:24

    Hola, segui este procedimiento para montar un raid1 en ubuntu, todo bien hasta que reinicie, no me quiere montar el disco automatico, tengo q hacerlo manualmente, cuando voy a utilidades de disco, en estado sale pendiente, si lo desactivo y lo vuelvo a activar, puedo montarlo, antes no

  7. 7 resorte 14 feb 2011 en 20:35

    Pues en mi caso no se que fue lo que ocurrio que se desincronizaron los discos y no pude acceder mas a la data. Tuve que llevar el raid 1 a una empresa llamada OnRetrieval para que me rescatasen los datos. Un problema fisico me mencionaron o no se que cosa… En resumen, tuve que pagar un dinerillo pero los datos valen mas que eso.

    Sldos.

  8. 8 sergio 25 may 2011 en 23:42

    Hola, una pregunta, como puedo montar un raid que tenia en otro pc con Linux?, el pc que tenia el raid murió y compre uno y no logro montarlo, te agradeceré mucho tu ayuda

    • 9 tatxem 26 may 2011 en 0:15

      Instala postfix y mdadm. Con mdadm mira a ver si ya te detecta que hay un raid (esta información se almacena en el disco físico y mdadm es capaz de saber que el disco es una parte incompleta de un raid). Si no detecta nada, crea un nuevo raid con create y añade la parte que tienes: sudo mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdc1 missing , monta el md0 con mount y mira a ver que puedes acceder a los archivos aunque el raid esté incompleto. En ese momento añade el disco vacío al raid con el comando add y comprueba que empieza a sincronizar. Todos los comandos están detallados en el post.

      Suerte!

    • 10 Iván López 26 may 2011 en 8:38

      Hola,

      siempre puedes montar un disco de un raid de manera independiente al resto. Si tu raid1 /dev/md0 lo forman /dev/sda1 y /dev/sdb1, siempre puedes hacer:

      mount /dev/sda1 /mnt/temporal

      Lo único es que no deberías escribir nada en un único disco porque al montar de nuevo /dev/md0 dejarías el raid con inconsistencias.

      Saludos, Iván.


  1. 1 Seguridad de red « Cursos Rubisoll Trackback en 12 nov 2012 en 16:12

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




Add to Technorati Favorites
Creative Commons License
Esta obra está bajo una licencia de Creative Commons

Archivos

Wikio – Top Blogs – Linux

Introduce tu dirección de email para suscribirte al blog y recibir notificaciones de nuevos posts en tu email.

Únete a otros 308 seguidores


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 308 seguidores

%d personas les gusta esto: