- Duración: 25 minutos
- Dificultad: Media
- Objetivo: Crear discos RAID 1 por software en Linux. También sustituiremos un disco fallido.
- Material: Lo haremos en máquina virtual para añadir discos con facilidad; todos los pasos son válidos para una máquina real, porque el sistema operativo no sabe que se está ejecutando en una máquina virtual.
1. Antes de arrancar la máquina virtual, crearemos los discos que queremos conectar. Entramos en VMware, seleccionamos nuestra máquina Virtual y hacemos clic derecho y pulsamos Settings… Hacemos clic en Add… y elegimos Hard Disk.
2. Dejamos la opción SCSI y pulsamos Next, dejamos la siguiente opción por defecto Create a new virtual disk y hacemos clic en Next.
3. Lo creamos de 0.100 GB, es decir 100 MB y pulsamos Next. El resto de opciones las dejamos por defecto.
4. Repetimos los pasos para disco2.
5. Arrancamos la máquina virtual.
6. Comprobamos que los discos duros añadidos se encuentran ahí.
7. Instalamos el paquete mdadm, que gestiona los dispositivos RAID por software. Veremos que, además del mdadm, vamos a instalar el servidor de correo postfix. Esto se debe a que el RAID se puede configurar para que avise por correo cuando ocurra un fallo.
# apt-get install mdadm
8. Creamos el RAID 1 con el comando:
# mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdb /dev/sdc
Donde /dev/md0 es el nombre del nuevo dispositivo RAID, level=1 indica un RAID 1, raid-devices=2 indica que son dos discos.
9. Comprobamos con fdisk-l que el nuevo dispositivo está disponible y tiene 100 MB, como los originales.
10. Ya podemos trabajar con él como un disco cualquiera. crear particiones con fdisk, formatearlo con mkfs, etc. Vamos a crear una partición, la formatearemos y meteremos un fichero de 50 MB. Para crear la partición usamos:
# fdisk /dev/md0
Este comando nos ofrece un menú con múltiples operaciones. Elegimos n para crear la nueva partición y en las opciones dejamos los valores por defecto (tipo p [primaria], número 1 y todos los sectores disponibles). Finalmente ejecutamos w para escribir los cambios al disco.
11. Si hacemos fdisk -l podemos ver el nuevo nombre asignado, es decir al anterior md0, se le suma p1, p (primaria) y 1 (número de partición)
12. Formatearemos la partición y la montaremos:
# mkfs /dev/md0p1
# mkdir /mnt/raid1
# mount /dev/md0p1 /mnt/raid1
Con estos tres comandos creamos el sistema de ficheros y lo montamos para empezar a usarlo.
13. Creamos un fichero de 50 MB
# dd if=/dev/zero of=/mnt/raid1/fich bs=512 count=100000
# ls –l /mnt/raid1
El primer comando crea el fichero de 50 MB aproximadamente (10 000 bloques de 512 bytes). Con el segundo comprobamos el resultado.
Con Gparted, comprobamos en un modo gráfico las particiones.
14. Para comprobar el estado del RAID tenemos el fichero /proc/mdstat. En nuestro caso nos muestra que tenemos un RAID md0, que está activo, de tipo raid1, cuyos componentes son sdc y sdb.
15. Si un disco falla, podemos quitarlo y el RAID se mantiene porque espera que lo sustituyamos por otro. Para ello primero hay que marcarlo como disco fallido y luego quitarlo del RAID. Vamos a hacerlo con el disco sdb. Los comandos son:
# mdadm /dev/md0 –fail /dev/sdb
# mdadm /dev/md0 –remove /dev/sdb
Después de cada comando consultamos el mdstat para comprobar qué ha ocurrido. En el primer caso se indica que el disco sdb ha fallado (F de Failed).
En el segundo comando ya no aparece sdb. En ambos casos la composición del RAID 1 aparece incompleta [ _ U].
16. Sin embargo, los datos siguen ahí. Si quisiéramos que el disco sdb volviera al RAID, primero habría que eliminar su configuración anterior (borrar el superbloque) y luego añadirlo. Los comandos son:
# mdadm –zero-superblock /dev/sdb
# mdadm /dev/md0 –add /dev/sdb
Como se ve en la Figura, después de añadir el disco se inicia un proceso de sincronización (recovery). Hasta que no ha terminado el RAID no recupera el estado [UU].
Anteriormente sdb tenía un valor [0], y ahora pasa a tener un valor [2]
17. Si queremos que los sistemas de ficheros creados en un RAID estén disponibles al arrancar, debemos incluirlos en el fstab, como es habitual.
18. Podemos desactivar temporalmente un RAID.
# mdadm –stop /dev/md0
El comando anterior necesita que el disco no esté siendo utilizado en ningún sistema de ficheros. Para ello lo tendremos que desmontar y ya podremos pararlo.
19. Activamos el RAID.
# mdadm -–assemble –scan
20. Pero como podemos comprobar está activo pero no está montado. Hay que montarlo de nuevo.
21. Si desmontados el raid desde un Linux con interfaz gráfica, automáticamente nos aparecerá un icono borroso en el escritorio del usuario que ha iniciado sesión.
22. Si hacemos doble clic sobre ese icono, el sistema montará el RAID sobre el /media del usuario y el icono ya no aparecerá borroso, creándose un acceso directo al contenido del volumen.