Introducción

La utilidad mdadmpuede utilizarse para crear y gestionar matrices de almacenamiento utilizando las capacidades RAID por software de Linux. Los administradores tienen una gran flexibilidad a la hora de coordinar sus dispositivos de almacenamiento individuales y crear dispositivos de almacenamiento lógicos que tengan un mayor rendimiento o características de redundancia.

En esta guía, repasaremos una serie de configuraciones RAID diferentes que se pueden establecer utilizando un servidor Ubuntu 16.04.

Requisitos previos

Para completar los pasos de esta guía, debe tener:

  • Un usuario no root con privilegios sudo en un servidor Ubuntu 16.04: Los pasos de esta guía se completarán con un usuario sudo. Para aprender a configurar una cuenta con estos privilegios, siga nuestra guía de configuración inicial del servidor Ubuntu 16.04.
  • Una comprensión básica de la terminología y los conceptos de RAID: Mientras que esta guía tocará alguna terminología RAID de pasada, una comprensión más completa es muy útil. Para aprender más acerca de RAID y para obtener una mejor comprensión de qué nivel de RAID es adecuado para usted, lea nuestro artículo de introducción a RAID.
  • Múltiples dispositivos de almacenamiento en bruto disponibles en su servidor: Vamos a demostrar cómo configurar varios tipos de matrices en el servidor. Como tal, usted necesitará algunas unidades para configurar. Si estás usando DigitalOcean, puedes usar volúmenes de almacenamiento en bloque para cumplir con este rol. Dependiendo del tipo de matriz, necesitará como mínimo entre dos y cuatro dispositivos de almacenamiento.

Reinstalación de dispositivos RAID existentes

A lo largo de esta guía, vamos a introducir los pasos para crear un número de diferentes niveles de RAID. Si desea seguir adelante, es probable que quiera reutilizar sus dispositivos de almacenamiento después de cada sección. Esta sección puede ser consultada para aprender a reiniciar rápidamente sus dispositivos de almacenamiento de componentes antes de probar un nuevo nivel RAID. Omita esta sección por ahora si aún no ha configurado ningún array.

Advertencia

Este proceso destruirá completamente el array y cualquier dato escrito en él. Asegúrese de que está operando en el array correcto y que ha copiado cualquier dato que necesite conservar antes de destruir el array.

Encuentre las matrices activas en el archivo /proc/mdstat escribiendo:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>

Desmonte la matriz del sistema de archivos:

  • sudo umount /dev/md0

A continuación, detenga y elimine la matriz escribiendo:

  • sudo mdadm --stop /dev/md0
  • sudo mdadm --remove /dev/md0

Encuentra los dispositivos que se utilizaron para construir el array con el siguiente comando:

Nota

¡Ten en cuenta que los nombres de/dev/sd*pueden cambiar cada vez que reinicies! Compruébalos cada vez para asegurarte de que estás operando en los dispositivos correctos.

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disk sdb 100G disk sdc 100G linux_raid_member disk sdd 100G linux_raid_member disk vda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Después de descubrir los dispositivos utilizados para crear un array, pon a cero su superbloque para restablecerlos a la normalidad:

  • sudo mdadm --zero-superblock /dev/sdc
  • sudo mdadm --zero-superblock /dev/sdd

Deberías eliminar cualquiera de las referencias persistentes al array. Edite el archivo /etc/fstab y comente o elimine la referencia a su matriz:

  • sudo nano /etc/fstab
/etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

También, comente o elimine la definición de la matriz del archivo /etc/mdadm/mdadm.conf:

  • sudo nano /etc/mdadm/mdadm.conf
/etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Por último, actualice de nuevo el initramfs:

  • sudo update-initramfs -u

En este punto, debería estar listo para reutilizar los dispositivos de almacenamiento individualmente, o como componentes de un array diferente.

Creación de un array RAID 0

El array RAID 0 funciona dividiendo los datos en trozos y repartiéndolos en los discos disponibles. Esto significa que cada disco contiene una parte de los datos y que se hará referencia a varios discos cuando se recupere la información.

  • Requisitos: un mínimo de 2 dispositivos de almacenamiento
  • Beneficio principal: Rendimiento
  • Cosas a tener en cuenta: Asegúrese de tener copias de seguridad funcionales. Un solo fallo del dispositivo destruirá todos los datos de la matriz.

Identificar los dispositivos componentes

