RAID software: mdadm José Domingo Muñoz Rafael Luengo Fundamentos de Hardware Febrero 2013
1.- Introducción Las causas que pueden provocar la pérdida de información son muy variadas, desde el mal funcionamiento de una aplicación hasta una rotura de un disco, pasando por todo tipo de programas maliciosos. Es por lo tanto imprescindible planificar y llevar a cabo las tareas de prevención correspondientes. 2
2.- Definición de RAID. Matriz o array de discos: estructura formada por varios discos. Redundante: La información se repite, toda o en parte. Económicos: El rendimiento de un RAID implementado con varios discos de Gama media puede ser superior al de un único disco de gama alta. Manuel Domínguez Tienda 3
3.- Tipos de RAID. RAID POR SOFTWARE. RAID POR HARDWARE. RAID HÍBRIDO. En este tema nos centraremos en el RAID POR SOFTWARE. El resto lo veremos en el módulo de Fundamentos de Hardware. 4
3.- Tipos de RAID. RAID 0 (Striping=división) El RAID reparte los datos en varios discos duros. No hay redundancia de datos. Se aumenta el rendimiento. Se puede leer o escribir a la vez en varios discos. Se necesita al menos dos discos. Las capacidades de los discos duros se suman y lo veremos como si tuviéramos una sola unidad. Pueden tener distintas capacidades, pero se reduce al del menor. Lo ideal es que los dos discos duros sean iguales. 5
3.- Tipos de RAID. RAID 1(mirroring=espejo) Se necesita al menos dos discos. Hay redundancia total de datos. Se aumenta la fiabilidad. Las lecturas son en paralelo, las escrituras NO. Los discos empleados pueden ser de distinta capacidad, pero la capacidad total será la capacidad del menor. Qué ocurrirá si hay un error en uno de los discos? El sistema sigue en marcha empleando los otros discos. La recuperación de un disco es transparente al usuario. 6
3.- Tipos de RAID. RAID 5(striping + paridad distribuida) La información del usuario se graba por bloques y de forma alternativa en todos los discos. Gracias a la información de paridad se puede restablecer la información pérdida. Está distribuida y se almacena en un disco distinto a los que almacenan cada serie de datos. Se aumenta la fiabilidad. Se necesita al menos tres discos. Qué ocurrirá si hay un error en uno de los discos? Se puede recuperar la información en tiempo real, sobre la marcha, sin que el servidor deje de funcionar. 7
4.- RAID Software: mdadm La herramienta mdadm (Multiple Devices admin) nos permite principalmente: 1.- Crear dispositivos RAID. 2.- Convertir un disco normal en un RAID. 8
4.- RAID Software: mdadm 1.- Instalación: Por defecto, esta herramienta no viene instalado, la instalamos: 9
4.- RAID Software: mdadm 1.- Instalación: 11
4.- RAID Software: mdadm 2.- Post instalación: Fichero de configuración. De momento no lo tocamos. El RAID puede funcionar correctamente sin necesidad de tocar este archivo. Ahora bien, para monitorizar el RAID, debemos configurarlo. Ya lo veremos en el último punto. 12
4.- RAID Software: mdadm 2.- Post instalación: Estado de los RAID De momento, no tenemos montado ningún RAID. 13
4.- RAID Software: mdadm 2.- Post instalación: Veamos si están cargado los módulos asociados a los RAID 14
5.- Montar un RAID 0 1.- Paramos la máquina virtual y añadimos dos discos duros idénticos: Disco_duro_2 200MB Disco_duro_3 200MB Disco_duro_1 es donde tenemos instalado el SO. 15
5.- Montar un RAID 0 2.- Utilizando la herramienta fdisk particionamos el Disco_duro_2 de forma que tenga dos particiones primarias de 50 MB y 150MB, respectivamente. Seleccionamos como tipo de partición fd, para indicar que se tratan de RAID, y de esta forma sean detectadas en el arranque. 16
5.- Montar un RAID 0 3.- A continuación, utilizando el comando sfdisk vamos a copiar la tabla de particiones del Disco_duro_2 al Disco_duro_3. 17
5.- Montar un RAID 0 4.- Creamos el RAID 0 con las particiones de 50MB. #mdadm - -create /dev/dm0 - -level=0 - -raid-devices=2 /dev/sdb1 /dev/sdc1 /dev/dm0 Es el nombre que le asignamos al RAID0. - -level=0 Especifica el tipo de RAID. - -raid-devices=2 Indica el número de dispositivos que forman el RAID. /dev/sdb1 /dev/sdc1 El nombre de los dispositivos que forman el RAID. Forma breve: #mdadm -C /dev/md0 -l0 -n2 /dev/sdb1 /dev/sdc1 18
5.- Montar un RAID 0. 5.- Comprobaciones 19
5.- Montar un RAID 0. 6.- Formatear el RAID 20
5.- Montar un RAID 0. 7.- Montamos el RAID 21
6.- Montar un RAID1 1.- Vamos a montar el RAID 1 con las dos particiones que nos quedan, las de 150MB. #mdadm - -create /dev/dm1 - -level=1 - -raid-devices=2 /dev/sdb2 /dev/sdc2 Forma breve: #mdadm -C /dev/md1 -l1 -n2 /dev/sdb2 /dev/sdc2 22
6.- Montar un RAID1 2.- Comprobaciones: 23
6.- Montar un RAID1 3.- Formateamos. 24
6.- Montar un RAID1 4.- Lo montamos: 25
7.- Montar un RAID1 con Hot Spare Un disco hot spare es un disco de reserva. Es una unidad preinstalada que pueden usarse inmediatamente (y casi siempre automáticamente) tras el fallo de un disco del RAID. Esto reduce el tiempo del período de reparación al acortar el tiempo de reconstrucción del RAID. 26
7.- Montar un RAID1 con Hot Spare 1.- Paramos la máquina e introducimos un nuevo disco duro que utilizaremos como hot spare. Disco_duro_3 200MB Disco_duro_2 200MB Disco_duro_1 es donde tenemos instalado el SO. RAID 0 /dev/sdb1 y /dev/sdc1 (50MB) RAID 1 /dev/sdb2 y /dev/sdc2 (150MB) Disco_duro_4 150MB hot spare 2.- Creamos una única partición primaria, de tipo fd, y la formateamos. 27
7.- Montar un RAID1 con Hot Spare 3.- Añadimos el nuevo disco, que se incorpora como hot spare. 28
11.- RESUMEN Crear un nuevo RAID mdadm C /dev/md0 -l1 -n2 /dev/sda1 /dev/sdb1 Monitorizar: Actualizar el fichero de configuración mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf Eliminar un disco del RAID Provocamos un fallo: mdadm /dev/md0 f /dev/sda1 Borramos el disco: mdadm /dev/md0 --remove /dev/sda1 mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1 Añadir un disco a un RAID mdadm /dev/md0 a /dev/sdb1 Verificar el estado de un RAID cat /proc/mdstat mdadm --detail /dev/md0 Parar un RAID mdadm --stop /dev/md0 29
11.- Resumen de comandos. 30