Montar RAID de un NAS con Linux

Hace un par de semanas que estoy trabajando en un caso que tengo varios discos duros y unidades de memoria cifradas con LUKS2 y no es posible conocer la contraseña. Quien la puso no está y el trabajo consiste en tratar de recuperar todos los datos posibles.

Dentro de los dispositivos a localizar datos se encuentra un NAS “NETGEAR ReadyNAS” con 4 discos de 4Tb y del cuál no dispongo del alimentador y el que tengo no funciona. El otro día analicé los discos de forma individual pero evidentemente estaban en RAID y precisaba de una máquina que me permitiese conectar como mínimo 6 discos.

Hoy he puesto los 4 discos en el servidor, con el hd del sistema y otro para almacenar los datos (por esto 6 discos) y he montado el raid usando mdadm, basándome en qué el NAS como es común suelen usar Linux.

Lo primero será ver si ha detectado los discos

root@IAIA-Capa8:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 476.9G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 475.5G  0 part /
└─sda3   8:3    0   976M  0 part [SWAP]
sdb      8:16   0 476.9G  0 disk 
└─sdb1   8:17   0 476.9G  0 part /mnt/hd1
sdc      8:32   0   2.7T  0 disk 
├─sdc1   8:33   0     4G  0 part 
├─sdc2   8:34   0   512M  0 part 
└─sdc3   8:35   0   2.7T  0 part 
sdd      8:48   0   3.6T  0 disk 
└─sdd1   8:49   0   3.6T  0 part /mnt/hd2
sde      8:64   0   2.7T  0 disk 
├─sde1   8:65   0     4G  0 part 
├─sde2   8:66   0   512M  0 part 
└─sde3   8:67   0   2.7T  0 part 
sdf      8:80   0   2.7T  0 disk 
├─sdf1   8:81   0     4G  0 part 
├─sdf2   8:82   0   512M  0 part 
└─sdf3   8:83   0   2.7T  0 part 
sdg      8:96   0   2.7T  0 disk 
├─sdg1   8:97   0     4G  0 part 
├─sdg2   8:98   0   512M  0 part 
└─sdg3   8:99   0   2.7T  0 part 
sr0     11:0    1  1024M  0 rom  

En esta muestra de 7 discos, sda es el sistema, sdb un disco de datos del sistema y sdd el disco donde voy a almacenar los datos que encuentre en el RAID del NAS. El resto de discos, sdc, sde, sdf y sdg supuestamente son los discos del NAS.

Para montar un RAID en linux hacemos uso de mdadm, así que vamos a instalarlo

root@IAIA-Capa8:~# apt install mdadm

A continuación le decimos a mdadm que analice los discos y busque los RAID existentes

root@IAIA-Capa8:~# mdadm --examine /dev/sd[c-g]
/dev/sdc:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdd.
/dev/sde:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sdf:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sdg:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)

Vale, vemos un 1, pues el RAID es un RAID 1, es decir, no hay backup de datos entre ellos y simplemente constituyen un array de discos para hacer un volumen más grande y listos.

Ahora le decimos a mdadm que construya los RAID y los deje listos para que los podamos montar

root@IAIA-Capa8:~# mdadm --assemble --scan
mdadm: /dev/md/0 has been started with 4 drives.
mdadm: /dev/md/1 has been started with 4 drives.
mdadm: /dev/md/data-0 has been started with 4 drives.

Y vamos a analizar qué contiene cada una de estas unidades de disco en RAID detectadas, /dev/md/0, /dev/md/1 y /dev/md/data-0

root@IAIA-Capa8:~# blkid /dev/md/0
/dev/md/0: LABEL="2fe58afc:root" UUID="974daf6d-1cd9-41eb-921b-852d85e7ca43" BLOCK_SIZE="4096" TYPE="ext4"

root@IAIA-Capa8:~# blkid /dev/md/1
/dev/md/1: LABEL="swap" UUID="935b9989-2549-4955-a9ec-d40632fd7a75" TYPE="swap"

root@IAIA-Capa8:~# blkid /dev/md/data-0
/dev/md/data-0: LABEL="2fe58afc:data" UUID="c12385ec-3b5a-4f4c-bfd3-62a82cd9fda5" UUID_SUB="0747b21e-361e-44b4-b9d2-f45b253349f7" BLOCK_SIZE="4096" TYPE="btrfs"

En /dev/md/0 vemos que hay un ext4 con una etiqueta root, por mi sorpresa SIN CIFRAR!, así que intuyo que esto será el sistema root del NAS.

En /dev/md/1 la swap

En /dev/md/data-0 otra partición, esta vez en formato btrfs y también SIN CIFRAR!, muy buena pinta.

Ahora lo siguiente será montar las dos particiones que pueden contener datos que pueden ser de nuestro interés (y sobretodo del cliente).

root@IAIA-Capa8:~# mkdir /mnt/raid1
root@IAIA-Capa8:~# mkdir /mnt/raid2
root@IAIA-Capa8:~# mount -t auto /dev/md/0 /mnt/raid1
root@IAIA-Capa8:~# mount -t auto /dev/md/data-0 /mnt/raid2

Y voilá! un montón de datos interesantes a analizar y a realizar una copia para poder devolver la máquina a su estado que ahora la pobre está en el datacenter con las tripas al aire

Dejo algún otro comando que puede ser de nuestro interés:

root@IAIA-Capa8:~# mdadm --detail /dev/md/data-0 
/dev/md/data-0:
           Version : 1.2
     Creation Time : Tue Jul 21 22:19:32 2015
        Raid Level : raid5
        Array Size : 8776244352 (8.17 TiB 8.99 TB)
     Used Dev Size : 2925414784 (2.72 TiB 3.00 TB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sat Sep 28 23:46:05 2024
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 64K

Consistency Policy : resync

              Name : 2fe58afc:data-0
              UUID : fe93930f:c9ada671:4a7f9336:1593a4eb
            Events : 77219

    Number   Major   Minor   RaidDevice State
       0       8       67        0      active sync   /dev/sde3
       1       8       35        1      active sync   /dev/sdc3
       3       8       99        2      active sync   /dev/sdg3
       4       8       83        3      active sync   /dev/sdf3

Si por un supuesto deseásemos aplicar este RAID a la máquina que estamos usando para que se monte el RAID una vez reiniciamos la máquina

# mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf
# update-initramfs -u

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.