Para empezar, busque los identificadores de los discos en bruto que va a utilizar:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Como puede ver arriba, tenemos dos discos sin sistema de archivos, cada uno de 100G de tamaño. En este ejemplo, estos dispositivos han recibido los identificadores /dev/sda y /dev/sdb para esta sesión. Estos serán los componentes en bruto que utilizaremos para construir el array.

Crear el Array

Para crear un array RAID 0 con estos componentes, pásalos al comando mdadm --create. Tendrás que especificar el nombre del dispositivo que deseas crear (/dev/md0 en nuestro caso), el nivel RAID y el número de dispositivos:

  • sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

Puedes asegurarte de que el RAID se ha creado con éxito comprobando el archivo /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>

Como puedes ver en la línea resaltada, el dispositivo /dev/md0 se ha creado en la configuración RAID 0 utilizando los dispositivos /dev/sda y /dev/sdb.

Crear y montar el sistema de archivos

A continuación, cree un sistema de archivos en la matriz:

  • sudo mkfs.ext4 -F /dev/md0

Cree un punto de montaje para adjuntar el nuevo sistema de archivos:

  • sudo mkdir -p /mnt/md0

Puedes montar el sistema de archivos escribiendo:

  • sudo mount /dev/md0 /mnt/md0

Comprueba si el nuevo espacio está disponible escribiendo:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

El nuevo sistema de archivos está montado y accesible.

Guardar la disposición del array

Para asegurarnos de que el array se reensambla automáticamente en el arranque, tendremos que ajustar el fichero /etc/mdadm/mdadm.conf. Puedes escanear automáticamente el array activo y añadir el archivo escribiendo:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Después, puedes actualizar el initramfs, o sistema de archivos RAM inicial, para que el array esté disponible durante el proceso de arranque temprano:

  • sudo update-initramfs -u

Añade las nuevas opciones de montaje del sistema de archivos al archivo /etc/fstab para que se monte automáticamente en el arranque:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Tu array RAID 0 debería ahora montarse automáticamente en cada arranque.

Creación de una matriz RAID 1

El tipo de matriz RAID 1 se implementa duplicando los datos en todos los discos disponibles. Cada disco de una matriz RAID 1 obtiene una copia completa de los datos, proporcionando redundancia en caso de fallo de un dispositivo.

  • Requisitos: un mínimo de 2 dispositivos de almacenamiento
  • Beneficio principal: Redundancia
  • Cosas a tener en cuenta: Dado que se mantienen dos copias de los datos, sólo la mitad del espacio del disco será utilizable

Identificar los dispositivos componentes

Para empezar, busque los identificadores de los discos en bruto que va a utilizar:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Como puede ver arriba, tenemos dos discos sin sistema de archivos, cada uno de 100G de tamaño. En este ejemplo, estos dispositivos han recibido los identificadores /dev/sda y /dev/sdb para esta sesión. Estos serán los componentes en bruto que utilizaremos para construir el array.

Crear el Array

Para crear un array RAID 1 con estos componentes, pásalos al comando mdadm --create. Tendrá que especificar el nombre del dispositivo que desea crear (/dev/md0 en nuestro caso), el nivel RAID y el número de dispositivos:

  • sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Si los dispositivos de los componentes que está utilizando no son particiones con la bandera boot activada, probablemente recibirá la siguiente advertencia. Es seguro escribir y para continuar:

Output
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90mdadm: size set to 104792064KContinue creating array? y

La herramienta mdadm empezará a reflejar las unidades. Esto puede tardar algún tiempo en completarse, pero el array puede ser utilizado durante este tiempo. Puede supervisar el progreso de la duplicación comprobando el archivo /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid1 sdb sda 104792064 blocks super 1.2 resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/secunused devices: <none>

Como puede ver en la primera línea resaltada, el dispositivo /dev/md0 se ha creado en la configuración RAID 1 utilizando los dispositivos /dev/sda y /dev/sdb. La segunda línea resaltada muestra el progreso de la duplicación. Puede continuar la guía mientras se completa este proceso.

Crear y montar el sistema de archivos

A continuación, cree un sistema de archivos en la matriz:

  • sudo mkfs.ext4 -F /dev/md0

Cree un punto de montaje para adjuntar el nuevo sistema de archivos:

  • sudo mkdir -p /mnt/md0

Puedes montar el sistema de archivos escribiendo:

  • sudo mount /dev/md0 /mnt/md0

Comprueba si el nuevo espacio está disponible escribiendo:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 99G 60M 94G 1% /mnt/md0

El nuevo sistema de archivos está montado y accesible.

Guardar la disposición del array

