shian:~# fdisk /dev/hdb
Command (m for help): p
Disk /dev/hdb: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2080, default 1):INTRO
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2080, default 2080):INTRO
Using default value 2080
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)
Command (m for help): p
Disk /dev/hdb: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 2080 1048288+ fd Linux raid autodetect
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
shian:~# mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/hdb1 /dev/hdc1
mdadm: size set to 1048192K
mdadm: array /dev/md0 started.
NOTA: Si ya hemos usado el disco anteriormente para otro raid, es necesario reiniciar el superbloque para que se borre la información existente, puesto que sino, la creación puede fallar:
shian:~# mdadm --zero-superblock /dev/sdXX
shian:~# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1] ide/host0/bus0/target1/lun0/part1[0]
1048192 blocks [2/2] [UU]
[===========>.........] resync = 58.2% (611196/1048192) finish=0.0min speed=101866K/sec
unused devices: <none>
shian:~# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1] ide/host0/bus0/target1/lun0/part1[0]
1048192 blocks [2/2] [UU]
unused devices: <none>
shian:~# mkfs.ext3 /dev/md0
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 262048 blocks
13102 blocks (5.00%) reserved for the super user
First data block=0
8 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
shian:~# mkdir /mnt/raid
shian:~# echo "/dev/md0 /mnt/raid ext3 defaults 0 1" >> /etc/fstab
shian:~# mount /mnt/raid
shian:~# df -h /dev/md0
Filesystem Size Used Avail Use% Mounted on
/dev/md0 1008M 17M 941M 2% /mnt/raid
A partir de aquí, lo que yo hice inicialmente fue simular que un disco duro se estropeaba y al arrancar la máquina quería montar el raid sólo con el otro disco y utilizarlo normalmente. Además, después de simular con la máquina virtual que añadía un nuevo disco duro, quería añadirlo al raid para volver a tener de nuevo la redundancia. Después de leer muchos tutoriales y foros no había manera de que funcionase. Si reiniciaba la máquina sin un disco del raid, éste no se montaba y no podía acceder a los datos. Además, el dispositivo /dev/md0 no era reconocido, por lo que era como si el raid no existiese!. Finalmente, encontré en un pequeño tutorial la solución a mis problemas.
shian:/# cd /etc/mdadm
shian:/etc/mdadm# cp mdadm.conf mdadm.conf.`date +%y%m%d`
shian:/etc/mdadm# echo "DEVICE partitions" > mdadm.conf
shian:/etc/mdadm# mdadm --detail --scan >> mdadm.conf
shian:/etc/mdadm#
shian:/etc/mdadm# cat mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a48e6816:ea6e7f37:6cc50cdb:6fead399
devices=/dev/hdb1,/dev/hdc1
shian:/etc/mdadm# umount /mnt/raid
shian:/etc/mdadm# mdadm --stop /dev/md0
shian:/etc/mdadm# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
unused devices: <none>
shian:/etc/mdadm# mdadm --assemble /dev/md0 /dev/hdb1 /dev/hdc1
mdadm: /dev/md0 has been started with 2 drives.
shian:/etc/mdadm# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus0/target1/lun0/part1[0] ide/host0/bus1/target0/lun0/part1[1]
1048192 blocks [2/2] [UU]
unused devices: <none>
Ahora sí, vamos a probar si realmente el podemos recuperar la información y el sistema funciona correctamente en caso de caída de un dispositivo. Además, veremos cómo reemplazar el disco defectuoso y recuperar de nuevo el raid 1 con los dos discos.
shian:/# mount /dev/md0 /mnt/raid
shian:/# dd if=/dev/urandom of=/mnt/raid/random1 count=51200
51200+0 records in
51200+0 records out
26214400 bytes transferred in 7.829523 seconds (3348148 bytes/sec)
shian:/# cksum /mnt/raid/random1
1652310020 26214400 /mnt/raid/random1
md: bind
md: ide/host0/bus1/target0/lun0/part1's event counter: 00000006
md0: former device hdb1 is unavailable, removing from array!
md: raid1 personality registered as nr 3
md0: max total readahead window set to 124k
md0: 1 data-disks, max readahead per data-disk: 124k
raid1: device ide/host0/bus1/target0/lun0/part1 operational as mirror 1
raid1: md0, not all disks are operational -- trying to recover array
raid1: raid set md0 active with 1 out of 2 mirrors
md: updating md0 RAID superblock on device
md: ide/host0/bus1/target0/lun0/part1 [events: 00000007]<6>(write) ide/host0/bus1/target0/lun0/part1's sb offset: 1048192
md: recovery thread got woken up ...
md0: no spare disk to reconstruct array! -- continuing in degraded mode
md: recovery thread finished ...
shian:~# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1]
1048192 blocks [2/1] [_U]
unused devices: <none>
shian:~# df -h /dev/md0
Filesystem Size Used Avail Use% Mounted on
/dev/md0 1008M 42M 916M 5% /mnt/raid
shian:~# mdadm --manage /dev/md0 --fail /dev/hdb1
mdadm: set /dev/hdb1 faulty in /dev/md0
Apagamos la máquina y cambiamos el disco duro defectuoso por uno nuevo. En el caso de VMware basta con crear un nuevo dispositivo de tipo disco duro. Además, este disco duro nuevo que añadimos va a ser de mayor tamaño que el anterior. Idealmente en un raid 1 los dos discos duros deben tener el mismo tamaño, pero linux nos proporciona la suficiente flexibilidad para que esto no sea así.
shian:~# sfdisk -d /dev/hdc | sfdisk /dev/hdb
Checking that no-one is using this disk right now ...
OK
Disk /dev/hdb: 4161 cylinders, 16 heads, 63 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/hdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/hdb1 63 2096639 2096577 fd Linux raid autodetect
/dev/hdb2 0 - 0 0 Empty
/dev/hdb3 0 - 0 0 Empty
/dev/hdb4 0 - 0 0 Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
shian:~# fdisk /dev/hdb
The number of cylinders for this disk is set to 4161.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (2081-4161, default 2081):INTRO
Using default value 2081
Last cylinder or +size or +sizeM or +sizeK (2081-4161, default 4161):INTRO
Using default value 4161
Command (m for help): p
Disk /dev/hdb: 2147 MB, 2147483648 bytes
16 heads, 63 sectors/track, 4161 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 2080 1048288+ fd Linux raid autodetect
/dev/hdb2 2081 4161 1048824 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
shian:~# mkfs.ext3 /dev/hdb2
mke2fs 1.37 (21-Mar-2005)
warning: 62 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131328 inodes, 262144 blocks
13110 blocks (5.00%) reserved for the super user
First data block=0
8 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
shian:~# mkdir /mnt/tmp
shian:~# mount /dev/hdb2 /mnt/tmp
shian:~# mdadm --manage /dev/md0 --add /dev/hdb1
mdadm: hot added /dev/hdb1
shian:~# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus0/target1/lun0/part1[2] ide/host0/bus1/target0/lun0/part1[1]
1048192 blocks [2/1] [_U]
[=======>.............] recovery = 39.5% (415488/1048192) finish=0.1min speed=69248K/sec
unused devices: <none>
shian:~# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 ide/host0/bus0/target1/lun0/part1[0] ide/host0/bus1/target0/lun0/part1[1]
1048192 blocks [2/2] [UU]
unused devices: <none>
shian:~# umount /mnt/raid
shian:~# mount /dev/hdb1 /mnt/raid
shian:~# cksum /mnt/raid/random1
1652310020 26214400 /mnt/raid/random1
shian:~# umount /mnt/raid/
shian:~# mount /mnt/raid/
shian:~# df -h /mnt/raid/
Filesystem Size Used Avail Use% Mounted on
/dev/md0 1008M 42M 916M 5% /mnt/raid
md: ide/host0/bus0/target1/lun0/part1's event counter: 0000000c
md: ide/host0/bus1/target0/lun0/part1's event counter: 0000000c
md: raid1 personality registered as nr 3
md0: max total readahead window set to 124k
md0: 1 data-disks, max readahead per data-disk: 124k
raid1: device ide/host0/bus0/target1/lun0/part1 operational as mirror 0
raid1: device ide/host0/bus1/target0/lun0/part1 operational as mirror 1
raid1: raid set md0 active with 2 out of 2 mirrors
md: updating md0 RAID superblock on device
md: ide/host0/bus0/target1/lun0/part1 [events: 0000000d]<6>(write) ide/host0/bus0/target1/lun0/part1's sb offset: 1048192
md: ide/host0/bus1/target0/lun0/part1 [events: 0000000d]<6>(write) ide/host0/bus1/target0/lun0/part1's sb offset: 1048192
Hemos visto una manera bastante sencilla y fiable de tener nuestros datos importantes a buen recaudo. No obstante este sistema raid no sirve de nada sin una buena política de backups, puesto que no protege del borrado accidental de archivos.
Después de haber probado FreeNAS y el Raid en Debian puedo sacar en claro lo siguiente:
Ahora ya sólo me queda cambiar mi actual Duron 1200Mhz (algo que voy a hacer en las próximas semanas) puesto que ya está algo viejo y cada vez lo noto más lento y utilizarlo como servidor NAS-Debian en casa.
El siguiente capítulo será la configuración de Samba para compartir los nuevos dispositivos creados con una máquina windows así como la gestión de los distintos permisos de usuario.
79 comentarios:
Como dije en /., deberías probar Openfiler.
Hola!
el howto está muy bien, pero quería preguntarte si tienes idea de como hacer RAID1 del disco de sistema, y que si se peta hda, al reiniciar arranque automáticamente de hdb, esto es, que dos discos duros de igual tamaño sean una imagen exacta uno del otro, y que si uno falla, el sistema arranque desde el otro.
Gracias, un saludo :-)
Hola.
Me apunto lo de Openfiler para hacer alguna prueba. Ya contaré qué tal va.
Sobre el raid1 del disco de sistema, hay bastantes turoriales sobre cómo hacerlo. No es complicado y cuando estaba preparando este howto lei alguno por encima. Busca un poco que seguro que encuentras alguno muy sencillo.
Saludos, Iván.
El RAID por software de linux solo trabaja sobre particiones y no sobre discos completos, asi que cuando se instala el cargador del kernel (grub o lilo) hay que hacerlo en los N discos que se vayan a usar en el arreglo de manera que cuando falte el disco que tiene el cargador, cualquiera de los demas tome su lugar.
Con grub es una tarea trivial segun pude comprobar.
Curradísimo el manual. No solo es crear el raid, sino administrarlo, probarlo, gestionar fallos...todo muy clarito y 100% útil, incluso los comandos por sí solos (algunos no los conocía ;)).
¡Gracias!
Hola Manolo,
gracias por los comentarios. Me alegro de que te haya gustado el tutorial.
Saludos, Iván.
Excelente y clarísimo. Muchas gracias por el tutorial y la información. Me lo guardo como un 'must have'.
Muchas gracias por los comentarios. De verdad que se agradece mucho el feedback después de publicar un artículo.
Saludos, Iván.
Sólo quería, como ya han hecho algunos, felicitarte por este howto y agradecerte que te lo hayas currado de esa manera. Me ha resultado muy útil ya que tenía un raid montado y recientemente se me ha ido un disco del raid y, entre el poco tiempo que tengo y que no hay demasiada información al respecto me estaba volviendo loco. Además aprovecho los 120gb de sobra XD
De nuevo gracias.
Arturo.
Gracias por el comentario Arturo, de verdad. Además me alegro de que te haya sido útil y hayas podido recuperar el raid y además aprovechar el espacio de sobra. Como ya han comentado por aquí, linux trata los raids a nivel de partición, por lo que se pueden hacer todo tipo de combinaciones.
Saludos, Iván.
Hola, gracias por el howto. Quería comentar porque me pareció un poco injusta tu comparación de FreeNAS con el RAID en Linux ya que al utilizar Debian estás utilizando una distribución completa y FreeNAS es una versión muuuy reducida de FreeBSD. Lo más correcto debería ser comparar "FreeBSD y Debian como NAS" o "FreeNAS y 'Inserte nombre de proyecto similar para Linux'"
Hola,
tienes razón, eso ya lo ha comentado alguien (no sé si aquí o en barrapunto). Lo que ocurre es que de linux sé más que de FreeBSD y no conozco ningún proyecto de NAS basado en linux.
De todas formas FreeNAS me ha gustado mucho y lo seguiré de cerca.
Saludos, Iván.
Un articulo realmente útil para cualquiera que administre sistemas linux. ¡ Felicidades !
¡Se me había escapado esta entrada! ¡Con lo curradísima que está! ¡Interesantísimo!
Yo en cambio vivo en el filo de la navaja. Tengo los dos discos del ordenador con absolutamente todo en RAID0 a nivel de placa (NForce4) y gestionado en Linux por el dmraid y el Device-Mapper del kernel. Espero que mis backups sean fiables ;-)
Hola Super coco,
más te vale que sean fiables porque como se te vaya un disco del raid0... ya sabes, todo perdido. Realmente compensa la mejora de la velocidad con el riesgo que ello conlleva?. Sé que hay gente (como tú) que sabe lo que es un raid0 y los riesgos, pero creo que cada vez se está poniendo más de moda y mucha gente no sabe lo que supone que se vaya un disco de un raid0.
En fin, cada uno verá...
Saludos, Iván.
Hola Iván
Conozco y comprendo muy bien los riesgos de un RAID 0, pero realmente sí se nota, es prácticamente el doble:
# hdparm -tT /dev/mapper/nvidia_bdehcbaa
/dev/mapper/nvidia_bdehcbaa:
Timing cached reads: 1290 MB in 2.00 seconds = 645.41 MB/sec
Timing buffered disk reads: 342 MB in 3.01 seconds = 113.70 MB/sec
¡Y si haces algo de edición de vídeo (aunque sea pasar películas caseras a DVD) la diferencia es muy apreciable! Eso sí, hago contínuamente rsync's de los datos del RAID a un disco externo. Total, que tengo que tener igual de capacidad de backup que en el RAID para disfrutar de esa velocidad extra :-)
Parece que me estás leyendo el pensamiento. Dentro de poco tengo pensado meterme con la edición de video (qué programa me recomiendas para linux?) y también quiero sincronizar (tengo que buscar información de rsync o lo que sea) la información del raid a disco externo para hacer los backups.
A ver cuando posteas algo de esto en tu blog ;-)
Saludos, Iván.
> qué programa me recomiendas para linux?
Me temo que no puedo responderte, ya que yo me pegué la panzada de pasar todas las películas caseras a DVD (con sus menús, transiciones, música de fondo, etc) usando el Pinnacle Studio en Windows. Necesariamente lo tuve que hacer así porque cuando estuve con esto (hace casi dos años) la partición muy grande donde me cabían las películas la tenía en NTFS sin poder cambiarla y por entonces no había NTFS-3G :-)
El que tiene mucha fama es el Cinelerra, pero no lo he probado.
Respecto al rsync, sí, ya tenía en la cabeza escribir al respecto, pero hay que encontrar el hueco :D
Hola Ivan,
Muy bueno el tuto.
Respecto a edicion de video en Linux hasta ahora lo mejor es Cinelerra, como te dijeron
hector
Gracias Héctor, me alegro de que te guste.
Respecto a la edición de video en linux, en cuanto tenga un rato me pondré a probar.
Saludos, Iván.
muy bueno el howto soy nuevo en esto y la verdad que fue muy facil crear el raid y probarlo con esta explicacion. excelente!!! y desde ya gracias por publicarlo
Hola Anónimo,
muchas gracias a ti por el comentario, me alegro de que te haya resultado útil el tutorial y le puedes sacar partido.
Saludos, Iván.
Hola,
Acabo de leer tu tutorial, y es muy bueno ya que es claro y cuenta los pasos completos que vas dando. Sobre todo con la degeneración profesional que suele haber obviando muchas cosas que los neofitos no saben. Es la primera vez que entro en tu blog, pero voy a leerte más.
Gracias por el tutorial que me ha ahorrado unas cuantas horas de lectura.
Hola Anónimo,
muchas gracias por tu comentario!. Pues si me lees más, ya irás viendo que suelo detallar todos los pasos de lo que hago en todos los post. De todas formas, para cualquier duda siempre estoy disponible para ayudar.
Me alegro de que te guste el blog y de que el tutorial te haya resultado útil.
Saludos, Iván.
Me pueden mandar mail a mi correo si me pueden ayudar.
showmanchoyin@gmail.com
Mi problema es que tengo un raid 1 con la raiz en lvm - vg0 y parece todo funcionar bien, Pero al retirar cualquiera de los dos discos el grub aparece peron no arranca el sistema, al reconectar el disco vuelve todo a funcionar.....
Como puedo resolver esto?
Lo siento showman pero con eso no te puedo ayudar. La configuración que planteas no la he probado. He hecho alguna cosita con LVM pero no junto con raid-1 para el filesystem /.
Saludos y suerte, Iván.
Hola iván.
Nada este fin de semana formatee los discos y empece de nuevo.
SDA1 255Mb raid 1 boot
SDA2 3Gb Swap
SDA3 40G raid1 raiz
En SDB las mismas particiones, esta vez lo hice sin LVM y me pasa lo mismo, el grub funciona aparece el cargador en los dos discos, pero si retiro no de los dos el sistema ya no bootea y me aparece una mini shell con un par de comando...
Esto es lo que me aparece y no arranca.
Loading, please wait…
mdadm: No devices listed in conf file were found.
Stdin: error 0
Hola Showman,
he estado buscando un poco y he encontrado este tutorial, mira a ver si te sirve.
Debes tener en cuenta que si quieres hacer un raid 1 que incluye la partición raíz /, hay que hacer unos pasos adicionales para que el grub se entere. En mi caso, sólo utilizo el raid 1 para partición de datos, por lo que no tengo tu pequeño problemita.
Espero que puedas solucionar tu problema.
Saludos, Iván.
joeeeeee... el problema tiene que estar en la imagen del kernel de ubuntu o en el intrd (un bug del mdadm de ubuntu alternate), porque he instalado un suse sobre raid y funciona a las mil maravillas y sin hacer ninguna configuración.
Pues a lo mejor sí que es un bug. Has probado a mirar en launchpad a ver si está dado de alta?. Yo es que el raid lo tengo montado en una Debian Etch.
Saludos, Iván.
¿El raid que tienes con la debian lo hicistes con el instalador del sistema o despues con el mdadm?
¿Que version del mdadm tienes?
mdadm -V
Y el el listado de bug sobre mdadm hay porlo que se ve muchos bug reportados.
Hola showman,
el raid lo hice después de tener el sistema instalado. Primero instalé normalmente y luego lo creé a mano siguiendo mi propio artículo ;-).
La versión es:
shian:~# mdadm -V
mdadm - v2.5.6 - 9 November 2006
Saludos, Iván.
Yo estaba buscando un método para partiendo con dos HDD, uno de ellos con el SO y otro vacio, hacer mirror por hardware mediante las herramientras de la controladora (smart array) y me he encontrado con tu artículo que me ha servidor para duplicar el disco duro mediante el export/import la tabla de partiones.
Gracias
Hola RuBiCK,
Me alegro de que aunque no sea el artículo del raid (puesto que tú lo querías hacer por hadrware), te haya servido algo de él.
Gracias por la visita y por el comentario.
Saludos, Iván.
Hola,
Yo ya tengo un Linux instalado y quisiera poder crear un RAID 1, del sistema que tengo instalado, no un raid solo de datos, sino uno que me incluya mi instalacion actual, ¿se puede hacer eso?
Hola Maximiliano,
sí es posible hacerlo aunque este tutorial no te servirá porque está pensado sólo para datos. Me apunto te sugerencia para hacer un tutorial sobre esto porque ya lo habéis pedido algunos lectores en los comentarios.
Saludos, Iván.
Gracias por tu respuesta Ivan.
Sabes de algun tutorial en donde se explique o que deberia tener en cuenta para poder intentar hacerlo.
Gracias a ti Maximiliano por tu comentario. Una de las cosas que debes tener en cuenta es que tienes que configurar grub para que arranque desde cualquiera de los 2 discos del raid. El resto es "sencillo", sólo tienes que crear las particiones iguales (incluida la de swap) en ambos discos.
Saludos, Iván.
Hola Iván, antes de todo felicitarte por la ayuda que prestas a los que empezamos o jugueteamos con linux. A los profanos :D.
Yo hace 8 años que dejé de darle al Linux y ahora he vuelto con ganas. Tengo un equipo con el que hago las pruebas, es un P4 con 512Mb de RAM (va sobrao), le he instalado 3 discos duros, uno de 120gb, otro de 60gb y otro de 80gb.
Aquí empieza el juego.
Quería montar un raid con redundancia, estuve dándole vueltas al tema y al final he optado por lo siguiente:
Al disco de 60Gb le he hecho una partición de 19gb ext3 para el sistema, otra de 1 para el swap y he dejado libres 40Gb. hda1, hda2 y hda3.
Luego he montado un Raid0 entre el hda3 y el hdd1 (el de 80Gb) por lo que me ha resultado un md0 de 120Gb.
Bien, acabo de iniciar un Raid1 (md1) entre el md0 (raid0 entre hda3 y hdd1) y el hdc1 (de 120Gb).
De hecho está al 27%, que crees que pasará?
Los pasos que he seguido son:
1) Establecer las particiones sin formato y con raid autodetected.
/dev/hda3 Linux raid autodetected
/dev/hdc1 Linux raid autodetected
/dev/hdd1 Linux raid autodetected
2) mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/hda3 /dev/hdd1
md0: active raid0 hdd1[1] hda3[0]
118663936 blocks 64k chunks
3) mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/md0 /dev/hdd1
md1: active raid1 hdc1[1] md0[0]
118663936 blocks [2/2] [UU]
[=====>...............] resync = 27.4% (32531584/118663872) finish=62.5min speed=22930K/sec
Al ver el avance me he quedado de piedra, pero por otro lado, ... ¿por qué no?
Bueno, te lo comentaba por que creo que es curioso y me gustaría saber que piensas.
Un saludo y muchas gracias por tu ayuda incondicional.
Esta mañana, antes de venir al trabajo, he mirado que tal había ido.
En principio se ha creado bien, le he dado formato a /dev/md1 con ext3 y lo he montado en /media/raid.
Lo único malo es que me ha dicho que no tengo permisos para escribir, cuando vuelva a casa investigaré a ver que pasa.
Saludos,
Hola Javier,
te estaba respondiendo a tu comentario anterior y he visto el nuevo así que te contesto a ambos.
Lo primero darte las gracias por el comentario y por compartir tu experiencia con todos.
Sobre la creación del raid (por cierto, extraño raid 1 con un disco y un raid 0), la verdad es que tarda un rato. En mi caso, para el raid 1 de 60GB estuvo algo más de 1 hora, pero es normal. Mientras que el /proc/mdstat te indique que el raid está activo es que funciona bien.
Sobre los permisos para escribir revisa con cuidado cómo los has asignado al grupo y a others. También ten en cuenta para qué vas a usar el raid y quien quieres que sea el owner de ese filesystem (puede que no te interese que sea root).
Para cualquier duda ya sabes donde estoy.
Saludos y muchas gracias, Iván.
"(por cierto, extraño raid 1 con un disco y un raid 0)"
A eso me refería, lo que me dejó de piedra fue el hecho de que me dejara montar un raid sobre otro raid, eso es lo curioso.
Según lo que pienso, si falla el disco grande tengo el Raid0, si falla alguno de los dos discos del Raid0, pierdo el Raid0 pero tengo el Disco grande. El peor de los casos sería que fallara el disco donde tengo el arranque (hda), si es así tendría que instalar linux en otro disco y montar el disco grande para recuperar los datos.
Según la teoría creo que así debería ser.
No deja de ser extraño y curioso, pero no he visto ningún impedimento.
Saludos,
Javier,
una de las grandes ventajas de linux es que puedes hacer esas combinaciones e incluso otras "más enrevesadas". Es relativamente común tener Raid 1+0 ó 0+1 con 4 discos, pero también puedes tener un Raid 1 + LVM para redimensionar las particiones de manera dinámica.
Si vas a usar esa máquina para algo que no sea "cacharrear" no te recomiendo la configuración de discos que has elegido. Ten en cuenta que si falla el disco grande tienes más posibilidades de que falle cualquiera de los pequeños del raid0 y se perdería todo. Depende mucho de cómo quieras organizar los discos y el espacio que necesites tener con mirror, pero dale otra pensada.
Te cuento mi caso del servidor de backup. Tengo discos de 30, 60 y 120GB.
- El disco de 30GB -> Sistema operativo, swap y el resto para datos "no críticos".
- El disco de 60GB y "medio" del de 120GB para el Raid1.
- Los 60GB que me sobran del de 120GB para datos "no críticos".
Saludos, Iván.
De momento, Iván, solo estoy "cacharreando", como tú bien has dicho. Tocando esto y lo otro para volver a relacionarme con linux, ver las nuevas cosas que trae (son 8 años sin Linux) y tal. Esta tarde he montado un raid5 con 8 particiones de 30Gb, ya ves :), trasteando.
La idea que tengo para hacer en un futuro próximo, un par de meses, es montarme un raid1 entre dos discos de 500Gb, soy aficionado a la fotografía y tengo cientos de miles de fotos, algunas de ellas son TIFFs de 150Mb (incluyen capas de photoshop), así que necesito mucho espacio, me resulta muy incomodo sacar copias de seguridad en DVD que luego a los años pierdes o se rompen.
Bueno, un placer el hablar contigo y leer tu blog.
Un saludo "makina" ;)
Hola Javier,
para trastear te recomiendo mejor una máquina virtual de VMware o similares, es más cómodo y añadir discos es tan sencillo como apagar la máquina y editarla para poner más :-P.
Por cierto, el raid 5 sólo está recomendado para un máximo de 7 discos, aunque como dices que estás cacharreando...
Uffff, 500GB en raid 1. Yo de momento me tengo que conformar con 60.
El placer es mío por que leas mi blog y compartas tus experiencias con todos. Sois los que publicáis comentarios los que enriquecéis el contenido del blog.
Saludos, Iván.
Hola Iván, prometí que iba a postear y aquí estoy ....
En el paso
"No obstante el raid está montado y el filesystem es accesible:"
en le que simulas la caida del RAID1 quitando uno de los dos discos duros, comprobaste que el fichero seguia existía despues de reinicar la maquina?
En mi caso, lo he comprobado y el archivo no existe ... no se si he realizado algún paso mal.
Gracias
Hola Jesús,
sí, claro que comprobé que el archivo estaba y el filesystem se montaba correctamente.
Se monta el raid en tu caso al reiniciar la máquina?. En el dmesg ves el mensaje indicando que el raid está listo pero sólo con un disco?.
Saludos, Iván.
Hola Iván,
si, todo eso está comprobado. Lo reconoce bien y está bien montado. Creo que el problema viene a la hora de crear el ficero de prueba. En el punto "Creamos un archivo aleatorio de 25MB en el raid:" sin tener montado el sistema raid ( /mnt/raid), ya que en el punto anterior se desmontó para hacer una prueba.Debido a esto, el archivo se crea bien, pero una vez que reinicias el sistema ( quitando uno de los discos duros) ves que lo ha montado bien, el filesystem es correcto, pero que te te creado el directorio lost+found en el lugar donde está el fichero; al menos eso me ha pasado a mi ...
Lo he solucionado montando la particion de raid "justo" antes de crear el archivo, y con eso ya me funciona.
Saludos
Hola Jesus,
he estado revisando los pasos del tutorial y el fichero de prueba se crea con el raid levantado, pero como tu dices no está montado (ya lo he corregido). Muchas gracias por el detalle.
Como dices, al reiniciar se monta el raid y obviamente el archivo ya no está disponible.
Saludos, Iván.
Excelente tutorial, acabamos de instalar el RAID en un Hewlett Packard Proliant Pentium D en un par de discos SATA de 160Gb, con Debian Etch y funciono de una y sin problemas.
Gracias
Gracias por tu comentario Jose Antonio, me alegro de que el artículo te haya sido de utilidad.
Saludos, Iván.
El manual es de 10. Me ha funcionado a la primera.
Quería agradecertelo porque la verdad es que el trabajo que te has pegado con el tuto bien lo merece.
Mil Gracias!
Gracias Anónimo, de verdad que se agradece. Encantado de que te haya sido de utilidad.
Saludos, Iván.
Hola muy buenas Iván. Para empezar darte mis agradecimientos por realizar un tutorial en toda regla. Me va a servir mucho para realizar mis pruebas sobre un proyecto nas que tengo en mente. Actualmente ando probando con openfiler, que no me disgusta pero como bien dices por ahí al estar orientado a nas puedes perder otras funcionalidades interesantes. Lo que pasa es que tengo una pregunta. ¿Qué pasa si falla el disco de SO?. Montar uno nuevo instalarlo y listo, el sólo reconoce el raid... .Me da en la nariz que no. En windows sí es así,(por lo menos si el raid es por hardware) y como yo en linux ando un poco cojo....
Lo repito muchas gracias por un tuto tan bueno
Hola Anónimo,
muchas gracias, espero te resulte útil y puedas montar el raid sin problemas.
Si falla el disco de sistema lo único que tienes que hacer es reinstalar en otro disco, "reensamblar" el raid y construir el nuevo archivo /etc/mdadm/mdadm.conf.
Otra opción es poner el disco de sistema también en raid 1. Tienes otro tutorial que hice aquí: http://lopezivan.blogspot.com/2008/03/raid-1-en-un-sistema-ya-instalado.html.
Por último, por si no lo sabes, puedes montar un disco del raid de manera independiente como medida de contingencia. Eso sí, no escribas nada en él (utilízalo en solo-lectura) porque sino el raid se desincronizará.
Saludos, Iván.
Hola muy buenas, muy buen tutorial, pero yo tengo algunas dudas, en primer lugar no comprendo este punto:
-Es necesario indicarle al sistema operativo cómo acceder a ese dispositivo raid para que sea capaz de utilizarlo. Esto que puede parecer tan obvio no venía en ningún tutorial ni en ninguna ayuda de las que consulté.
"shian:/etc/mdadm# cp mdadm.conf mdadm.conf.`date +%y%m%d`"
como se introduce todo eso, perdona por mi desconocimiento no soy un experto, estoy aprendiendo.
En segundo lugar te comento que es lo que me ocurre en el raid, Yo quiero tener un raid1 de un partición de mi disco (sdb3) a otra partición de otro disco (sda1), he seguido todos los pasos menos el que no comprendo y el del grub dado que no tiene que arrancar el sistema en la partición que quiero hacer raid1, en mi fstab con todas las particiones y añadiendo /dev/mda0 con su punto de montaje cuando reinicio aparece el dispositivo de raid1 pero no funciona por que estan montados los discos, los desmonto y funciona perfectamente se abre mda0 y hace la copia en los dos discos, con lo cual yo en fstab a las particiones sdb3 y sda1 las aplico noauto o las elimino para que no se monten al inicio, cuando vuelvo a reiniciar no me aparecen las particiones PERO TAMPOCO EL RAID1 NI MD0 con lo cual no se lo que he echo mal, para que me funcione tengo que montar las particiones reiniciar y cuando me aparece el dispositivo raid y desmontar las particiones y ya me funciona pero claro como tenga que hacer esto cada vez que reincio madre.
Bueno espero haberme explicado, os agradeceria vuestra ayuda.
Hola Luisan,
gracias, espero que te resulte útil.
El comando cp mdadm.conf mdadm.conf.`date +%y%m%d` lo que hace es sacar una copia del archivo mdadm.conf añadiéndole la fecha en formato AAMMDD. Por ejemplo, si lo hicieras hoy sería mdadm.conf.100420.
Todos tus problemas creo que vienen porque no has hecho eso y no has actualizado el archivo de configuración con la información del raid creado. Por eso no es capaz de montarlo correctamente.
Una cosa que no me queda clara es tu pregunta es cuando dices que tienes sdb3 y sda1 y que funcionan por separado y también en el raid. Para poder utilizar esas particiones en un raid 1 tiene que estar particionadas como "Linux raid autodetect" y no debes montarlas de manera independiente nunca porque perderás el raid.
Espero que te funcione.
Saludos, Iván.
Tengo un problema con RAID1 a través de Software. Tengo dos discos de 500 GB iguales montados con RAID1. Hace poco el sistema operativo, Fedora 12, me dice que uno de los discos duros esta estropeado.
Como no tengo más discos, he pensado en desconectar el disco que esta dando problemas y dejar el otro funcionando hasta que pueda conseguir otro disco pero resulta que al reiniciar me sale un mensaje de Hard disk error y no me carga el boot.
Como no me carga el boot, tengo que dejar conectado el disco estropeado para poder acceder al equipo. En Raid le he dicho que no tenga en cuenta a este disco con la orden --failed y --remove pero no logro que el equipo arranque sólo con el disco bueno.
¿Me podrías indicar como puedo hacer para que el equipo siga funcionando con un sólo disco y que el arranque funcione?
Gracias.
Hola Anónimo,
por lo que cuentas, parece que tienes también la partición / en el raid 1 o que el grub está instalado sólo en el disco que te ha fallado, aunque tampoco estoy seguro del todo. Mira este otro artículo que hice sobre montar un raid 1 en un sistema ya instalado. Puede que te ayude a instalar el grub si es eso lo que te está fallando.
También se me ocurre que no se haya marcado bien como "eliminado" del raid. Cuando haces cat /proc/mdstat te muestra que sólo tienes un disco?. Has revisado la configuración del archivo /etc/mdadm/mdadm.conf?.
Saludos y suerte, Iván.
Buenas,
Tengo un problema.
Realice todos los pasos y funciona OK, pero al iniciar la maquina me pone esta linea y se queda parado. Tengo que desconectar los discos duros e iniciar el equipo con los discos desenchufados.
La linea que me sale es esta:
initramfs
Gracias
Hola Alejandro,
así, con sólo esa información, me temo que no te puedo ayudar. Lo siento.
Saludos, Iván.
Hola ivan que recomiendas vos, si usar raid por software o hardware; asi mismo lei o entendi que solo hiciste raid con dos discos para datos, y que tienes un disco principal del sistema es decir si ese disco se croma o cae, no funciona el servidor, creo que varios han hecho la consulta por que no realizar el raid entre dos discos uno el principal (s.o) y un secundario
agradecere comentarios o posibles soluciones
Saludos
Buenas,
Muy buena explicación. Para que cuando falle un disco el sistema me lo montara incluso en modo degrado al reiniciar, tuvo que ejecutar:
update-initramfs -u
No se si habrá sido casualidad o no, por si sabes algo al respecto. Utilizo Ubuntu 11.04.
Saludos.
Te preguntaba pero en otra area incorrecta lo siguiente: Veo que armas todo con esta configuracion " El disco de sistema es hda con una única partición y los discos con los que se creará el raid 1 serán hdb y hdc. " que pasa si solo tengo sda y sdb ( dos discos nuevos sata gemelos de 2TB en un equipo nuevo) como armo el raid, que diferencia hay con lo que armaste vos?. Muchas gracias!!!
@Alejandro: Yo para un entorno doméstico o en una oficina sin demasiada carga prefiero raid por software. Tengo todo mucho más "controlado" y no dependo de una controladora de la placa base que se pueda romper y me deje sin acceso a mis datos.
Exacto, el raid es sólo para datos. Si se rompe el disco principal, reinstalo y monto de nuevo el raid.
@Leonardo: Puedes instalar perfectamente el sistema (incluída la partición /) en dos disco en raid 1.
Saludos, Iván.
Hola Ivan. Primero muchas gracias por compartir tu conocimiento con todos. A mi me ha venido de maravillas para mi trabajo este tutorial que has hecho, es mas tengo un sistema en produccion trabajando en base a este tuto!.
Ahora me puse con otro sistema con Debian 6.0.0 64bits. Todo lo logro simular perfecto pero cuando llego aqui
shian:~# mdadm --manage /dev/md0 --fail /dev/hdb1
mdadm: set /dev/hdb1 faulty in /dev/md0
a mi me dice el equipo lo siguiente (en mi caso es sdb1 , 5 y 6):
mdadm:cannot found /dev/sdb1 : No such file or directory
Sabes a que se debe?.El disco 1 esta ok, el array degradado y el disco 2 lo saque para hacer la simulacion y ahora quiero colocar uno nuevo para la reconstruccion.
Gracias por la respuesta cuando puedas!
Buenas, estoy estresada con la tesis y necesito qué hacer con la situación que planteo. Cree un RAID 1 como indicas en la guía, pero cuando reinicio la máquina virtual no arranca el sistema operativo, lo hice en Ubuntu server 10.04. La máquina virtual lo único que pone es esto, ya no me deja hacer más nada:
fsc from util-linux-ng 2.17.2
/dev/sda1: clean,...files,...blocks
Por favor necesito ayuda. Gracias de ante mano.
Hola Ivan,
estoy intentando hacer un RAID1 con dos discos duros llamados sdb1 y sdc1. Cuando tecleo: "mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1" me aparece un error de: device or resource busy.
¿Que puedo hacer? Ayudame por favor. Gracias.
@damisela en apuros Ese error indica que uno de los dos dispositivos con los que intentas crear el raid (/dev/sdb1 o /dev/sdc1) están en uso.
Puedes comprobar con el comando mount que no los tengas montamos.
Saludos, Iván.
Hola muchas gracias por tuto exelente estuve haciendo un laboratorio con disco de 30Gb en una maquina virtual.
Todo de 10.
Muchas gracias de nuevo
Hola guzmanweb,
muchas gracias, me alegro de que te haya gustado y que todavía sea útil y práctico teniendo en cuenta de que lo escribí hace más de 6 años :-)
Saludos, Iván
Muchisimas gracias que buen articulo, usted me ayudó más que mi profesor. 100 Puntos
De nada Diego, me alegro de que te haya resultado útil.
Saludos, Iván.
Hola, me parece que tienes un blog muy interesante... por aqui queremos simular un servidor nas con linux o solaris que soporte ndmp que has investigado sobre esto?
Hola Maria,
me alegro de que te guste mi blog :-)
Hace mucho tiempo que no utilizo Solaris y nunca he utilizado ndmp, lo siento.
Saludos, Iván.
Hola, tengo un serio problema y no se muy bien que hacer...
He formateado por error mi nas RAID1, con lo que me he cargado todos los datos.
¿Conoceis algún tutorial de recuperación para este caso?
1.000.000 de gracias por anticipado
Cuando se dañan las particiones, existe alguna forma de llevar a cabo una recuperacion raid en caso de daño físico?
Gracias por la guía paso a paso. Tengo un RAID 1 de un solo disco de 1 TB porque se me rompió el otro y añadí otro de 16 TB y buscando, te encontré ;) . Un cordial saludo.
Publicar un comentario