Были проблемы с загрузкой системы у dio. И надо было восстановить загрузчик. Собственно вот и посвящена этому статья.
Хочу поделиться с Вами своим опытом в восстановлении системы gentoo linux. Случилось все это как всегда – в самый неподходящий момент и под выходные – очевидно не везло мне тогда какое – то время…жизнь — она как тельняшка – то белые полосы, то черные.
Мне позвонили с техплощадки провайдера и сказали, что на одном из моих серверов загорелась красная лампочка, сигнализирующая о том, что что-то случилось с аппаратной частью сервера. С такими делами не шутят и я двинулся быстренько туда, узнать в чем дело. Прибыв на место и осмотрев свой сервер я понял, что это “что – то” случилось с одним из дисков массива. Возможно он вылетел из RAID, а возможно и просто сгорел… или глючит контроллер винта или сам RAID контроллер на “матери”… все возможно, но я решил идти по пути наименьшего сопротивления и сначала оценить риски меньших потерь – надо разбираться с самим диском, подумалось мне, а потом все остальное…
Первое что решил сделать – это снять свежую копию ghost-ом. Взял и подцепил на ide разъем сервера простой винт, загрузился с дискеты и “слил” образ своего массива со всеми данными на принесенный ide винт. Хорошо… А что дальше? А дальше надо искать из запасных SCSI винтов что-то на замену. Я его нашел, правда он был другого производителя, и смело всунул в гнездо “горячей” замены… но он почему-то не “подхватился”, а лампа продолжала мигать. И в ядре я ничего не увидел о “подхвате нового устройства”. Более того, через время замигала еще одна лампа (с ужасом заметил я) и по – поводу уже другого винта в этом – же RAID-е. Что делать? Пришла беда открывай ворота?? Вот уж “не везет и как с этим бороться”….Эта мысль уже панически стала стучать у меня в голове, но ничего, подумал я — на выходные можно тормознуть сервак и перезагрузившись, войти в утилиты RAID и перестроить его, предварительно отформатировав этот злополучный новый винт. Меня все эти манипуляции не особо пугали по причине наличия свежей копии ghost-а… я так и думал, чтобы не натворил с массивом, все равно залью копию, она все и поправит 🙂
самоуверенный какой нашелся :-)… но тогда мне было не страшно. Нервное напряжение толкало просто на решительные действия. Войдя в утилиты производителя я отформатировал новый винт, потом перестроил RAID 5 уровня, включив в него новый диск. При включении был вопрос о размере блока на винте, я взял что-то по среднему, не придав этому особого значения… эх спешка – спешка… 🙂
RAID создался, образ слился из копии удачно. Я уже обрадовался, что сделал всю работу и можно будет скоро отдохнуть, но после перезагрузки, вместо окна загрузки GRUB, увидел просто надпись на экране GRUB и все… тишина и покой… и “мертвые с косами стоят…” мне поплохело и я стал наконец – то думать… 🙁 … через время я понял, что очевидно нарушил структуру соответствия размеров разделов “старой” и “новой” системы gentoo и теперь он не хочет загружаться со своего привычного места… встал вопрос о восстановлении загрузчика, но дело в том, что я раньше не делал этого на gentoo и очень мутно представлял, как это делать, тем более, что у меня не было загрузочной дискеты – этот сервак не мой был изначально, он достался мне “по наследству”… не беда – слив из интернета образ gentoo и записав его на болванку я загрузился, но все мои попытки после этого восстановить grub командой grub-install не увенчались успехом – система этого просто не делала… хорошо еще, что у меня была карта разделов (этот урок я усвоил давно! Вы можете это увидеть и сохранить по команде df) – т.е. интерпретация разделов с точки зрения системы – что там у меня есть корень и как его видит и понимает система – т.е. у меня это(корень) было как /dev/sda3 и так относительно всех разделов, кроме свопа конечно 🙂
Мучаюсь дальше – стыкуюсь со своим другом crash по Асе он и говорит — “Сначала смонтируй корневой раздел восстанавливаемой системы в произвольную папку, а потом выполни команду #chroot folder_name , где folder_name и есть имя той папки. Т.е. я сделал то, что он посоветовал и получил следующее:
#mkdir /mnt/folder1 создал папку в подкаталоге /mnt;
#mount /dev/sda3 /mnt/folder1 смонтировал туда корневой раздел восстанавливаемой системы;
#chroot /mnt/folder1 сменил текущий root каталог на root каталог старой системы, чтобы все команды выполнялись из окружения восстанавливаемой системы.
После этого смонтировал остальные каталоги по карте каталогов в произвольные папки, но от текущего root каталога и… самое главное… даю команду #grub-install /dev/sda3 это корневой каталог.
Перезагрузка и… вуаля!!! – и система загружается и grub восстановлен и я счастлив… проверил загрузку, проверил старт всех служб и дунул домой отдыхать, получив незабываемый опыт и полный чувства благодарности к товарищу crash. Спасибо ему за то, что помогает в свое личное время и главное – за правильные и толковые советы.
PS Конечно, я допускаю, что в ходе этих работ я где – то ошибался… кроме этого еще и возможно, что все это можно было сделать проще и быстрее, но как сказала Эви Немет — “может это и глупо, но это работает!” а именно ЭТО мне и нужно было на тот момент 🙂 !!