3

Мой Promise NAS NS4300N недавно умер (сбой блока питания или материнской платы, возможно, из-за проблем с раскруткой дисков).

Мне удалось преобразовать диски (1) (4 500 ГБ в конфигурации RAID5) в образы на новом сервере, хотя на одном из дисков было несколько ошибок чтения (conv = noerror ftw ...).

Однако, поскольку Promise NAS не использует mdadm(8) для RAID, а вместо этого использует "аппаратный" RAID (он же FakeRAID), получающиеся образы выглядят так:

$ 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

Когда монтируются как устройства loop(4), изображения выглядят так:

$ 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

Неудивительно, что mdadm(8) не может прочитать их, так как не может найти пригодный для использования суперблок:

$ 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.

И конечно:

$ 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

Я подумал, что мог бы попытаться прочитать / изучить их с помощью dmraid(8), поскольку это рекламируется как инструмент для «обнаружения, настройки и активации программного обеспечения (ATA)RAID». Но, насколько я могу судить, это утверждение верно только в том случае, если диски выставляются через BIOS, а это явно не так, поскольку они являются устройствами loop (4):

$ sudo dmraid -ay
no raid disks

Есть ли у меня шанс восстановить данные с помощью программного обеспечения? Или мой единственный вариант - найти оборудование, которое может считывать данные с физических дисков (например, карты Promise PCI)?

Спасибо за прочтение.

0