В воскресенье мне пришлось вскрыть корпус файлового сервера, чтобы заменить неисправный вентилятор. Чего я не заметил, так это того, что один из sata-кабелей был неправильно подключен. Первым делом после перезагрузки я проверил статус RAID, и он сразу показал, что отсутствует один диск. До этого момента устройство не использовалось (однако оно было смонтировано, поэтому я не уверен на 100%, что система ничего не сделала). Остановил md0 и снова подключил кабель:
mdadm --stop /dev/md0
poweroff
После очередной перезагрузки проверил снятый диск:
mdadm --examine /dev/sdd1
...
Checksum : 3276bc1d - correct
Events : 315782
Layout : left-symmetric
Chunk Size : 32K
Number Major Minor RaidDevice State
this 0 8 49 0 active sync /dev/sdd1
0 0 8 49 0 active sync /dev/sdd1
1 1 8 65 1 active sync /dev/sde1
2 2 8 33 2 active sync /dev/sdc1
3 3 8 17 3 active sync /dev/sdb1
Я был немного удивлен, что он был показан как активный (даже если ранее mdadm сказал, что это устройство было удалено из массива) и его контрольная сумма в порядке. Я воссоздал RAID с помощью:
mdadm --assemble /dev/md0 --scan
Команда mdadm --detail /dev/md0
показал, что все диски работают и система находится в «чистом» состоянии. Я установил устройство md0 и тут пришла икота. Я хотел поработать над одним из последних файлов, которые я использовал перед всей ситуацией, но его там не было. В другом месте я фактически пропустил все файлы из каталога, в котором я работал. Насколько я могу судить, большинство файлов старше нескольких дней не повреждены, но некоторые более новые отсутствуют.
А теперь главный вопрос: что бы вы посоветовали? Есть ли способ получить эти данные? Я подумал об удалении диска, который ранее был помечен mdadm, и перестроить массив с другим пустым жестким диском.
Я обнаружил, что после повторной сборки «сломанный» диск оказывается на другом месте в RAID (раньше он был на 3-м месте, затем на 4-м). Может ли это повлиять на процесс восстановления? Если да, то как правильно собрать массив? Я уверен, что SATA-кабели подключаются к контроллеру в таком же порядке.
p.s. Пожалуйста, никаких советов типа «восстановление из резервной копии». Я делаю резервные копии в воскресенье вечером, а это произошло ближе к вечеру, поэтому резервное копирование для меня не вариант.
p.s.s. Я задал этот вопрос по Unix и Linux, но в течение последних двух дней ответа не было. Я очень волнуюсь. Извините за дублирование, если кто-то из вас читает другой форум.
Может, это кому-нибудь поможет.
Раньше я этого не писал, но на всех четырех разделах было одинаковое количество событий
mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd`'
mdadm: No md superblock detected on /dev/sda1.
Events : 315786
Events : 315786
Events : 315784
Events : 315786
Тем не менее, после некоторого чтения я решил удалить "отказавший" диск и повторно собрать мое устройство md0.
mdadm --manage --set-faulty /dev/md0 /dev/sdd1
mdadm /dev/md1 --stop
mdadm --assemble /dev/md0 /dev/sd[bce]1 --force
mdadm --manage /dev/md0 --add /dev/sdd1
Пожалуйста, не спрашивайте меня, почему это сработало. Для меня важно то, что я вернул все файлы (таблица размещения файлов показывает правильный содержание справочников. Все недостающие файлы есть.