Предисловие
Я использую 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 это будет действительно сложно. К сожалению, вы усвоили предложение «сделать резервную копию». Удачи!