Случилось у меня тут горе. Прихожу себе на работу с утра, никого не трогаю - и вдруг в 10.30 вылетает сообщение с одного из Netware 6.5 SP5. Дескать, абенд - и все такое. Ладно, думаю - ща мы тебя перегрузим и все будет прекрасно. Удивился, правда - сервак стоял без перегруза около трех месяцев, я его вообще не трогал за исключением того, что за день до этого менял квоты на тома внутри одного из пулов.
Перегружаю - и вижу, что щастья не будет! Тот самый пул, в котором я ковырялся NSSMU, выбивает систему в critical error! Причем с очень и очень неприятной ошибкой - Free tree block detected. Так, думаю - лет пять тому у меня подобная фигня кончилась переустановкой сервака. Нехорошо все, короче.
Ладно. думаю, хрен с вами. Мы же умные - знаем, что есть server -ns -na и всякие loadstage. Посмотрю, думаю, что там происходит. И обнаруживаю интересное - на loadstage 1 при загрузке NSS.NLM сервак вылетает! Так, думаю - мои надежды на nss /poolrebuild пошли прахом... Мне становится совсем-совсем скучно - бэкапа по нашей бедности у нас толкового так и нет, винт, на который бэкап сваливался через нвзип - захандрил и все никак руки не доходили его поменять. В общем - понимаю я всю прелесть своей ситуации и чувствую, как все глубже погружаюсь в анальное отверстие.
В общем, я долго колупался с порядком загрузки модулей и часам к пяти вечера нашел рецепт. Его здесь и привожу - вероятно, для многих это "боян" - но я просто не нашел в инете готового сценария.
1. Грузим сервер server -ns -na (т.е. отменяем загрузку startup.ncf и autoexec.ncf)
2. При загрузке - обязательно жмем F8 и переходим в Maintenance mode. Сегодня только обнаружил, что это крайне удобная штука, которая позволяет загружаться с возможностью отменить загрузку на любом этапе. Мне понравилось - тем более, что без этого ни фига у меня не получилось бы.
3. После того, как наш калека загрузился - перво-наперво набираем в консоли startup. Заодно смотрим - в порядке ли у нас диск. Т.е. ежели проблема в железа - еще на этапе загрузки дров станет ясно - хорошо диску или совсем нехорошо.
4. У меня все прошло хорошо - все дрова загрузились. Прекрасно! Пробуем loadstage 1
5. Тут-то и начинается самое интересное
![Smile :)](./images/smilies/icon_smile.gif)
6. Дальше - нам таки надо загрузить этот самый NSS.NLM. Делаем финт ушами - грузим его nss /skiploadmodules. Т.е. грузим сам нсс - но никаких модулей к нему не подгружаем. Мы позже все это проделаем аккуратно ручками.
7. Начинием помаленьку грузить nss-модули. Их названия я смотрел просто - в консоли загрузил edit и через его файловый менеджер смотрел, как называются модули. Последовательно грузим все за исключением XIPC.NSS (оно надо для кластера, которого у меня в помине нет и, несмотря на то, что проблем, скорее всего, не будет - видеть красные FAILED неприятно. Особенно когда нервы на пределе) и ZLSS.NSS (оно-то как раз и надо для монтирования пулов и томов с диска). Скорее всего, всякие cddvd.nss нам нафик не надо - одна пусть будет. Времени испытывать и так нету.
8. Дальше небольшое шаманство: набираем nss /poolautoactivate=sys. По умолчанию сценарий активации пулов такой - сначала они ВСЕ деактивируются, потом - опять же ВСЕ активируется. Что в нашем случае приводит к граблям. Вот почему мы и отменили дефолтную загрузку NSS.NLM. Данная команда подменяет дефолтную nss /poolautoactivate=ALL на nss /poolautoactivate=sys. Т.е. в моем случае монтируется только один пул - заведомо нормальный (раньше по логам консоли я выяснил, что поврежден пул с данными, не системный. Думаю, тут есть люди, которые способны написать команду, которая бы отменяла активацию всех пулов. У меня не было времени на выяснения). Для страховки: nss /poolautodisplay и убеждаемся, что поврежденные тома не активируются автоматом.
9. Вот теперь - набираем zlss.nss (load zlss.nss). Свершилось чудо! У нас появились средства для работы с zlss-томами и при этом сервак не впал в кому!
10. Дальше - все просто. nss /poolrebuild=[VOLUME] (VOLUME надо заменить на имя поврежденного тома). Соглашаемся с тем, что "тома буду деактивированы", заодно поднимая себе настроение - мы же в курсе, что они и так отключены. Смотрим на веселенькую консоль, которая показывает проценты восстановления. Если все хорошо - прогресс дойдет до 100% и все будет ОК. Вздыхаем облегченно - однако для вящей надежности делаем nss /poolverify=[VOLUME] и убеждаемся, что наи ошибок, ни варнингов нет. Вроде как все
![Smile :)](./images/smilies/icon_smile.gif)
11. Для полного счастья: nss /poolactivate=[VOLUME] и убеждаемся, что пул починен. Т.е. - активируется, тома монтируются. В общем, все хорошо. Можно вздохнуть, похвалить себя, умного и принимать слезы радости восхищенных пользователей. При этом настоятельно рекомендую забыть их же - только пятиминутной давности. Злобных и некрасивых
![Smile :)](./images/smilies/icon_smile.gif)
Извините, что получилось так долго - просто у меня сегодня праздник
![Smile :)](./images/smilies/icon_smile.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)