Сбой томов на RAID - как справиться?

У меня возникла ситуация с RAID, за которую я недавно взял на себя ответственность и действительно могу воспользоваться некоторыми советами. Надеюсь, я не сильно испортил это.

Пара серверов в специальном кластере, которым я управляю, начала сообщать о проблемах с диском. Я запустил fsck на одном, xfs_repair на другом. Первый, похоже, исправлен, второй не сообщил о проблемах. Они могут быть смонтированы на чтение и запись и могут выдавать ошибки чтения для определенных файлов.

Я проследил диски обратно к одному RAID:

  • JetStor 416iS
  • 16 750 ГБ дисков
  • Одна группа томов со многими томами данных, RAID 6

Глядя на интерфейс администратора JetStor:

  • два диска были указаны как неисправные
  • 6 дисков указаны как дефектные
  • три тома пользователя были перечислены как сбойные (два для меня важнее других)

Вот что я сделал:

  1. Перемонтировал все разделы только для чтения или размонтировал их. (Хотя служба поддержки JetStor сказала, что в этом нет необходимости. На устройство не распространяется гарантия, но они ответили на этот вопрос для меня)
  2. Заменил (с горячей заменой) два неисправных диска и позволил восстановить их.
  3. Заменили (с горячей заменой) два диска с пометкой "дефект" и позволили восстановить их. Эти два диска были связаны с двумя более важными сбойными пользовательскими томами в панели администратора JetStor.
  4. Создал пару новых пользовательских томов, которые будут выступать в качестве больших томов для замены и выступать в качестве промежуточного хранилища.
  5. Попробовал перемонтировать два сбойных тома. Теперь они вообще не будут садиться.
  6. Запуск xfs_repair на одном из них теперь генерировал ошибки о плохих суперблоках и некоторых попытках восстановления, а также дамп в каталог lost+found с большим количеством файлов, но не исправление поврежденного, на которое я надеялся. Я собираюсь восстановить все, что я могу для этого диска из резервной копии и реконструировать остальное (он содержит каталог для моей системы резервного копирования, так что да!)

Поэтому мой вопрос касается второго тома пользователя (типа ext3). Я еще не пытался восстановить его b/c того, что случилось с томом xfs (то есть дамп в lost+found). У меня есть частичная резервная копия этого тома, охватывающая самые важные файлы, но было бы здорово вернуть все остальные (которые еще не были повреждены). Если восстановленные файлы будут сброшены в lost+found, это будет, конечно, намного лучше, чем ничего.

Я попытался dd это, но это провалилось всего несколько концертов (это объем 500 ГБ):

dd if=/dev/sdf of=/homLocDump/sdfDump.img conv=noerror,sync 

dd: reading `/dev/sdf': Input/output error
15002344+0 records in
15002344+0 records out
7681200128 bytes (7.7 GB) copied, 493.416 seconds, 15.6 MB/s
dd: writing to `/homLocDump/sdfDump.img': Read-only file system
15002344+1 records in
15002344+0 records out
7681200128 bytes (7.7 GB) copied, 493.417 seconds, 15.6 MB/s

fsck показывает это:

[root@shank ~]# fsck.ext3 -nv /dev/sdf
e2fsck 1.39 (29-May-2006)
Couldn't find ext2 superblock, trying backup blocks...
fsck.ext3: Bad magic number in super-block while trying to open /dev/sdf

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
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>

Я попытался с опциями '-b', с блоками 8193, 16384 и 32768, а затем с большим количеством суперблоков для блока 4k fs (я предполагаю, что это размер блока 4k, как у других устройств в этой системе), но получил то же самое.

dumpe2fs:

[root@shank ~]# dumpe2fs /dev/sdf
dumpe2fs 1.39 (29-May-2006)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdf
Couldn't find valid filesystem superblock.

Могу ли я вообще попробовать fsck на этом томе? Помимо проблемы с суперблоком, я сейчас не уверен насчет целесообразности запуска fsck на томах рейдов.

Можно ли временно заменить старый дефектный диск в RAID-массиве, чтобы получить состояние, в котором том можно смонтировать, и восстановить некоторые файлы?

Кроме того, мне любопытно, как такой объем может ухудшиться в рейде - разве рейд не должен защищать целостность? Если два диска выйдут из строя в RAID 6, разве это не должно терпеть это?

2 ответа

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

На этом этапе лучшее, что вы можете сделать, кроме резервного копирования и / или привлечения профессионалов к восстановлению ваших данных, - это настроить системы мониторинга и процессы, чтобы убедиться, что вы не получите отказавший массив снова, заменяя диски, когда они выходят из строя, а не после того, как стало слишком поздно и слишком многие не смогли восстановить все ваши данные.

Я также серьезно подумал бы о работе в другом месте. Окружающая среда, которой было разрешено распадаться до такого состояния, - это особый ад.

На данный момент, совершенно ясно, что ваши тома потеряны. Теперь у вас есть решение: насколько сильно вам нужны эти данные?

  • Если у вас есть время и вы не возражаете против дальнейшей потери данных, продолжайте экспериментировать.

  • Если вам это нужно, выключите весь массив. Пометьте диски в их текущих положениях. Также пометьте диски, которые вы удалили во время перестройки, с тем, откуда они пришли. Позвоните специалисту по восстановлению данных, например, OnTrack, и договоритесь о доставке массива для восстановления.

  • Если вам не нужны данные, я советую начать с резервного копирования. Но убедитесь, что вы заменили ВСЕ диски, которые вернули ошибки. Пока вы на нем, посмотрите журналы SMART для всех дисков и замените те, у которых больше ошибок, чем у других. Возможно, вам придется удалить существующие тома.

В долгосрочной перспективе я рекомендую перенастроить ваш массив. 16 дисков в конфигурации RAID5 или RAID6 - это слишком много. Я рекомендую разделить ваши диски на две группы из 8, использующих RAID6 и RAID0 на этих дисках. JetStor может сделать это для вас автоматически и может назвать его RAID60.

Другие вопросы по тегам