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

Восстановление LVM после восстановления RAID

У меня есть 4 диска RAID-5ed для создания md0 и еще 4 диска RAID-5ed для создания md1. Затем они объединяются через LVM для создания одного раздела.

Пока меня не было, произошло отключение электроэнергии, а когда я вернулся, все выглядело так, как будто один из дисков в md1 не синхронизирован - mdadm продолжал утверждать, что он может найти только 3 из 4 дисков. Единственное, что я мог сделать, чтобы что-нибудь произошло, - это использовать mdadm --create на этих четырех дисках, а затем позвольте ему восстановить массив. Мне это показалось плохой идеей, но все, что у меня было, не было критичным (хотя на то, чтобы все это вернуть, потребуется время), и нить где-то утверждал, что это исправит ситуацию. Если это уничтожило все мои данные, я полагаю, вы можете перестать читать и просто скажите мне это.

После четырех часов ожидания восстановления массива md1 выглядел нормально (я полагаю), но lvm жаловался на то, что не смог найти устройство с правильным UUID, предположительно из-за того, что md1 изменил UUID. Я использовал pvcreate и vgcfgrestore команды, как описано Вот. Попытка запустить lvchange -a y на нем, однако, дает мне resume ioctl failed сообщение.

Есть ли у меня надежда восстановить свои данные, или я их полностью испортил?


Мой LV был настроен линейно. Кажется, я смогу восстановить хотя бы данные из md0, используя что-то вроде TestDisk. Тем не мение, Примеры показать разделы LVM, перечисленные в TestDisk, тогда как я вижу только sda, sdb и т. д. и md0 и md1.

[$]> lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lvm
  VG Name                VolGroup
  LV UUID                b1h1VL-f11t-TGJv-ajbx-4Axn-wi89-fReUKu
  LV Write Access        read/write
  LV Status              suspended
  # open                 0
  LV Size                6.14 TiB
  Current LE             1609648
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

[$]> lvchange -ay /dev/VolGroup/lvm
  device-mapper: reload ioctl failed: Invalid argument

Я боюсь, что, объединив два (RAID) диска в том LVM, а затем удалив и воссоздав один из этих дисков, вы фактически потеряете свои данные. Если вы использовали чередование LVM, они определенно исчезли, поскольку все остальные фрагменты ваших файлов были на этом диске. В линейном режиме вы можете восстановить часть ваших файлов с помощью некоторого программного обеспечения для восстановления диска.

Жалко, потому что ваша базовая конфигурация разумна. Благодаря RAID5 у вас должен был быть доступ к тому даже при отсутствии одного диска. Я бы предложил резервную копию перед "mdadm --create" ...

В следующий раз у вас есть два варианта ... либо вы можете вручную попытаться собрать рейд, используя mdadm --assemble вместо --create. Или вы можете использовать «ckraid» аналогично проверке файловой системы, но для массивов raid 5. (О последнем упоминается в Linux Software Raid How-To).

Лично, однако, если вы используете SW Raid без ИБП, я бы лично выбрал Raid 10 вместо 5 или 6, поскольку он должен быть более терпимым к проблемам с питанием.