Tras instalar Lenny en la máquina nueva que ha llegado a la escuela, vamos a construir un buen sistema para albergar las copias de seguridad
El raid5 usa división de datos a nivel de bloques distribuyendo la información de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el cálculo de la paridad. “Wikipedia Dixit”.
Para ello hemos usado la herramienta mdadm de la siguiente manera:
Primero creamos un nuevo dispositivo en /dev:
mknod /dev/md0 b 0 9
Hemos llamado md (multi disk) aunque podemos usar el nombre que queramos, b es que el dispositivo es de bloques y los enteros son los valores máximo y mínimo.
Después creamos el raid5 sobre el nuevo dispositivo.
mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Se verifica que está todo en orden:
cat /proc/mdstat
Cuya salida debe ser:
md0 : active raid5 sdb[0] sde[3] sdd[2] sdc[1] 2930284224 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
Podemos ver más detalles en el comando:
mdadm --detail /dev/md0
Que nos informará del estado del raid así:
/dev/md0: Version : 00.90 Creation Time : Mon Mar 30 09:55:23 2009 Raid Level : raid5 Array Size : 2930284224 (2794.54 GiB 3000.61 GB) Used Dev Size : 976761408 (931.51 GiB 1000.20 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Tue Mar 31 09:34:29 2009 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : e09fdc34:442bd85d:86b20519:591dba3f Events : 0.82 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 48 2 active sync /dev/sdd 3 8 64 3 active sync /dev/sde
Ya tenemos una unidad raid5 de aproximadamente 3 TB. Pero si algo sabemos los administradores de nuestros sistemas es que tienden a crecer y mucho. Por eso, hemos optado por añadir el dispositivo raid a un volumen lógico con LVM2.
Para ello hacemos lo siguiente:
Primero creamos un volumen físico
pvcreate /dev/md0
Segundo, creamos un grupo de volúmenes llamado data (nombre libre):
vgcreate data /dev/md0
Después obtenemos la capacidad que otorga el volumen:
vgdisplay | grep -i "total pe"
Que nos dirá:
Total PE 715401
Así se crea un volumen lógico dentro del grupo de volumenes
lvcreate -n home -l 715401 data
El volumen lógico lo hemos llamado home porque albergará las carpetas de usuarios del sistema.
Se crea el sistema de ficheros al gusto, en mi caso me gusta extendida 3:
mkfs.ext3 /dev/mapper/data-home
Nos queda añadirlo a fstab para que se monte al iniciar el sistema.
dev/mapper/data-home /home ext3 defaults,noatime 0 2
Con esto hemos construido una solución completamente profesional para el almacenamiento de datos, copias de seguridad de los PC’s de mis usuarios, y todo ello con software libre. Es importante destacar, que la partición / está fuera del raid, en una próxima entrega explicaré como actuar en caso que la raiz esté en raid, ya que en este caso necesitamos generar un disco ram con los módulos necesarios para el raid.
El porque de usar un volumen lógico en lugar de formatear directamente el raid es sencillo, si se acaba el espacio (que seguro que pasará) se pinchan más discos y se añaden al volumen. Los usuarios siempre verán un sólo disco sin pararse a pensar cuántos discos están almacenados por detrás.