Восстановление RAID 5 при перезаписи одного диска

Вопрос или проблема

У меня возникли проблемы с системой Ubuntu, которая работала в режиме Raid 5 с 4 дисками по 4 ТБ: /dev/sda[1234]. Операционная система была установлена на /dev/sde.

Поэтому я решил, что пришло время сделать чистую установку ОС… И вот здесь моя глупость проявилась… Я случайно установил Ubuntu на /dev/sda. Теперь я переустановил на /dev/sde, но у меня возникли проблемы с повторной сборкой рейда.

Я сделал резервную копию своей папки /etc, но опять же, от глупости, я сделал ее на своем рейде, думая, что у меня не возникнет проблем с его повторной сборкой.

Я знаю, что данные на /dev/sda потеряны… Я просто хочу понять, сколько я смогу восстановить с остальных 3 дисков.

В общем, я получаю следующую ошибку при большинстве попыток. Если я меняю порядок дисков, то получаю эту ошибку для первого диска в списке.

mdadm: no recogniseable superblock on /dev/sdb1
mdadm: /dev/sdb1 has no superblock - assembly aborted

Я пробовал собрать несколькими разными способами, но всегда натыкался на проблемы.

sudo mdadm --assemble --scan
sudo mdadm --assemble --force /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Я думал, что, возможно, я просто соберу с 3 исправными дисками, а затем смогу добавить /dev/sda, но получаю ту же ошибку.

sudo mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1

Я даже подумал, что мог бы создать новый рейд 5 с /dev/sda, а затем добавить остальные, но это тоже не сработало.

sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sda1 missing missing missing
sudo mdadm --manage /dev/md0 --re-add /dev/sdb1
sudo mdadm --manage /dev/md0 --add /dev/sdb1

Вывод команды fdisk -l

Disk /dev/sda: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000DM000-1F21
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: EEFB7529-8BC9-2C46-B529-DFEC565586AE

Device     Start        End    Sectors  Size Type
/dev/sda1   2048 7814037134 7814035087  3.6T Linux filesystem


Disk /dev/sdb: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000DM000-1F21
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 6559C610-734A-4978-B52D-FB8561D8CB6E

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 7814035455 7814033408  3.6T Linux RAID


Disk /dev/sdc: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000DM000-1F21
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0F3B652A-6AB8-4A98-B91B-F50C1373347A

Device     Start        End    Sectors  Size Type
/dev/sdc1   2048 7814035455 7814033408  3.6T Linux RAID


Disk /dev/sdd: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000DM000-1F21
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: E50D44A3-67C3-43AD-AD96-D11A66A0DCC8

Device     Start        End    Sectors  Size Type
/dev/sdd1   2048 7814035455 7814033408  3.6T Linux RAID


Disk /dev/sde: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: OCZ-SOLID3
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: gpt
Disk identifier: 6D5DF417-2864-48FC-83DC-A1E42EF3DE9C

Device       Start       End   Sectors   Size Type
/dev/sde1     2048   2203647   2201600     1G EFI System
/dev/sde2  2203648 234438655 232235008 110.7G Linux filesystem

Вывод команды mdadm --examine /dev/sd*

/dev/sda:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 1d5b33b8:7c4c31ce:c694e0b0:d0335928
           Name : mediaserver:0  (local to host mediaserver)
  Creation Time : Wed Sep 25 21:14:48 2024
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 7813770895 sectors (3.64 TiB 4.00 TB)
     Array Size : 11720655360 KiB (10.92 TiB 12.00 TB)
  Used Dev Size : 7813770240 sectors (3.64 TiB 4.00 TB)
    Data Offset : 264192 sectors
   Super Offset : 8 sectors
   Unused Space : before=264112 sectors, after=655 sectors
          State : clean
    Device UUID : 15aba39b:06fdb0ba:3b3fe20f:d646646e

Internal Bitmap : 8 sectors from superblock
    Update Time : Wed Sep 25 21:14:48 2024
  Bad Block Log : 512 entries available at offset 24 sectors
       Checksum : 650e8daa - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : A... ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdb1.
/dev/sdc:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdc1.
/dev/sdd:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdd1.
/dev/sde:
   MBR Magic : aa55
Partition[0] :    234441647 sectors at            1 (type ee)
/dev/sde1:
   MBR Magic : aa55
mdadm: No md superblock detected on /dev/sde2.

