LinuxParty
(Redundant Array of Independent Disks) Matriz redundante de discos independientes (RAID) es una tecnología de almacenamiento que combina varios discos duros en una sola unidad lógica para proporcionar tolerancia a fallos y / o mejorar el rendimiento I / O del disco. Dependiendo de cómo se almacenan los datos en una matriz de discos (por ejemplo, con la creación de bandas, lo que refleja, la paridad, o cualquier combinación de los mismos), los diferentes niveles de RAID se definen (por ejemplo, RAID-0, RAID-1, RAID-5, etc). RAID puede ser implementado tanto en software o con una tarjeta de hardware RAID. En los modernos Linux, la funcionalidad básica del software RAID está disponible por defecto.
En este post, vamos a discutir la configuración del software de un array RAID-1 (también conocida como matriz "mirroring"), donde los datos idénticos se escriben en los dos dispositivos que forman la matriz. Si bien es posible implementar RAID-1 con particiones en un solo disco duro físico (como con otros niveles RAID), no será de mucha utilidad si ese único disco duro falla. De hecho, es por eso que la mayoría de los niveles de RAID normalmente utilizan varias unidades físicas para proporcionar redundancia. En caso de fallo del disco único, el dispositivo de bloque RAID virtual debe seguir funcionando sin problemas, y nos permitirá reemplazar la unidad defectuosa sin paradas de producción significativa y, más importante, sin pérdida de datos. Sin embargo, no reemplaza la necesidad de guardar copias de seguridad periódicas del sistema de almacenamiento externo.
Dado que la capacidad real de almacenamiento (tamaño) de una matriz RAID-1 es el tamaño de la unidad menor, normalmente (aunque no siempre) se dará cuenta de dos unidades físicas idénticas en RAID-1 configuración.
Instalación mdadm en Linux
La herramienta que vamos a utilizar para crear, montar, administrar y supervisar nuestro software RAID-1 se llama mdadm (abreviatura de m ultiple d iesgos ADM). En distribuciones Linux como Fedora, CentOS, RHEL o Arch Linux, mdadm está disponible por defecto. En distros basadas en Debian, mdadm se puede instalar con aptitud o apt-get.
Fedora, CentOS o RHEL
Como mdadm viene pre-instalado, todo lo que tienes que hacer es iniciar el servicio de monitoreo de RAID, y configurarlo para que se inicie automáticamente en el arranque:
# systemctl start mdmonitor # systemctl enable mdmonitor
Para CentOS / RHEL 6, utilice estos comandos en su lugar:
# service mdmonitor start # chkconfig mdmonitor on
Debian, Ubuntu o Linux Mint
En Debian y sus derivados, mdadm se puede instalar con aptitud o apt-get:
# aptitude install mdadm
En Ubuntu, se le pedirá configurar postfix MTA para el envío de notificaciones por correo electrónico (como parte del seguimiento de RAID). Puede saltar todo por ahora.
En Debian, la instalación se iniciará con el siguiente mensaje explicativo para ayudarnos a decidir si o no vamos a instalar el sistema de archivos raíz en un array RAID. Lo que necesitamos para entrar en la siguiente pantalla dependerá de la decisión. Léalo detenidamente:
Ya que no utilizaremos nuestra RAID-1 para el sistema de ficheros raíz, vamos a dejar la respuesta en blanco:
Cuando preguntamos si queremos empezar (reensamblar) nuestra array automáticamente en cada inicio, seleccione "Sí". Tenga en cuenta que tendrá que añadir una entrada al archivo /etc /fstab tarde para que el conjunto sea montado correctamente durante el proceso de arranque también.
Particionando el disco duro
Ahora es el momento de preparar los dispositivos físicos que se utilizarán en nuestra matriz. Para esta configuración, He conectado dos unidades USB de 8 GB que se han identificado como / dev / sdb y / dev / sdc de salida de dmesg:
# dmesg | less [ 60.014863] sd 3:0:0:0: [sdb] 15826944 512-byte logical blocks: (8.10 GB/7.54 GiB) [ 75.066466] sd 4:0:0:0: [sdc] 15826944 512-byte logical blocks: (8.10 GB/7.54 GiB)
Vamos a utilizar fdisk para crear una partición primaria en cada disco que ocupará la totalidad de su tamaño. Los siguientes pasos muestran cómo realizar esta tarea en / dev / sdb, y se supone que esta unidad no se ha dividido aún (de lo contrario, podemos borrar la partición existente (s) para empezar con un disco limpio):
Pulse 'p' para imprimir la tabla de particiones actual:
# fdisk /dev/sdb
(Si se encuentran uno o más particiones, se pueden eliminar con la opción 'd'. Entonces 'w' opción se utiliza para aplicar los cambios).
Puesto que se encuentran, sin particiones, vamos a crear una nueva partición primaria ['n'] como una partición primaria ['p'], asigne el número de partición = ['1'] a él, y luego indicar su tamaño. Puede pulsar la tecla Intro para aceptar los valores por defecto propuestos, o introduzca un valor de su elección, como se muestra en la imagen de abajo.
Ahora repita el mismo proceso para /dev/sdc.
Si tenemos dos unidades de distintos tamaños, digamos 750 GB y 1 TB por ejemplo, debemos crear una partición primaria de 750 GB en cada uno de ellos, y usar el espacio restante en la unidad más grande para otro propósito, independiente de la matriz RAID.
Crear un array RAID-1
Una vez que haya terminado con la creación de la partición primaria en cada unidad, utilice el comando siguiente para crear una matriz RAID-1:
# mdadm -Cv /dev/md0 -l1 -n2 /dev/sdb1 /dev/sdc1
Donde:
- -Cv: Crea un array y produce verbose output.
- /dev/md0: es el nombre del array.
- -l1 (l es "level" -nivel-): Indica que el nivel será un array RAID-1.
- -n2: indica que vamos a añadir dos particiones a la matriz, es decir, /dev/sdb1 y /dev/sdc1.
El comando anterior es equivalente a:
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Si, alternativamente, usted desea agregar un dispositivo de repuesto para reemplazar un disco defectuoso en el futuro, puede agregar: '--spare-devices=1 /dev/sdd1'
al comando anterior.
Conteste "y" cuando se le solicite si desea continuar con la creación de una matriz, a continuación, presione Entrar:
Usted puede comprobar el progreso con el siguiente comando:
# cat /proc/mdstat
Otra forma de obtener más información sobre un array RAID (tanto mientras está siendo ensamblado y después de finalizado el proceso) es:
# mdadm --query /dev/md0 # mdadm --detail /dev/md0 (or mdadm -D /dev/md0)
De la información proporcionada por '-D mdadm', quizás el más útil es la que muestra el estado de la matriz. El estado activo significa que en la actualidad existe actividad de I / O sucediendo. Otros estados posibles están limpias (toda la actividad de E / S se ha completado), degradada (uno de los dispositivos es defectuoso o que falta), la resincronización (el sistema se está recuperando de un cierre sucio, como un corte de energía), o en recuperación (una nueva unidad ha sido añadido a la matriz, y los datos se están copiadas de la otra unidad en él), por nombrar los estados más comunes.
Formateo y montaje de una matriz RAID
El siguiente paso está formateando (con ext4 en este ejemplo) la matriz:
# mkfs.ext4 /dev/md0
Ahora vamos a montar la matriz, y verifique que se montó correctamente:
# mount /dev/md0 /mnt # mount
Supervisar una matriz RAID
La herramienta mdadm viene con capacidad de supervisión RAID incorporado. Cuando mdadm está configurado para ejecutarse como un demonio (que es el caso de nuestra configuración RAID), que periódicamente encuestas arrays RAID, y los informes sobre los eventos detectados existentes a través de correo electrónico de notificación o registro de syslog . Opcionalmente, también se puede configurar para invocar comandos de contingencia (por ejemplo, reintentar o quitar un disco) al detectar los errores críticos.
Por defecto, mdadm escanea todas las particiones existentes y los grupos MD, y registra cualquier evento detectado en / var / log / syslog. Alternativamente, puede especificar los dispositivos y matrices RAID para escanear en mdadm.conf situado en /etc/mdadm/mdadm.conf (basado en Debian) o /etc/mdadm.conf (basado en RedHat), en el siguiente formato. Si mdadm.conf no existe, cree uno.
DEVICE /dev/sd[bcde]1 /dev/sd[ab]1
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
ARRAY /dev/md1 devices=/dev/sdd1,/dev/sde1
.....
# optional email address to notify events
MAILADDR Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Después de modificar la configuración de mdadm, reinicie el demonio mdadm:
En Debian, Ubuntu o Linux Mint:
# service mdadm restart
En Fedora, CentOS / RHEL 7:
# systemctl restart mdmonitor
En CentOS / RHEL 6:
# service mdmonitor restart
Auto-montar una matriz RAID
Ahora vamos a añadir una entrada en el archivo / etc / fstab para montar la matriz en / mnt automáticamente durante el arranque (se puede especificar cualquier otro punto de montaje):
# echo "/dev/md0 /mnt ext4 defaults 0 2" >> /etc/fstab
Para verificar que el monte funciona bien, ahora desmontar la matriz, mdadm reiniciar y volver a montar. Podemos ver que / dev / md0 se ha montado según la entrada que acaba de agregar a / etc / fstab:
# umount /mnt # service mdadm restart (on Debian, Ubuntu or Linux Mint) or systemctl restart mdmonitor (on Fedora, CentOS/RHEL7) or service mdmonitor restart (on CentOS/RHEL6) # mount -a
Ahora estamos listos para acceder a la matriz RAID a través de / mnt punto de montaje. Para probar la matriz, copiaremos el fichero / etc / passwd (cualquier otro archivo va a hacer) en /mnt:
En Debian, necesitamos decirle al demonio mdadm para iniciar automáticamente el array RAID durante el arranque mediante la variable AUTOSTART en true en el archivo de mdadm /etc/default /:
AUTOSTART=true
La simulación de fallos de la unidad
Vamos a simular una unidad defectuosa y retírela con los siguientes comandos. Tenga en cuenta que en un escenario de la vida real, no es necesario marcar un dispositivo como defectuosa en primer lugar, como ya estará en ese estado en el caso de un fracaso.
En primer lugar, desmontar la matriz:
# umount /mnt
Ahora, observe cómo la salida de 'mdadm -D / dev / md0' indica los cambios después de la realización de cada comando a continuación.
# mdadm /dev/md0 --fail /dev/sdb1 #Marks /dev/sdb1 as faulty # mdadm --remove /dev/md0 /dev/sdb1 #Removes /dev/sdb1 from the array
Después, cuando se tiene una nueva unidad para la sustitución, vuelva a agregar de nuevo la unidad:
# mdadm /dev/md0 --add /dev/sdb1
Los datos a continuación, se inicia de inmediato que ser reconstruido en / dev / sdb1:
Tenga en cuenta que los pasos detallados anteriormente se aplican para los sistemas con discos intercambiables en caliente. Si usted no tiene este tipo de tecnología, también tendrá que dejar una matriz actual, y apagar el sistema en primer lugar con el fin de sustituir la pieza:
# mdadm --stop /dev/md0 # shutdown -h now
A continuación, agregue la nueva unidad y volver a montar la matriz:
# mdadm /dev/md0 --add /dev/sdb1 # mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
Espero que esto le ayude.
-
RAID
- Configurar RAID Nivel 6 (Stripe con doble paridad distribuida) en Linux
- Cómo configurar el software RAID 1 en un sistema en funcionamiento.
- Almacenamiento RAID 5 virtual usando Internet como soporte
- Recuperar datos de particiones de RAID1 LVM
- Remplazar un Disco Duro averiado en un RAID1
- Cómo crear tu server de mirroring RAID-1 en Linux
- Cómo configurar el software RAID 1, corriendo sobre un sistema LVM (incluida la
- Cómo utilizar LVM para migrar a un sistema de archivos a un RAID
- Cómo configurar el software RAID 1, en un sistema en explotación. (Debian Lenny)
- Cómo configurar RAID 1 por software en un sistema LVM en ejecución (Ubuntu 10.04
- Cómo configurar RAID 1 por software en un sistema de ejecución (Ubuntu 10.04)
- Configurar RAID 1 por Software en un Sistema en ejecución LVM (Debian Squeeze)
- Crear un RAID en Linux.
- Configurar el Software RAID1 en un sistema LVM en funcionamiento
- Crear y migrar LVM con varios filesystems en un dispositivo RAID Linux