Raid

De enunpimpam
Saltar a: navegación, buscar

Usando la Array

  • Parar el dispositivo RAID
mdadm --stop /dev/md0
  • Para todos los RAID
mdadm --stop --scan
  • Encender la raid
mdadm --run /dev/md0
  • Ver estado de la raid
cat /proc/mdstat
  • Ver la los detalles de inicio del servidor para las raid
dmesg | grep md

Detalles de una raid

Para obtener los detalles de una raid

mdadm --detail /dev/md0
/dev/md1:         
        Version : 1.2   
  Creation Time : Mon Jan 20 20:23:09 2014      
     Raid Level : raid1      
     Array Size : 1441382208 (1374.61 GiB 1475.98 GB)   
  Used Dev Size : 1441382208 (1374.61 GiB 1475.98 GB)    
   Raid Devices : 2   
  Total Devices : 2     
    Persistence : Superblock is persistent     
    Update Time : Tue Jan 28 13:07:09 2014           
          State : clean  
 Active Devices : 2 
Working Devices : 2  
 Failed Devices : 0   
  Spare Devices : 0             
           Name : space:1  (local to host space)            
           UUID : 3c7af92e:aaeb5082:6f8cf3a2:2ae8cf67         
         Events : 187     
Number   Major   Minor   RaidDevice State       
      0       8       34        0      active sync   /dev/sdc2 
      1       8       66        1      active sync   /dev/sde2
  • Para ver todo los detalles de todas las raid
mdadm --detail --scan

Raid 1

Para hacer una raid 1 o mirror necesitamos dos particiones del mismo tamaño

mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Crear una raid con un solo disco el segundo como perdido

mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/sdb1 missing

Raid Linear

mdadm --create --verbose /dev/md0 --level=linear --raid-devices=2 /dev/sdb6 /dev/sdc5

Modificar mdadm.conf

Para que la raid quede montada en el inicio de servidor hay que modificar el archivo mdadm.conf

cd /etc/mdadm
cd mdadm.conf mdadm.conf.old
echo "DEVICE partitions" > mdadm.conf
mdadm --detail --scan >> mdadm.conf

Comprobamos el estado del archivo mdadm.conf

cat mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a48e6816:ea6e7f37:6cc50cdb devices=/dev/sdb1,/dev/sdc1

Variación

Con la orden anterior introducíamos la información de las raid del sistema en el archivo mdadm.conf pero no especificaba concretamente el montaje de la raid y puede que al reiniciar el servidor que esos nombres cambien, dando un error en el montaje de las unidades.

Para solventar este error me gusta utilizar:

mdadm --detail --brief /dev/md2
ARRAY /dev/md2 metadata=1.2 name=space:2 UUID=37035db4:4f538841:ddbc30e9:81428a98

Como podemos comprobar los informa exactamente el dispositivo RAID, su nombre y UUID

Ahora solo tenemos que introducir estos datos en el archivo mdadm.conf

mdadm --detail --brief /dev/md2 >> mdadm.conf

Importante realizar esta operación por cada RAID nunca utilizar --scan

Dar formato una raid

Para formatear una raid utilizaremos el comando mkfs y la extension del formato que queremos dar a la raid

mkfs.ext3 /dev/md0

Nota: Para comprobar que tipos de formatos disponemos en el sistema solamente tendremos que escribir en el terminal mkfs. y pulsar TAB obtendremos un listado

mkfs          mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.msdos    mkfs.vfat      mkfs.bfs      
mkfs.ext2     mkfs.ext4     mkfs.minix    mkfs.ntfs

Montar la raid

Editamos el archovi fstab y añadimos:

 /dev/md0 /media/raid1 ext3 defaults,user 0 0

Administrar una RAID

  • Establecer un disco como faulty/failed:
sudo mdadm --fail /dev/md0 /dev/sdb1 
No utilizar en RAID0 ó RAID en modo linear. Pueden perderse los datos!

Quitar un disco fallido de una RAID:

sudo mdadm --remove /dev/md0 /dev/sdb1

Limpiar disco de una raid

  • Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)
sudo mdadm --zero-superblock /dev/sdb1 

Añadir un disco a la RAID

sudo mdadm --add /dev/md0 /dev/sdb1 

Añadir soporte "bitmap" a un RAID

sudo mdadm --grow /dev/mdX --bitmap=internal 

Quitar el soporte de "bitmap" a un RAID

sudo mdadm --grow /dev/mdX --bitmap=none

Eliminar una Raid

mdadm --stop /dev/md0
mdadm --remove /dev/md0

Montar una disco de otra raid

Podemos montar el disco duro en una maquina diferente al la que se hizo la raid.

Primero devemos identificar que dispositivo tiene sistema de raid.

lsblk -l
NAME         FSTYPE            LABEL        MOUNTPOINT
sda                                         
└─sda1       linux_raid_member rtl:0        
  └─md10     ext4                           /media/uno
mmcblk0                                     
├─mmcblk0p1  vfat              boot         /boot
├─mmcblk0p2                                 
├─mmcblk0p5  ext4              RTL-03.10-18 /
├─mmcblk0p6  ext4              RTL-03.10-18 
├─mmcblk0p7  ext4              StarCam2 

Ahora ya sabemos que el dispositivo sda1 es el que pertenecia a una raid, ahora vamos a comprobar que tipo de raid.

mdadm --examine /dev/sda1
/dev/sda1:
         Magic : a92b4efc
       Version : 1.2
   Feature Map : 0x0
    Array UUID : 94009109:d0414ad2:68f1982d:35984470
          Name : rtl:0  (local to host rtl)
 Creation Time : Wed Mar 18 22:33:06 2015
    Raid Level : raid1
  Raid Devices : 2

Avail Dev Size : 15650816 (7.46 GiB 8.01 GB)
    Array Size : 7825344 (7.46 GiB 8.01 GB)
 Used Dev Size : 15650688 (7.46 GiB 8.01 GB)
   Data Offset : 8192 sectors
  Super Offset : 8 sectors
         State : clean
   Device UUID : 8368d6b7:d013918b:d42fc0ca:81c4dc0b

   Update Time : Wed Mar 18 23:58:48 2015
      Checksum : 2305cee9 - correct
        Events : 114

  Device Role : Active device 1
  Array State : .A ('A' == active, '.' == missing)

Ya podemos crear una raid temporal para poder montarla despues y acceder a los datos del disco duro.

mdadm -A -R /dev/md10 /dev/sda1

Tiene que devolver el siguiente mensaje.

mdadm: /dev/md10 has been started with 1 drive (out of 2).

Ahora montamos del dispositivo md10

mount /dev/md10 /media/raid_temp

Para para el dispoditivo raid temporal, solo tenemos que desmontar el dispositivo /dev/md10

y comprobar que este esta parado mediante la siguiente orden.

mdadm -S /dev/md10
mdadm: stopped /dev/md9