miércoles, 23 de mayo de 2012

Hacer espejo entre Discos o particiones a nivel de software (Raid 1 por software) sin importar el tamaño.




Hola este COMO lo publico por un problema que me comento "datas" en una entrada que hablaba de hacer espejo entre servidores.

Esta basado en ubuntu y debian, pero ya lo probe en centos, linux mint, redhat y fedora, funciona bien.

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.

ATENCION: "Se recomienda hacer copia de seguridad de los datos de nuestro disco por si algo falla."





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



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

PD: El artículo original fue escrito por:

http://lamaquinadiferencial.wordpress.com/2009/02/22/raid-1-por-software-en-ubuntu-debian-discos-en-espejo/


Listo. 

Si necesitan ayuda pueden dejar sus comentarios o comunicarce conmigo.

Saludos.-

Angel J. Reynoso
kp01 
Tel.: 829-997-4870
kp01aj@gmail.com

No hay comentarios:

Publicar un comentario