Para asegurarnos de que el array se reensambla automáticamente en el arranque, tendremos que ajustar el fichero /etc/mdadm/mdadm.conf. Puedes escanear automáticamente el array activo y añadir el archivo escribiendo:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Después, puedes actualizar el initramfs, o sistema de archivos RAM inicial, para que el array esté disponible durante el proceso de arranque temprano:

  • sudo update-initramfs -u

Añade las nuevas opciones de montaje del sistema de archivos al archivo /etc/fstab para que se monte automáticamente en el arranque:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Tu array RAID 1 debería ahora montarse automáticamente en cada arranque.

Creación de una matriz RAID 5

El tipo de matriz RAID 5 se implementa dividiendo los datos en franjas entre los dispositivos disponibles. Un componente de cada franja es un bloque de paridad calculado. Si un dispositivo falla, el bloque de paridad y los bloques restantes pueden utilizarse para calcular los datos que faltan. El dispositivo que recibe el bloque de paridad se rota para que cada dispositivo tenga una cantidad equilibrada de información de paridad.

  • Requisitos: un mínimo de 3 dispositivos de almacenamiento
  • Beneficio principal: Redundancia con más capacidad utilizable.
  • Cosas a tener en cuenta: Aunque la información de paridad se distribuye, se utilizará la capacidad de un disco para la paridad. El RAID 5 puede sufrir un rendimiento muy pobre cuando se encuentra en un estado degradado.

Identificar los dispositivos componentes

Para empezar, encuentre los identificadores de los discos en bruto que va a utilizar:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Como puede ver arriba, tenemos tres discos sin sistema de archivos, cada uno de 100G de tamaño. En este ejemplo, estos dispositivos han recibido los identificadores /dev/sda, /dev/sdb y /dev/sdc para esta sesión. Estos serán los componentes en bruto que utilizaremos para construir el array.

Crear el Array

Para crear un array RAID 5 con estos componentes, pásalos al comando mdadm --create. Tendrás que especificar el nombre del dispositivo que deseas crear (/dev/md0 en nuestro caso), el nivel RAID y el número de dispositivos:

  • sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

La herramienta mdadm comenzará a configurar el array (en realidad utiliza el proceso de recuperación para construir el array por razones de rendimiento). Esto puede tardar algún tiempo en completarse, pero el array puede ser utilizado durante este tiempo. Puede supervisar el progreso de la duplicación comprobando el archivo /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/secunused devices: <none>

Como puede ver en la primera línea resaltada, el dispositivo /dev/md0 ha sido creado en la configuración RAID 5 utilizando los dispositivos /dev/sda, /dev/sdb y /dev/sdc. La segunda línea resaltada muestra el progreso en la construcción. Puede continuar la guía mientras se completa este proceso.

Crear y montar el sistema de archivos

A continuación, cree un sistema de archivos en la matriz:

  • sudo mkfs.ext4 -F /dev/md0

Cree un punto de montaje para adjuntar el nuevo sistema de archivos:

  • sudo mkdir -p /mnt/md0

Puedes montar el sistema de archivos escribiendo:

  • sudo mount /dev/md0 /mnt/md0

Comprueba si el nuevo espacio está disponible escribiendo:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

El nuevo sistema de archivos está montado y accesible.

Guardar la disposición del array

Para asegurarnos de que el array se reensambla automáticamente en el arranque, tendremos que ajustar el fichero /etc/mdadm/mdadm.conf.

Antes de ajustar la configuración, comprueba de nuevo que el array ha terminado de ensamblarse. Debido a la forma en que mdadm construye las matrices RAID 5, si la matriz todavía se está construyendo, el número de repuestos en la matriz se informará de forma inexacta:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>

La salida anterior muestra que la reconstrucción se ha completado. Ahora, podemos escanear automáticamente el array activo y añadir el archivo escribiendo:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Después, puedes actualizar el initramfs, o sistema de archivos RAM inicial, para que el array esté disponible durante el proceso de arranque temprano:

  • sudo update-initramfs -u

Añade las nuevas opciones de montaje del sistema de archivos al archivo /etc/fstab para que se monte automáticamente en el arranque:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Tu array RAID 5 debería ahora montarse automáticamente en cada arranque.

Creación de una matriz RAID 6

