LINUX

Cómo crear Linux RAID 1 (espejo) usando Mdadm

RAID significa Matriz redundante de discos independientes (o económicos). Es un mecanismo para una combinación lógica de dos o más discos para proporcionar tolerancia a fallas y actualizaciones de rendimiento.

Las diferentes arquitecturas en las que se proporcionan estas funcionalidades se denominan niveles RAID. Los niveles de RAID van de 0 a 6.

Este tutorial muestra cómo crear RAID 1 usando niveles y cómo puede configurar RAID 1 usando mdadm en Linux.

Antes de comenzar a crear un raid de Linux 1, verifiquemos cuáles son los diferentes niveles de RAID:

RAID 0 (división de discos)

Los dispositivos RAID 0 dividen los datos en dos o más discos. Los dos discos funcionan de forma independiente para proporcionar un mejor rendimiento.

RAID 1 (espejo)

Los dos discos son idénticos entre sí en RAID 1. Los datos se escriben simultáneamente en ambos discos. Por lo tanto, los dos son imágenes especulares el uno del otro. La tolerancia a fallos se proporciona con RAID 1, porque si un disco deja de funcionar, los datos se pueden recuperar de la copia (es decir, la otra unidad).

RAID 2 (creación de bandas a nivel de bits con paridad de código Hamming dedicada)

Los datos se eliminan a nivel de bit en lugar de a nivel de byte o bloque.

RAID 3 (creación de bandas a nivel de bytes con paridad dedicada)

La eliminación se realiza a nivel de bytes. Todos los datos se almacenan de manera que los bytes secuenciales se encuentran en diferentes discos.

RAID 4 (creación de bandas a nivel de bloque con paridad dedicada)

Proporciona bandas de nivel de bloque como RAID 0 con un disco de paridad.

RAID 5 (creación de bandas a nivel de bloque con paridad distribuida)

Esto es similar a RAID 4 pero la información de paridad también está seccionada.

RAID 6 (creación de bandas a nivel de bloque con paridad distribuida doble)

Al igual que en RAID 5, la división de las unidades de datos se realiza a nivel de bloque y la información de paridad está dividida. Pero hay dos bloques de paridad por franja.

RAID 10 (RAID 1 + 0)

Los datos se seccionan y se crean espejos RAID 1 sobre ellos. Requiere al menos 4 unidades, dos para la creación de bandas y dos para la duplicación.

Mdadm Crear RAID 1

La duplicación del disco se puede simular en un entorno de software. La herramienta utilizada en Linux para crear software RAID es mdadm.

La utilidad mdadm se puede utilizar para crear, administrar y monitorear arreglos MD (discos múltiples) para RAID de software o E / S de múltiples rutas. En primer lugar, asegúrese de que mdadm esté presente en la caja de Linux. Si no está instalado, instale el paquete.

Instalación de mdadm

En distribuciones Linux basadas en Red Hat (RHEL / Fedora / CentOS) siguiendo la arquitectura rpm:

# sudo yum install mdadm

En distribuciones basadas en Debian como Ubuntu y LinuxMint:

$ sudo apt-get install mdadm

Particiones de disco para duplicación RAID

Necesitamos dos particiones idénticas para crear RAID 1 con mdadm. De lo contrario, si el tamaño de dos particiones es desigual, el tamaño utilizable será el más pequeño.

Así que ahora creamos dos particiones con el comando fdisk de tipo software RAID:

# fdisk /dev/sda

The number of cylinders for this disk is set to 2088.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 650 5116702+ 83 Linux
/dev/sda3 651 2088 11550735 5 Extended

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (651-2088, default 651):
Using default value 651
Last cylinder or +size or +sizeM or +sizeK (651-2088, default 2088): +400M

Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (701-2088, default 701):
Using default value 701
Last cylinder or +size or +sizeM or +sizeK (701-2088, default 2088): +400M

Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): fd
Changed system type of partition 6 to fd (Linux raid autodetect)

Command (m for help): p

Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 650 5116702+ 83 Linux
/dev/sda3 651 2088 11550735 5 Extended
/dev/sda5 651 700 401593+ fd Linux raid autodetect
/dev/sda6 701 750 401593+ fd Linux raid autodetect

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Aquí estamos implementando software RAID en dos particiones. Si tiene dos discos idénticos diferentes, puede hacer lo mismo. Simplemente repita los pasos para crear una partición y asignarle un ID para los dos discos.

Crear matriz reflejada

Ahora que nuestros dispositivos están listos, podemos proceder a crear el espejo RAID.

# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda5 /dev/sda6
mdadm: array /dev/md1 started.

/ Proc / mdstat contiene las estadísticas del dispositivo md (RAID). Podemos ver el estado actual del dispositivo viendo el contenido de este archivo.

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda6[1] sda5[0]
401472 blocks [2/2] [UU]
[===================>.] resync = 96.1% (387712/401472) finish=0.0min speed=77542K/sec

unused devices:

Ahora que el dispositivo RAID está listo, debemos formatearlo.

Cree un sistema de archivos en un dispositivo RAID

Formatearemos el dispositivo RAID con el sistema de archivos ext3. El comando utilizado para formatear el dispositivo con el sistema de archivos ext3 es mkfs.ext3. Si desea formatearlo con el sistema de archivos ext2 o ext4, puede usar el comando mkfs.ext2 o mkfs.ext4 respectivamente.

# mkfs.ext3 /dev/md1
mke2fs 1.39 (29-May-2006)
warning: 63 blocks unused.

Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
100744 inodes, 401409 blocks
20073 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
49 block groups
8192 blocks per group, 8192 fragments per group
2056 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Monte el dispositivo

Ahora nuestro dispositivo está listo para ser utilizado. Para usarlo realmente, necesitamos montarlo. Creamos un directorio para montar este dispositivo y creamos una entrada en el archivo / etd / fstab para montarlo automáticamente al arrancar.

# mkdir /raid-mirror
# mount /dev/md1 /raid-mirror

Podemos crear archivos en el nuevo dispositivo.

# touch /raid-mirror/file1.txt

Ahora necesitamos modificar / etc / fstab para montar automáticamente el dispositivo al arrancar. Podemos agregar la entrada con el comando echo

# echo "/dev/md1 /raid-mirror ext3 defaults 0 0" >> /etc/fstab

Ahora puede desmontar el dispositivo y ejecutar el comando ‘mount -a’ para verificar si todo está bien. Este comando leerá todas las entradas del archivo / etc / fstab y montará el dispositivo.

# umount /raid-mirror/
# mount -a
# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/md1 on /raid-mirror type ext3 (rw)

La salida del comando mount muestra que el dispositivo / dev / md1 se montó correctamente en el directorio ‘/ raid-mirror’.

Conclusión

En este tutorial, aprendimos cómo crear Linux RAID 1 (Mirror) usando el software mdadm. Espero que haya disfrutado leyendo esto y deje sus sugerencias en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar