Skip to content

204 Administración avanzada de dispositivos de almacenamiento

204.1 Configuración RAID

Tipos de raid

Firmware El modo de raid firmware es el raid basado en la BIOS, la propia BIOS tiene su controladora para gestionar la raid .

Hardware El modo Hardware, consiste en una tarjeta pinchada en la placa que controla la raid.

Software El modo Software es el propio sistema operativo que gestiona la raid.

Principales niveles de raid

RAID 0 tiene como único objetivo la rapidez de acceso a los datos y no gestiona de modo alguno la tolerancia a los fallos. El espacio utilizable en un volumen RAID 0 es igual a la suma de los espacios de disco utilizados.

RAID 1, al contrario que RAID 0, no busca en ningún caso mejorar el rendimiento, sino únicamente asegurar los datos. El espacio utilizable en un volumen RAID 1 es igual al espacio disponible en un solo disco.

RAID 5 reúne las ventajas de RAID 0 y de RAID 1. Hay que disponer de al menos 3 discos para configurarlo. El espacio explotable en un volumen RAID 5 es igual a la suma de los espacios de disco usados menos uno y menos un posible disco de reserva (spare).

RAID 10 Son dos raid 1 unidas por una raid 0 , nivel de seguridad alto 1 disco por mirror pero se reduce la capacidad total de almacenamiento al 50% total.

RAID 50 Dos raid 5 unidas por raid 0 velocidad excelente de lectura con nivel de seguridad alto de 2 discos de fallo.

Nivel nº discos nº discos que pueden fallar capacidad capacidad leer y escribir
R0 2 0 100% excelente
R1 2 max 1 50% L.MuyBuena / E.Buena
R5 3 min 1 67% - 94% L.Muy buena / E.Buena
R6 4 min 2 50% - 88% L.Buena / E.Buena
R10 4 min 1 por cada mirror 50% L.Muy buena / E.Buena
R50 6 min 1 por cada mirror 67% - 94% L.Excelente / E.Muy buena
R60 8 min 2 por cada mirror 50% - 88% L.Muy buena / E.Buena

Configurar raid

la gestión de los Raid se hace mediante vla orden mdadm tiene su configuración, especialmente el orden de escaneo de todas las particiones encontradas en /proc/partitions, en su archivo de configuración /etc/mdadm/mdadm.conf.

mdadm acción volumen -l nivel -n número_de_discos almacenes 
-C  # crear volumen raid
-S  # desactivar volumen

# crear raid
mdadm --create /dev/md0  --level=1 --raid-devices=3 /dev/loop0 /dev/loop1 /dev/loop2
mdadm  --create /dev/md/dades  --level=1 --raid-devices=2 /dev/loop0 /dev/loop1 --spare-devices=2 /dev/loop2 /dev/loop3

# estado del raid
sudo mdadm --detail /dev/md0 # ver estado del raid
sudo mdadm --detail --scan  # ver si existe alguna raid
sudo mdadm --examine /dev/loop0  # ver datos del bloque raid en disco
sudo mdadm --query /dev/loop0 
sudo mdadm --query /dev/md0
cat /proc/mdstat # ver estado de raid

# Extraer disco
sudo mdadm /dev/md0 --fail /dev/loop1
sudo mdadm /dev/md0 --remove /dev/loop1

# Añadir disco
sudo mdadm --manage /dev/md0 --add /dev/loop1

# Añadir disco spare
sudo mdadm /dev/md0 --add-spare /dev/loop2

# Parar Raid
sudo mdadm --stop /dev/md0 # parar raid  md0
sudo mdadm --stop --scan # para todas las raid

# guardar raid
sudo mdadm --examine --scan > /etc/mdadm.conf

# recontruir raid
mdadm --assemble --scan # automatico, si existe /etc/mdadm.conf no escaneara todos los discos.
mdadm --assemble /dev/md0 --run /dev/loop0 /dev/loop1 /dev/loop2 # indicando discos
mdadm --assemble /dev/md0 # siempre que exista el archivo /etc/mdadm.conf y este md0 dentro

# limpiar superbloque
sudo mdadm --zero-superblock /dev/loop0

# aumentar discos en raid añadiendo uno
sudo mdadm --grow /dev/md/raid1 --raid-devices 3 --add /dev/loop2  

204.2 Ajustar acceso dispositivos almacenamiento

204.3 Gestor de volumenes LVM

El sistema de particionamiento tradicional de los discos impone ciertas restricciones, tales como un número máximo de 4 particiones o el carácter obligatoriamente contiguo del espacio particionado.

Los volúmenes lógicos permiten crear un número ilimitado de volúmenes y extenderlos a voluntad, incluso a partir de espacios de almacenamiento que se encuentran en discos y controladoras distintos.

PV (phisical volume) Se refiere a particiones en un disco real.

VG (volum group) Discos virtuales que crea lvm partiendo de x numero de particiones PV.

LV (logical volum) Particiones del disco virtual de las que montaremos nuestros datos.

# display
lsblk # para ver nuestros discos
sudo pvs # ver volumens fisicos
sudo pvdisplay
sudo vgs # ver discos virtuales
sudo vgdisplay
sudo lvs # ver particiones logicas
sudo lvdisplay

# accion
sudo pvcreate /dev/<disco> # crear volumen fisico
sudo vgcreate <nombre de grupo> /dev/<disco>... # crear disco virtual

# crear  particion logica
sudo lvcreate -L +<tamaño que quieres 200M> -n <nombre partición> <grupo VG a asignar>
# Si quieres todo el espacio del disco 
sudo lvcreate -l <tamaño que quieres 100%free> -n <nombre partición> <grupo VG a asignar>

sudo mkfs.ext4 /dev/<grupo>/<partición> # formatear partición
sudo mount /dev/<grupo>/<partición> /mnt # montar

sudo vgextend <grupo> /dev/<disco> # añadir PV a disco virtual
sudo lvextend -L +<tamaño a aumentar M,G> /dev/<grupo>/<partición> # extender particion logica
# Si queremos aumentar a todo el disco disponible
sudo lvextend -l +100%free /dev/<grupo>/<partición>           

# aumentar el sistema de ficheros al completo de la partición
sudo resize2fs /dev/<grupo>/<partición>  # en modo ext4
sudo xfs_growfs /dev/<grupo>/<partición>  # en modo xfs                                   

# reducir
sudo e2fsck -f /dev/<grupo>/<partición> # reducir fs solo en ext algo 2,3,4 
sudo resize2fs /dev/<grupo>/<partición> <tamaño a reducir (500M)> # reducir fs 
sudo lvresize -L -<tamaño a quitar (500M)> /dev/<grupo>/<partición> # reducir particion logica

# snapshot
lvcreate -L tamaño -s -n nombre_snapshot lv_origen # -s = --snapshot
lvcreate -L 1G -s -n mysnap1 /dev/vg1/data1