É possível recuperar / converter / montar arquivos de imagem fakeraid? (TL; DR - tem imagens fakeraid, quer convertê-las em imagens mdadm)

3

Meu NAS NS4300N da Promise morreu recentemente (falha na PSU ou na placa-mãe, provavelmente a primeira, pois tem problemas para girar os discos).

Eu consegui dd (1) as unidades (4 unidades de 500GB em uma configuração RAID5) como imagens em um novo servidor, mesmo que uma das unidades tivesse alguns erros de leitura (conv = noerror ftw ... ).

No entanto, como o Promise NAS não usa mdadm (8) para RAID, mas usa o RAID "hardware" (também conhecido como FakeRAID), as imagens resultantes ficam assim:

$ fdisk -l /local/media/promise.dd.1
Disk /local/media/promise.dd.1: 465.8 GiB, 500106174464 bytes, 976769872 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0xb95a0900

Device                      Boot Start        End    Sectors  Size Id Type 
/local/media/promise.dd.1p1         63 2929918634 2929918572  1.4T 83 Linux

$ fdisk -l /local/media/promise.dd.2 
Disk /local/media/promise.dd.2: 465.8 GiB, 500107862016 bytes, 976773168 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$ fdisk -l /local/media/promise.dd.3 
Disk /local/media/promise.dd.3: 465.8 GiB, 500107862016 bytes, 976773168 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$ fdisk -l /local/media/promise.dd.4 
Disk /local/media/promise.dd.4: 465.8 GiB, 500107862016 bytes, 976773168 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos
Disk identifier: 0xb95a0900

Device                      Boot Start        End    Sectors  Size Id Type 
/local/media/promise.dd.4p1         63 2929918634 2929918572  1.4T 83 Linux

Quando montados como dispositivos loop (4), as imagens ficam assim:

$ sudo lsblk -io NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL 
NAME               FSTYPE                            SIZE    MOUNTPOINT     LABEL 
..     
loop0              promise_fasttrack_raid_member     465.8G
loop1              promise_fasttrack_raid_member     465.8G
loop2              promise_fasttrack_raid_member     465.8G
loop3              promise_fasttrack_raid_member     465.8G
Não é novidade que mdadm (8) não consegue lê-los, pois não consegue encontrar um superbloco utilizável:

$ sudo mdadm --verbose --examine /dev/loop0
/dev/loop0:
   MBR Magic : aa55
Partition[0] :   2929918572 sectors at           63 (type 83)
$ sudo mdadm --verbose --examine /dev/loop1
mdadm: No md superblock detected on /dev/loop1.

E claro:

$ sudo mdadm --verbose -A /dev/md127 --readonly --run /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4
mdadm: looking for devices for /dev/md127
mdadm: no recogniseable superblock on /dev/loop1
mdadm: /dev/loop1 has no superblock - assembly aborted

Eu pensei em tentar ler / examinar estes usando dmraid (8), já que isso é anunciado como uma ferramenta para "descobrir, configurar e ativar o RAID de software (ATA)" . Mas até onde eu posso dizer, essa afirmação só é verdadeira se as unidades forem expostas através da BIOS, o que elas claramente não são, sendo que elas são dispositivos loop (4):

$ sudo dmraid -ay
no raid disks

Eu tenho alguma chance de recuperar os dados via software? Ou a minha única opção é encontrar hardware que possa ler unidades físicas com os dados nelas (por exemplo, uma placa Promise PCI)?

Obrigado pela leitura.

    
por thoughtbox 17.05.2017 / 21:22

0 respostas