Мой 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)?
Спасибо за прочтение.