
У меня есть друг, у которого NAS застрял в процессе обновления прошивки. Он работает на базе Linux и, по-моему, использует программный RAID-5 на 4 дисках с использованием mdadm
/dev/md*
.
Служба поддержки клиентов только что рассказала, как переустановить заводскую прошивку, но все данные будут потеряны.
Друг обратился в профессиональную службу восстановления, но они просят определенную сумму денег (недешево).
Я достаточно уверенно работаю с Linux (раньше писал прошивки для встраиваемых устройств), но не очень хорошо разбираюсь в RAID.
Я хотел бы подключить диски к компьютеру с Debian и смонтировать RAID только для чтения. Если я правильно понимаю, есть хорошие шансы, что RAID и его конфигурация будут автоматически обнаружены ядром (или с помощью mdadm
), но как убедиться, что на диски не записаны никакие данные, и каковы шаги по монтированию RAID ro
?
решение1
Сначала подключите диски и запустите:
mdadm --examine /dev/sdb1
После этого, если они читабельны, вы сможете собрать их заново, используя:
mdadm --assemble /dev/md/... /dev/sdxn
Если вы действительно беспокоитесь, поместите диски на свой хост, а затем используйте виртуальную машину в конфигурации, в которой пользователь, запускающий виртуальную машину, имеет доступ только на чтение дисков, но я сомневаюсь, что это сработает, поскольку метаданные на дисках необходимо обновлять.
Однако мне приходит в голову другая мысль: если у вас есть место, dd
локальные диски и вы можете поиграть с этими файлами, или сделать что-то вроде этого для сохранения:
dd if=/dev/sdxN | gzip > /content/sdxN.gz
решение2
Мне пришлось сделать гораздо меньше, чем ожидалось.
Перед подключением дисков я установил mdadm
пакет и dpkg-reconfigure mdadm
отключил все автоматические функции на любом рейде.
После подключения дисков ядро Debian (3.16.0-4-amd64) обнаружило RAID во время загрузки.
/proc/mdstat
:
Personalities : [raid6] [raid5] [raid4] [raid1]
md126 : active (auto-read-only) raid1 sdb1[0] sdd1[3] sde1[2]
20955008 blocks super 1.2 [4/3] [U_UU]
md127 : active (auto-read-only) raid5 sdb2[0] sdd2[3] sde2[2] sdc2[1]
5797132800 blocks super 1.1 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
Я не знаю md126
, как правильно, но правильно — md127
.
Я попытался смонтировать его /dev/md127
во временный каталог, но возникла ошибка:mount: unknown filesystem type 'LVM2_member'
Я установил lvm2
пакет и использовал lvmdiskscan
команды lvdisplay
, чтобы показать интересующий меня объем.
# lvmdiskscan
/dev/14b46bb0_vg/lv53a3800a [ 5,40 TiB]
...
# lvdisplay
--- Logical volume ---
LV Path /dev/14b46bb0_vg/lv53a3800a
...
LV Size 5,40 TiB
...
Потом просто монтируется и всё.
mount -o ro /dev/14b46bb0_vg/lv53a3800a /tmp/raid/