Назад | Перейти на главную страницу

ext4 raid5 поврежденный дескриптор группы

У меня есть raid5 NAS на Open Media Vault с 3 дисками 2To.

Несколько дней назад вставил запасной диск из другого рейда. Поначалу не видел, но думаю, что поменял порядок дисков. Затем я запускаю cfdisk, чтобы создать новый том, возможно, не на том / dev /. Думаю, не уверен в этом.

Ничего страшного, пока система не перезагрузилась.

Теперь я застрял при загрузке с очень плохим сообщением

journalctl:

Dec 27 20:44:13 pacem systemd-fsck[362]: /dev/md1: One or more block group descriptor checksums are invalid.  FIXED.
Dec 27 20:44:13 pacem systemd-fsck[362]: /dev/md1: Group descriptor 0 checksum is 0x0000, should be 0xbd42.
Dec 27 20:44:13 pacem systemd-fsck[362]: /dev/md1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
Dec 27 20:44:13 pacem systemd-fsck[362]: (i.e., without -a or -p options)

Рейд вроде в порядке

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md1 : active raid5 sdd1[0] sdc1[3] sdb1[1]
  3907026624 blocks super 1.0 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
  bitmap: 0/15 pages [0KB], 65536KB chunk

Также я проверял dumpe2fs /dev/md1 | grep -i superblock Он говорит: «ext2fs_read_bb_inode: Группа блоков отсутствует в таблице индексных узлов», но я вижу список резервных копий суперблоков.

Есть ли шанс восстановить эту файловую систему? Что лучше всего попробовать в первую очередь?

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

Предупреждение:

  1. Меня смутило то, что при "ремонте" после fsck, корневые каталоги моего диска "спрятаны" внутри lost+found каталог
  2. Я опишу здесь, как мне удалось "безопасно" попытаться отремонтировать неисправный ext4.
  3. Как всегда: храните резервную копию ВСЕХ данных. Мое частичное резервное копирование было проблемой, я этого не ожидал ..
  4. Отсек для дисков с горячей заменой был реальным преимуществом в моей ситуации: не нужно перезагружаться при переключении между дисками

Подготовить

  • Я купил диск емкостью 6 ТБ (названный резервный)
  • После создания резервной копии диска и его форматирования (etx4) я дублировал 2 из 3 дисков raid5, используя dd:dd if=/dev/sdb of=/mnt/backup/sdb1.img ; dd if=/dev/sdc of=/mnt/backup/sdc1.img. Заняло 10 часов при 110 МБ / с
  • Переключитесь на другой компьютер с резервным диском
  • Используя устройства с обратной связью, созданные устройства с предыдущими образами, как своего рода виртуальный диск
  • losetup -f (инициируйте / dev / loopX, если он отсутствует)
  • losetup /dev/loop0 /mnt/backup/sdb1.img создает / dev / loop0
  • losetup /dev/loop1 /mnt/backup/sdc1.img создает / dev / loop1
  • Теперь запускаем новый raid5, всего с 2 дисками mdadm --assemble --run /dev/md1 /dev/loop0 /dev/loop1. Он должен быть отмечен значком [UU_] при отображении cat /prod/mdstat
  • Обратите внимание, что позже, однажды /dev/loopX is created, mdadm might create/ dev / md127on his own. you can stop it withmdadm --stop / dev / md127to create your own/ dev / mdX`

Ремонт

  • Теперь пришло время попробовать восстановить файловую систему, так как попытка смонтировать /dev/md0 показывает Group descriptor 0 checksum is 0x0000, should be 0xbd42 ...
  • бегать fsck.ext4 /dev/md0
  • Чтобы ответить "да" на все вопросы, нажмите клавишу a
  • Занимает несколько часов, возможно, потребуется 2 цикла fsck (при ремонте fsck перезапускается с самого начала)

Смонтировать и сделать резервную копию

  • Тогда я мог бежать mount /dev/md0 /mnt/data
  • Но /mnt/data пусто, кроме lost+found/ !
  • Кажется, что корневые каталоги несколько скорректированы, и тогда все мои данные хранятся внутри lost+found/#17xxxxxx папки!
  • ls -la /mnt/data/lost+found/\#17* отображать весь контент
  • .. Затем сделайте резервную копию еще раз на мой новый рейд (купленный между 3х 4ТБ)

Ресурсы :

https://askubuntu.com/questions/322070/how-can-i-fix-mounting-my-data-drive-after-a-crash

https://askubuntu.com/questions/19901/how-to-make-a-disk-image-and-restore-from-it-later

https://superuser.com/questions/962395/assemble-3-drive-software-raid5-with-one-disk-missing