Crear RAID 0 y RAID 1 con mdadm
Preparar el disco duro
Se va a crear un RAID-0 o un RAID-1. Para RAID-5 necesitará añadir más discos. Cree una particion en cada disco con el máximo tamaño:
Hay que hacer los mismos pasos para todos los discos que vayan a formar el RAID:
#fdisk /dev/dispositivo (hda, hdb, sda,sdb, etc...)
d y nº partición para borrar todas las existentes.
n para crear una nueva, p para decirle que es primaria y
1 para decirle que es la1ª.
t para indicar el tipo, fd que es el que corresponde a Linux RAID autodetect
w para escribir los cambios en la tabla del disco y salir
Device Boot Start End Blocks Id System
/dev/hda1 1 79780 40209088+ fd Linux raid autodetec
RAID-0 (¡sin redundancia!)
Use mdadm para crear un RAID-0:
mdadm --create /dev/md0 --chunk=64 --level=raid0 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0]
read_ahead 1024 sectors
md0 : active raid0 hdc1[1] hda1[0]
80418048 blocks 128k chunks
RAID-1 (¡con redundancia!)
Use mdadm para crear un RAID-1:
mdadm --create /dev/md0 --chunk=64 --level=raid1 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[1] hda1[0]
40209024 blocks [2/2] [UU]
[>....................] resync = 0.7% (301120/40209024) finish=17.6min speed=37640K/sec
Antes de reiniciar tiene que esperar a que se complete la sincronización
Guarde la información de los arrays recien creados
# mdadm --detail --scan >> /etc/mdadm.conf
# cat /etc/mdadm.conf
DEVICE /dev/hd* /dev/sd*
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d876333b:694e852b:e9a6f40f:0beb90f9
Obtener información sobre los dispositivos RAID y los discos
Mostrar el estado actual de los dispositivos raid
cat /proc/mdstat
Salida de un RAID-1 degradado con un disco que falla:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2](F) hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 degradado con un disco quitadoi:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 recostruyéndose:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2] hda1[0]
40209024 blocks [2/1] [U_]
[=======>.............] recovery = 37.1% (14934592/40209024) finish=11.7min speed=35928K/sec
unused devices:
Obtener más detalles sobre los dispositivos RAID
# mdadm --query /dev/md0
/md0: 38.35GiB raid1 2 devices, 3 spares. Use mdadm --detail for more detail.
/dev/md0: No md super block found, not an md component.
# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.00
Creation Time : Mon Jan 20 22:53:28 2003
Raid Level : raid1
Array Size : 40209024 (38.35 GiB 41.22 GB)
Device Size : 40209024 (38.35 GiB 41.22 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Jan 21 00:49:47 2003
State : dirty, no-errors
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Number Major Minor RaidDevice State
0 3 1 0 active sync /dev/hda1
1 22 1 1 active sync /dev/hdc1
UUID : d876333b:694e852b:e9a6f40f:0beb90f9
Obtener más detalles sobre los discos
# mdadm --query /dev/hda1
/dev/hda1: is not an md array
/dev/hda1: device 0 in 2 device active raid1 md0....
# mdadm --query /dev/hdc1
/dev/hdc1: is not an md array
/dev/hdc1: device 1 in 2 device active raid1 md0....
Administrar dispositivos RAID (RAID-1 y superiores)
Configurando el fallo de un disco:
# mdadm --fail /dev/md0 /dev/hdc1
Quitando un disco que falla de un array:
# mdadm --remove /dev/md0 /dev/hdc1
Borrando cualquier información de un raid anterior de un disco
# mdadm --zero-superblock /dev/hdc1
Agragar un disco al array
# mdadm --add /dev/md0 /dev/hdc1