Howto: RAID en Linux
De Daniel Pecos
Contenido |
Tipos de Raid
Pasos para crear un RAID
Primero comprobamos si existe algun array previamente creado:
$ cat /proc/mdstat Personalities : Event: 0 unused devices: <none>
A continuación creamos el o los md que necesitemos (md0, md1, ...) y donde crearemos los array RAID:
sudo mknod /dev/md0 b 9 0
Una vez tenemos el md creado, procedemos a crear el array RAID:
$ sudo mdadm --create MD --level=RAID_LEVEL --raid-devices=N PARTICIONES Continue creating array? yes mdadm: array MD started.
donde:
- MD: /dev/md0, /dev/md1, ...
- RAID_LEVEL: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp, fautly
- N: Número de particiones que formaran parte del array
- PARTICIONES: Lista de particiones que formaran parte del array o missing en caso de querer añadirla a posteriori
(Los ejemplos que se muestran a partir de este punto, son con datos reales, por lo que vuestros resultados pueden variar ligeramente)
Si consultamos de nuevo el listado de arrays existentes, veremos algo parecido a lo siguiente:
$ cat /proc/mdstat
Personalities : [raid5] [raid4]
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
586075008 blocks [4/3] [UUU_]
[>....................] resync = 0.7% (4103401/586075008) finish=177.6min speed=97640K/sec
lo cual significa que se están sincronizando los datos de los discos.
El proceso anterior termina cuando la consulta anterior devuelva el siguiente resultado:
$ cat /proc/mdstat
Personalities : [raid5] [raid4]
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
Ahora solo queda formatear y montar el array RAID:
mkfs.ext3 /dev/md0 sudo mount /dev/md0 /punto_de_montaje
Monitorización
- Estado actual de los discos y unidades RAID
$ cat /proc/mdstat
Personalities : [raid5] [raid4]
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
- Más detalles sobre las unidades RAID
$ sudo mdadm --query /dev/md0
/dev/md0: 558.92GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Sat Jan 20 17:27:56 2007
Raid Level : raid5
Array Size : 586075008 (558.92 GiB 600.14 GB)
Device Size : 195358336 (186.31 GiB 200.05 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jan 21 22:23:05 2007
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
Events : 0.3084
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
- Más detalles de los discos
$ sudo mdadm --query /dev/sdb1
/dev/sdb1: is not an md array
/dev/sdb1: device 0 in 4 device active raid5 /dev/md0. Use mdadm --examine for more detail.
$ sudo mdadm --examine /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b
Creation Time : Sat Jan 20 17:27:56 2007
Raid Level : raid5
Device Size : 195358336 (186.31 GiB 200.05 GB)
Array Size : 586075008 (558.92 GiB 600.14 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Update Time : Sun Jan 21 22:23:05 2007
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Checksum : 7cd3d7e7 - correct
Events : 0.3084
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 17 0 active sync /dev/sdb1
0 0 8 17 0 active sync /dev/sdb1
1 1 8 33 1 active sync /dev/sdc1
2 2 8 49 2 active sync /dev/sdd1
3 3 8 65 3 active sync /dev/sde1
Administración
- Establecer un disco como faulty/failed:
sudo mdadm --fail /dev/md0 /dev/sdb1
- Quitar un disco fallido de una RAID:
sudo mdadm --remove /dev/md0 /dev/sdb1
- Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)
sudo mdadm --zero-superblock /dev/sdb1
- Añadir un disco a la RAID
sudo mdadm --add /dev/md0 /dev/sdb1
- Añadir soporte "bitmap" a un RAID
sudo mdadm --grow /dev/mdX --bitmap=internal
- Quitar el soporte de "bitmap" a un RAID
sudo mdadm --grow /dev/mdX --bitmap=none
- Forzar a montar la unidad raid con dispositivos fallidos o no presentes
sudo mdadm --assemble /dev/md0 /dev/sda1 --run