Я бы сделал следующее:

  1. Сначала определите удаленный диск. Используйте fdisk или какой-либо другой инструмент, чтобы убедиться. (mdadm --examine – лучший вариант, так как вы можете увидеть устройство). Если вы установили чистую ОС на него, как вы сказали, извлеките диск и попробуйте загрузиться на другом компьютере. Вы должны быть УВЕРЕНЫ, что этот диск идентифицирован. Я бы на данный момент просто отключил этот диск.

  2. Используйте mdadm, чтобы проверить диски, у которых есть распознаваемые суперблоки. Я бы записал имена устройств, чтобы убедиться. Если на трех оставшихся дисках нет распознаваемых суперблоков, у вас проблемы. Вам нужны все три, чтобы повторно собрать RAID. Убедитесь, что вы удалили неработающий (удаленный) диск из массива: mdadm /dev/md0 --remove /dev/sd?? (убедитесь, что вы удаляете правильный диск).

  3. Если у вас три диска, просто выполните команду сборки (mdadm --assemble --force /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1). Если у вас только два, вам не повезло. Нечего восстанавливать.

  4. Сотрите содержимое удаленного диска. Попробуйте удалить разделы с помощью fdisk. Если это не сработает, используйте dd и удалите первые ГБ диска. Таким образом вы сможете снова добавить диск в массив. (вероятно, это работает и без удаления, я не пробовал).

  5. Добавьте новый диск в массив. mdadm /dev/md0 --add /dev/sd??

  6. Последний вариант. Суперблоки не обнаружены: попробуйте собрать с creat: mdadm --create /dev/md0 --level=5 --raid-devices=4 и замените отсутствующее устройство словом missing.

  7. Если вы дошли до этого момента, вам нужно будет воссоздать файл mdadm.conf и обновить начальную RAM FS.

Ответ или решение

Ваша ситуация с RAID 5, где один из дисков был перезаписан, действительно сложная, но не безнадежная. Попробуем рассмотреть шаги, которые могут помочь восстановить массив и получить доступ к данным на оставшихся трех дисках.

Шаги по восстановлению RAID 5:

  1. Отключите перезаписанный диск: Убедитесь, что физически отключили диск /dev/sda, на который вы установили новую ОС, чтобы исключить возможность случайного взаимодействия с ним.

  2. Проверка дисков на наличие суперблоков: Запустите команду mdadm --examine /dev/sd*, чтобы увидеть, какие из оставшихся дисков имеют распознаваемые суперблоки. В вашем случае, ожидается, что /dev/sdb1, /dev/sdc1 и /dev/sdd1 должны отображать информацию о RAID. Запишите названия устройств, которые имеют суперблоки.

  3. Соберите массив с известными дисками: Если хотя бы три диска имеют действующие суперблоки, вы можете попытаться собрать массив. Используйте следующую команду:

    sudo mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1

    Если система сообщает о том, что не удается собрать массив, попробуйте установить порядок дисков. Если доступно только два диска с суперблоками, восстановить массив не получится.

  4. Удаление перезаписанного диска из массива: Если массив не собирается должным образом, убедитесь, что диск, на который была установлена OS, был удалён (при необходимости используйте --remove).

  5. Перезапись метаданных на удаленном диске (если необходимо): Если вы планируете добавить диск обратно в массив, вам может понадобиться удалить его разделы. Используйте fdisk для удаления всех разделов. Альтернативно, можно использовать dd, чтобы обнулить первые 1 ГБ диска:

    sudo dd if=/dev/zero of=/dev/sda bs=1M count=1024
  6. Добавьте диск заново в массив: После очистки вы можете добавить диск обратно в массив командой:

    sudo mdadm --manage /dev/md0 --add /dev/sda1
  7. Создание нового массива (если суперблоки отсутствуют): Если ни один из дисков не обнаруживает суперблоки, вы можете создать новый RAID через mdadm, указав недостающие устройства как "missing":

    sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 missing
  8. Обновление конфигурации: После успешной сборки массива вам необходимо обновить файл конфигурации mdadm.conf и перегенерировать образ начальной ramdisk (initramfs), чтобы система могла правильно распознавать массив при следующем запуске.

    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
    sudo update-initramfs -u

Важно:

  • Перед выполнением любых операций с дисками создайте резервную копию важной информации (если это возможно).
  • Восстановление данных может занять время, и в зависимости от состояния диска и самого массива могут потребоваться специализированные инструменты и знания для полного восстановления данных.
  • Если вы не уверены в своих действиях или важности данных на дисках, рассмотрите возможность обращения к профессионалам по восстановлению данных.

Заключение

Следуя приведенным шагам, вы сможете попытаться восстановить ваш RAID 5 массив. Помните, не стоит паниковать — все еще есть возможность восстановления данных на оставшихся дисках. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...