El tipo de matriz RAID 6 se implementa dividiendo los datos en franjas en los dispositivos disponibles. Dos componentes de cada franja son bloques de paridad calculados. Si uno o dos dispositivos fallan, los bloques de paridad y los bloques restantes pueden utilizarse para calcular los datos que faltan. Los dispositivos que reciben los bloques de paridad se rotan para que cada dispositivo tenga una cantidad equilibrada de información de paridad. Esto es similar a una matriz RAID 5, pero permite el fallo de dos unidades.

  • Requisitos: un mínimo de 4 dispositivos de almacenamiento
  • Beneficio principal: doble redundancia con más capacidad utilizable.
  • Cosas a tener en cuenta: Mientras se distribuye la información de paridad, se utilizará la capacidad de dos discos para la paridad. El RAID 6 puede sufrir un rendimiento muy pobre cuando se encuentra en un estado degradado.

Identificar los dispositivos componentes

Para empezar, encuentre los identificadores de los discos en bruto que va a utilizar:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Como puede ver arriba, tenemos cuatro discos sin sistema de archivos, cada uno de 100G de tamaño. En este ejemplo, estos dispositivos han recibido los identificadores /dev/sda, /dev/sdb, /dev/sdc y /dev/sdd para esta sesión. Estos serán los componentes en bruto que utilizaremos para construir el array.

Crear el Array

Para crear un array RAID 6 con estos componentes, pásalos al comando mdadm --create. Tendrás que especificar el nombre del dispositivo que deseas crear (/dev/md0 en nuestro caso), el nivel RAID y el número de dispositivos:

  • sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

La herramienta mdadm comenzará a configurar el array (en realidad utiliza el proceso de recuperación para construir el array por razones de rendimiento). Esto puede tardar algún tiempo en completarse, pero el array puede ser utilizado durante este tiempo. Puede supervisar el progreso de la duplicación comprobando el archivo /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid6 sdd sdc sdb sda 209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/secunused devices: <none>

Como puede ver en la primera línea resaltada, el dispositivo /dev/md0 ha sido creado en la configuración RAID 6 utilizando los dispositivos /dev/sda, /dev/sdb, /dev/sdc y /dev/sdd. La segunda línea resaltada muestra el progreso en la construcción. Puedes continuar la guía mientras se completa este proceso.

Crear y montar el sistema de archivos

A continuación, cree un sistema de archivos en la matriz:

  • sudo mkfs.ext4 -F /dev/md0

Cree un punto de montaje para adjuntar el nuevo sistema de archivos:

  • sudo mkdir -p /mnt/md0

Puedes montar el sistema de archivos escribiendo:

  • sudo mount /dev/md0 /mnt/md0

Comprueba si el nuevo espacio está disponible escribiendo:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

El nuevo sistema de archivos está montado y accesible.

Guardar la disposición del array

Para asegurarnos de que el array se reensambla automáticamente en el arranque, tendremos que ajustar el fichero /etc/mdadm/mdadm.conf. Podemos escanear automáticamente el array activo y añadir el archivo escribiendo:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Después, puedes actualizar el initramfs, o sistema de archivos RAM inicial, para que el array esté disponible durante el proceso de arranque temprano:

  • sudo update-initramfs -u

Añade las nuevas opciones de montaje del sistema de archivos al archivo /etc/fstab para que se monte automáticamente en el arranque:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Tu array RAID 6 debería ahora montarse automáticamente en cada arranque.

Creación de una matriz RAID 10 compleja

El tipo de matriz RAID 10 se implementa tradicionalmente creando una matriz RAID 0 rayada compuesta por conjuntos de matrices RAID 1. Este tipo de matriz anidada proporciona tanto redundancia como alto rendimiento, a expensas de grandes cantidades de espacio en disco. La utilidad mdadm tiene su propio tipo de RAID 10 que proporciona el mismo tipo de beneficios con mayor flexibilidad. No se crea anidando matrices, pero tiene muchas de las mismas características y garantías. Aquí utilizaremos el mdadm RAID 10.

  • Requisitos: un mínimo de 3 dispositivos de almacenamiento
  • Beneficio principal: Rendimiento y redundancia
  • Cosas a tener en cuenta: La cantidad de reducción de la capacidad del array se define por el número de copias de datos que se decida mantener. El número de copias que se almacenan con mdadm estilo RAID 10 es configurable.

