mdadm raid имеет неизвестную файловую систему после добавления нового диска

399
Challenger1304

Мой компьютер работает под управлением Ubuntu 1804, но я новичок в Linux.
Я использую mdadm и создал raid-5 с 3x 4 ТБ дисками (sda, sdb sdc).
ОС находится на отдельном SSD (sde).
Нет, у меня нет резервной копии. Да, глупо думать, что все будет хорошо. Но у меня недостаточно места для резервного копирования моего рейда 8 ТБ.

Я хотел, чтобы в моем рейде было больше места, поэтому я добавил еще один диск (sdd), следуя этим инструкциям, и это сработало.

У меня была проблема, что мой рейд исчезал после каждой перезагрузки, поэтому я подумал, что переустановка mdadm может помочь.
После того, как я это сделал, перезагрузите компьютер и создайте массив с:

sudo mdadm --create --assume-clean --level=5 --raid-devices=4 /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd 

(потому что «--assemble --scan» не работал) файловая система больше не распознавалась.

Затем я создал массив несколько раз, потому что я где-то читал, что это может произойти, если диски расположены в ложном порядке. Это не сработало.

Проверка файловой системы вернула это:

challenger1304@hannes:~$ sudo fsck /dev/md0  fsck from util-linux 2.31.1 e2fsck 1.44.1 (24-Mar-2018) ext2fs_open2: Bad magic number in super-block fsck.ext4: Superblock invalid, trying backup blocks... fsck.ext4: Bad magic number in super-block while trying to open /dev/md0  The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem. If the device is valid and it really contains an ext2/ext3/ext4 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device> or e2fsck -b 32768 <device> 

Затем я попытался заменить плохой суперблок, как подсказывал мне инструмент. Чтобы увидеть, где могут быть резервные копии суперблоков, я запустил «mkfs.ext4 -n / dev / md0» и попробовал большинство из них.
Тоже не сработало.

После еще одного исследования я нашел инструмент под названием «TestDisk», установил его и запустил. Найдено много разделов (только один на рейде) с правильной меткой. В этих разделах, где нет файлов и инструмент не может воссоздать разделы.
Я сделал это три раза после воссоздания массива с дисками в другом порядке. Каждый раз один и тот же результат.

0
Я подозреваю, что создание нового массива уничтожает все старые массивы, которые могли быть на этих дисках. grawity 5 лет назад 2

1 ответ на вопрос

2
gog

Предисловие

Я использую mdadm и создал raid-5 с 3x 4 ТБ дисками (sda, sdb sdc)

Использование raid5 с такими большими дисками связано с поиском проблем. Вы можете найти множество предупреждений против этого в Интернете, но я еще раз предупрежу вас: ваши данные в опасности. После сбоя одного из дисков в массиве raid5 у вас не останется никакой избыточности. После того, как вы вставите новую резервную копию и запустите процесс повторной синхронизации, вероятность того, что на другом диске возникнет ошибка чтения, высока. Как только это произойдет, ваши данные исчезнут.

Затем еще одно предложение: я всегда делаю RAID-массивы из разделов, а не целых дисков. Но это что-то вроде «предпочтения», которому я следую с тех пор, как узнал о рейде mdadm. На самом деле, все мои диски содержат более одного RAID (пример: первый раздел в raid1 с ОС, а затем еще один для большего RAID).

Нет, у меня нет резервной копии. Да, глупо думать, что все будет хорошо. Но у меня недостаточно места для резервного копирования моего рейда 8 ТБ.

Справедливо. Это означает, что вам не важно, что вы потеряете эти данные, особенно во время такой деликатной операции, как увеличение / изменение массива raid. Как вы можете видеть в Linux RAID Wiki о расширении массива, первые работают сразу после заголовка главы:

РЕЗЕРВНОЕ КОПИРОВАНИЕ. РЕЗЕРВНОЕ КОПИРОВАНИЕ !! РЕЗЕРВНОЕ КОПИРОВАНИЕ !!!!

Вернемся к делу

Давайте попробуем понять, что произошло во время шагов, которые вы описали здесь.

У меня была проблема, что мой рейд исчезал после каждой перезагрузки

Это должно было заставить вас остановиться и сказать: что не так? Давайте исправим это, прежде чем я потеряю все свои данные.

Возможно, вы забыли заполнить или лучше, обновлять свой /etc/mdadm/mdadm.confфайл с линией, аналогичной:

ARRAY /dev/md/0 metadata=1.2 UUID=deadbeef:deadbeef:deadbeef:deadbeef name=myhostname:0 

который вы можете создать с помощью

 mdadm --detail --scan 

И, возможно, вам нужно обновить ваши initramfs. На Debian вы можете сделать это с

update-initramfs -u 

поэтому я подумал, что переустановка mdadm может помочь.

Никакой помощи.

После того, как я это сделал, перезагрузите компьютер и создайте массив с:

sudo mdadm --create --assume-clean --level=5 --raid-devices=4 /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd

О нет. Вау, теперь вы перезаписали суперблок RAID на всех ваших четырех дисках. Ваши данные все еще там, но вы перезаписали информацию, которая сообщает mdadm расположение вашего RAID-массива. Предполагая, что старый суперблок и новый были одной и той же версией (1.2), вы можете исправить эту ситуацию, переписав суперблоки RAID с резервной копией с исходных дисков.

(потому что "--assemble --scan" не работает)

Это должно было помешать вам продолжить поиск дополнительной информации о возвращенной ошибке. Скорее всего, расположение данных на дисках было не тем, что ожидал mdadm, или чем-то подобным. Не большая проблема как таковая.

Затем я создал массив несколько раз, потому что я где-то читал, что это может произойти, если диски расположены в ложном порядке. Это не сработало.

Вы перезаписываете суперблок RAID на всех дисках снова и снова. Без изменений в ваших данных (при условии, что старый и новый суперблок RAID были одинаковыми)

Затем я попытался заменить плохой суперблок, как подсказывал мне инструмент.

О, дорогой, нет, нет, нет! Вы начали портить ваши данные здесь. Сейчас нет никаких шансов восстановить все ваши данные в целости, поскольку вы записали эти данные в неизвестном месте (по отношению к исходному слою выросшего массива).

После еще одного исследования я нашел инструмент под названием «TestDisk», установил его и запустил. Найдено много разделов (только один на рейде) с правильной меткой. В этих разделах, где нет файлов и инструмент не может воссоздать разделы.

Этот инструмент читает с помощью блочного устройства (массива RAID) напрямую, без использования файловой системы, и, вероятно, просматривает некоторые данные, которые состоят из блоков, которые расположены в неправильном порядке. Совершенно бессмысленно.

Что теперь?

Я думаю, что вы можете попрощаться со старыми данными. Но, поскольку вы просто записали мало данных в массив, есть некоторый шанс, что вы сможете восстановить данные, как только узнаете, как был настроен исходный массив. Это включает в себя выяснение:

  • Размер массива
  • Макет массива (левый симметричный и т. Д.)
  • Размер полосы
  • Порядок дисков

Без резервного копирования суперблоков RAID это будет действительно сложно. К сожалению, вы усвоили предложение «сделать резервную копию». Удачи!

Похожие вопросы