Это будет просто история. История о том, как у меня рассыпался RAID на
сервере, и как я, в попытке его восстановить, "потерял" все данные на
нем. Казалось бы, у меня довольно большой опыт работы в -nix системах,
в голове достаточно много знаний, есть понимание, что надо внимательно
читать и документацию и выхлоп консоли, но все же иногда случаются
досадные промахи, по типу этого. Так что не буду стесняться и напишу
все, как было (по крайней мере то, что могу вспомнить, так как это
было полтора месяца назад, как летит время).
Несмотря на то, что я написал "потерял", данные у меня все же
сохранились, так как я все же оказался достаточно сообразительным, и
перед тем, как делать манипуляции с дисками, сделал полный бэкап. Да,
неудачное восстановление уничтожило данные на самом массиве, но это не
была безвозвратная потеря. Так что, из ущерба у меня лишь удар по
самооценке и несколько часов времени. Из приобретений — некоторое
количество опыта, по крайней мере из разряда "как не надо делать".
Началось все с того, что я заглянул в dmesg и увидел, что один из
дисков, входящих в мой RAID1C перестал подавать признаки
жизни. Система, конечно, выезжала на втором, но ежу понятно,
надежность стала на уровне "авось". Так сложилось, что это все совпало
с моментом, когда я собрался менять процессор (для того, чтобы наконец
то запустить на сервере виртуалку в vmd), поэтому удалось обойтись без
лишней операции сборки-разборки. Но, если замена CPU прошла удачно, в
случае с дисками все пошло наперекосяк.
Вообще, процедура должна была быть достаточно простой - нужно всего
лишь поменять диск, добавить его в имеющийся RAID и скомандовать
"восстанавливайся", но тут то я и накосячил. Диск я вставил (такой же,
как помер, кстати), сделал на нем такую же таблицу разделов (более
того, перенес ее с рабочего диска, благо с помощью disklabel это
сделать легко), но почему-то восстановление работать отказывалось.
Не могу сказать, что именно пошло не так. По итогу я каким-то пинком
(а именно, подсунув на второй диск десять мегабайт первого) сумел
запустить восстановление, но, похоже что восстановил не с первого
диска на второй, а наоборот. Как я писал выше, данные я
потерял. Возможно, из-за того, что профукал уникальность
DUID-ов. EPIC, что называется, FAIL.
Что ж. я был к этому готов, бэкап был сделан заранее, так что никто не
умер, кроме зря потраченного времени. Но, желая все же понять, "как
надо", я повторил операцию восстановления RAID1C на виртуальной
машине. Получилось успешно, так что вся методика будет приведена ниже.