Por defecto, se almacenarán dos copias de cada bloque de datos en lo que se llama la disposición «cercana». Las posibles disposiciones que dictan cómo se almacena cada bloque de datos son:

  • near: La disposición por defecto. Las copias de cada trozo se escriben de forma consecutiva cuando se hace striping, lo que significa que las copias de los bloques de datos se escribirán en la misma parte de varios discos.
  • lejos: La primera y las siguientes copias se escriben en diferentes partes los dispositivos de almacenamiento del array. Por ejemplo, el primer trozo podría escribirse cerca del principio de un disco, mientras que el segundo trozo se escribiría a mitad de camino en un disco diferente. Esto puede dar algunas ganancias de rendimiento de lectura para los discos giratorios tradicionales a expensas del rendimiento de escritura.
  • offset: Cada franja se copia con un desplazamiento de una unidad. Esto significa que las copias están desplazadas unas de otras, pero siguen estando juntas en el disco. Esto ayuda a minimizar la búsqueda excesiva durante algunas cargas de trabajo.

Puede encontrar más información sobre estas disposiciones consultando la sección «RAID10» de esta página man:

  • man 4 md

También puede encontrar esta página man en línea aquí.

Identificar los dispositivos componentes

Para empezar, busca los identificadores de los discos en bruto que vas a utilizar:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Como puedes ver arriba, tenemos cuatro discos sin sistema de archivos, cada uno de 100G de tamaño. En este ejemplo, estos dispositivos han recibido los identificadores /dev/sda, /dev/sdb, /dev/sdc y /dev/sdd para esta sesión. Estos serán los componentes en bruto que utilizaremos para construir el array.

Crear el Array

Para crear un array RAID 10 con estos componentes, pásalos al comando mdadm --create. Tendrá que especificar el nombre del dispositivo que desea crear (/dev/md0 en nuestro caso), el nivel RAID y el número de dispositivos.

Puede configurar dos copias utilizando la disposición cercana sin especificar una disposición y un número de copia:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Si desea utilizar una disposición diferente, o cambiar el número de copias, tendrá que utilizar la opción --layout=, que toma un identificador de disposición y de copia. Las disposiciones son n para cerca, f para lejos, y o para desplazamiento. El número de copias a almacenar se añade después.

Por ejemplo, para crear un array que tenga 3 copias en la disposición offset, el comando sería así:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

La herramienta mdadm comenzará a configurar el array (en realidad utiliza el proceso de recuperación para construir el array por razones de rendimiento). Esto puede tomar algún tiempo para completar, pero el array puede ser utilizado durante este tiempo. Puede supervisar el progreso de la duplicación comprobando el archivo /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid10 sdd sdc sdb sda 209584128 blocks super 1.2 512K chunks 2 near-copies resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/secunused devices: <none>

Como puede ver en la primera línea resaltada, el dispositivo /dev/md0 ha sido creado en la configuración RAID 10 utilizando los dispositivos /dev/sda, /dev/sdb, /dev/sdc y /dev/sdd. La segunda área resaltada muestra la disposición que se utilizó para este ejemplo (2 copias en la configuración cercana). La tercera área resaltada muestra el progreso de la construcción. Puede continuar la guía mientras se completa este proceso.

Crear y montar el sistema de archivos

A continuación, cree un sistema de archivos en la matriz:

  • sudo mkfs.ext4 -F /dev/md0

Cree un punto de montaje para adjuntar el nuevo sistema de archivos:

  • sudo mkdir -p /mnt/md0

Puedes montar el sistema de archivos escribiendo:

  • sudo mount /dev/md0 /mnt/md0

Comprueba si el nuevo espacio está disponible escribiendo:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

El nuevo sistema de archivos está montado y accesible.

Guardar la disposición del array

Para asegurarnos de que el array se reensambla automáticamente en el arranque, tendremos que ajustar el fichero /etc/mdadm/mdadm.conf. Podemos escanear automáticamente el array activo y añadir el archivo escribiendo:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Después, puedes actualizar el initramfs, o sistema de archivos RAM inicial, para que el array esté disponible durante el proceso de arranque temprano:

  • sudo update-initramfs -u

Añade las nuevas opciones de montaje del sistema de archivos al archivo /etc/fstab para que se monte automáticamente en el arranque:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Tu array RAID 10 debería ahora montarse automáticamente en cada arranque.

Conclusión

En esta guía, hemos demostrado cómo crear varios tipos de matrices utilizando la utilidad de software RAID de Linux mdadm. Las matrices RAID ofrecen algunas mejoras convincentes de redundancia y rendimiento en comparación con el uso de varios discos de forma individual.

Una vez que haya decidido el tipo de matriz necesaria para su entorno y haya creado el dispositivo, tendrá que aprender a realizar la gestión diaria con mdadm. Nuestra guía sobre cómo gestionar matrices RAID con mdadm en Ubuntu 16.04 puede ayudarle a empezar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.