El proceso que se describe a continuación permite configurar un RAID (Redundant Array of Independent Disks), nivel 5, el cual es gestionado a través del conjunto de herramientas MDADM (Multiple Device Administrator).
En este caso particular, se cuenta con 5 dispositivos de 3TB cada uno, los cuales son nuevos. En caso contrario es necesario eliminar cualquier tipo de partición en los discos y continuar con el proceso.
Comenzamos…….
Paso #1. Se crea la partición primaria de tipo GPT(GUID Partition Table), en primer disco del arreglo, en este caso /dev/sdb
[root@localhost ~]# parted -a optimal /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) mkpart primary 0% 100%
(parted) align-check
alignment type(min/opt) optimal/[minimal]? optimal
Partition number? 1
(parted) p
Model: ATA Hitachi HDS5C303 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary
Nota: Es importante manejar porcentajes para indicar donde inicia y termina la partición (0% y 100%), de otra manera obtendrás lo siguiente. “Warning: The resulting partition is not properly aligned for best performance.”
Paso # 2 Hacemos un respaldo de la estructura que se ha creado en /dev/sdb y la copiamos al resto de los discos.
[root@localhost ~]# sgdisk –backup=estructura /dev/sdb
The operation has completed successfully.
[root@localhost ~]# sgdisk –load-backup=estructura /dev/sdc
The operation has completed successfully.
[root@localhost ~]# sgdisk –load-backup=estructura /dev/sdd
The operation has completed successfully.
[root@localhost ~]# sgdisk –load-backup=estructura /dev/sde
The operation has completed successfully.
[root@localhost ~]# sgdisk –load-backup=estructura /dev/sdf
The operation has completed successfully.
Paso#3 Creamos el arreglo de discos indicando, su nivel y los dispositivos que lo conforman.
[root@localhost ~]# mdadm –create –verbose /dev/md0 –level=5 –raid-devices=5 /dev/sd[bcdef]1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 2930132992K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
En todo momento podemos ver el avance de la creación de el arreglo de discos.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdf1[5] sde1[3] sdd1[2] sdc1[1] sdb1[0]
11720531968 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUUU_]
[>………………..] recovery = 0.1% (5048320/2930132992) finish=739.7min speed=65899K/sec
unused devices: <none>
Nota: Por el tipo y tamaño de discos usados en este caso, deberemos esperar un largo rato en lo que se construye la estructura interna del arreglo.
A la mañana siguiente, literal…
Verificamos a detalle como quedo la estructura del arreglo.
[root@localhost ~]# mdadm –detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Apr 2 09:23:49 2014
Raid Level : raid5
Array Size : 11720531968 (11177.57 GiB 12001.82 GB)
Used Dev Size : 2930132992 (2794.39 GiB 3000.46 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Wed Apr 2 19:46:46 2014
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 437110ae:d816d0ec:9f1d5fde:02a6af79
Events : 127
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
5 8 81 4 active sync /dev/sdf1
Paso #4. Le damos formato a arreglo, en este caso lo haremos con ext4.
[root@localhost ssmtp]# mkfs.ext4 /dev/md0
Paso #5. Modificamos el 5% de espacio que se reserva para uso exclusivo de root y lo reducimos a cero.
[root@localhost ssmtp]# tune2fs -m 0 /dev/md0
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 0% (0 blocks)
Paso #6. Creamos un punto de montaje en /etc/fstab para el arreglo /dev/md0 y montamos el arreglo.
[root@localhost ~]# vi /etc/fstab
*Agreagamos la linea.
/dev/md0 /mnt/miraid ext4 defaults 0 0
*Creamos el directorio
[root@localhost ~]# mkdir /mnt/miraid
*Montamos el arreglo
[root@localhost ~]# mount -a
Paso #7. Verificamos que el espacio del arreglo creado sea el indicado y se encuentre montado correctamente.
[root@localhost ~]# df -h /mnt/miraid/
Filesystem Size Used Avail Use% Mounted on
/dev/md0 11T 159M 11T 1% /mnt/miraid
Paso #8. Creamos el archivo de configuración para mdadm (/etc/mdadm.conf) a partir de la información detallada del arreglo.
*Mostramos la información del arreglo de discos .
[root@localhost ~]# mdadm –verbose –detail –scan
ARRAY /dev/md0 level=raid5 num-devices=5 metadata=1.2
name=localhost.localdomain:0
UUID=437110ae:d816d0ec:9f1d5fde:02a6af79
devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1,/dev/sdf1
*En base a la información detallada construimos el archivo de configuración /etc/mdadm.conf
[root@localhost ~]# mdadm –verbose –detail –scan > /etc/mdadm.conf
Paso #9. Reiniciamos el servidor y verificamos que el arreglo se monte correctamente
[root@localhost ~]# reboot
Como siempre esperando que este documento le sirva a alguien…
Saludos 🙂