Как я чинил NSS-пул...

Новости раздела "Грабли". Здесь можно задать вопрос авторам статей.

Как я чинил NSS-пул...

Сообщение Иван Левшин aka Ivan L. » 13 сен 2006, 23:13

Сначала - зачем все это написал....

Случилось у меня тут горе. Прихожу себе на работу с утра, никого не трогаю - и вдруг в 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. Тут-то и начинается самое интересное :) Как только появляется предложение загрузить NSS.NLM - тут же с негодованием его отвергаем. Потому как в моем случае из-за MSAP (надо будет еще посмотреть, что это такое) пулы активируются автоматом. Что нам совсем не надо - потому как попытка активировать поврежденный пул приведет к абенду

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] и убеждаемся, что наи ошибок, ни варнингов нет. Вроде как все :)

11. Для полного счастья: nss /poolactivate=[VOLUME] и убеждаемся, что пул починен. Т.е. - активируется, тома монтируются. В общем, все хорошо. Можно вздохнуть, похвалить себя, умного и принимать слезы радости восхищенных пользователей. При этом настоятельно рекомендую забыть их же - только пятиминутной давности. Злобных и некрасивых :)

Извините, что получилось так долго - просто у меня сегодня праздник :) Надеюсь, кому-то поможет. Понеимаю, что приведенное не панацея "от всех болезней" и, возможно, кому-то это известно. Просто я - не нашел. Если кому-то пригодится - будет здорово. Денег слать не нада :D
Последний раз редактировалось Иван Левшин aka Ivan L. 15 сен 2006, 11:00, всего редактировалось 5 раз(а).
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Хорошая работа, Иван.

Сообщение skoltogyan » 13 сен 2006, 23:41

Спасибо.
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Timur Kazimirov » 14 сен 2006, 03:33

ЗАЧОТ!!! :)
Timur Kazimirov
 
Сообщения: 1153
Зарегистрирован: 10 фев 2004, 09:56
Откуда: Южно-Сахалинск

Re: Как я чинил НСС-пул...

Сообщение Dimerson » 14 сен 2006, 06:56

ИВАН ЖЖОТ !
В МЕМОРИЗ !
Аватара пользователя
Dimerson
 
Сообщения: 2951
Зарегистрирован: 15 сен 2002, 14:39
Откуда: Регион 70

Сообщение Иван Левшин aka Ivan L. » 14 сен 2006, 07:49

Рад стараться и охота есть служить! (с)
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Если я не ошибаюсь, то

Сообщение Андрей Фисенко » 14 сен 2006, 09:18

в C:\NWSERVER\ лежит файлик NSSstart.cfg
Если не лежит - его можно создать.
NSS при загрузке сначала смотри его.
Для разбора полетов рекомендуется вколотить туда /poolAutoDeactivate=all
И после загрузке сервака можно будет ковырять том SYS, например.
Не забывать убрать эту команду из файла после починки. :)
Еще в NW 6.5 можно грузануть сервак server -z"/poolautodeact=[VOLUME]"
Еще для починки тома SYS может понадобиться специальный ключик purge nss /poolrebuild=sys /purge
Последний раз редактировалось Андрей Фисенко 15 сен 2006, 11:55, всего редактировалось 1 раз.
Андрей Фисенко, SUSE
[url=http://www.suse.com][/url]
Андрей Фисенко
 
Сообщения: 1311
Зарегистрирован: 05 июн 2002, 08:13
Откуда: Красноярск

Re: Если я не ошибаюсь, то

Сообщение Dimerson » 14 сен 2006, 09:23

Андрей Фисенко писал(а):в C:\NWSERVER\ лежит файлик NSSstart.cfg
Если не лежит - его можно создать.
NSS при загрузке сначала смотри его.
Для разбора полетов рекомендуется вколотить туда /poolAutoDeactivate=all
И после загрузке сервака можно будет ковырять том SYS, например.
Не забывать убрать эту команду из файла после починки. :)
Еще в NW 6.5 можно грузануть сервак server -z"/poolautodeact=[VOLUME]"
Еще для починки тома SYS может понадобиться специальный ключик purge nss /poolrebuild=sys /purge


Есчо раз в МЕМОРИЗ !
Аватара пользователя
Dimerson
 
Сообщения: 2951
Зарегистрирован: 15 сен 2002, 14:39
Откуда: Регион 70

Сообщение Музалёв Николай » 14 сен 2006, 17:30

И моя ложка дегтя, если позволите...
Иван, разделите пункты пустыми стороками, пожалуйста, а то читать потоком трудновато...
А так - очень хорошо и рад за вас.
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3034
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Танин Виктор » 15 сен 2006, 01:10

Полно и доходчивао написано. Главное, чтоб никому из админов не пригодилось в работе. А так - однозначно в memories.
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Сообщение Андрей Тр. aka RH » 15 сен 2006, 07:08

+100 !!!!!
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Иван Левшин aka Ivan L. » 15 сен 2006, 11:00

Музалёв Николай писал(а):И моя ложка дегтя, если позволите...
Иван, разделите пункты пустыми стороками, пожалуйста, а то читать потоком трудновато...
А так - очень хорошо и рад за вас.

Позволим. Исправлено :)
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Сергей Дубров » 15 сен 2006, 19:34

Иван Левшин aka Ivan L. писал(а):
Музалёв Николай писал(а):И моя ложка дегтя, если позволите...
Иван, разделите пункты пустыми стороками, пожалуйста, а то читать потоком трудновато...
А так - очень хорошо и рад за вас.

Позволим. Исправлено :)

Молодец, Иван, хорошая работа. Главное - не дёргался и не наделал необратимых ошибок. Ещё "баян" в помощь, для подобного сорта разборок:

SERVER -NDB Do not open NDS DIB, just load DS.NLM
SERVER -S Startup with the file specified in file for STARTUP.NCF
SERVER -A Startup with the file specified in file for AUTOEXEC.NCF
SERVER -NS Do not load with STARTUP.NCF
SERVER -NA Do not load with AUTOEXEC.NCF
SERVER -L Display logo on startup
SERVER -NL Do not display logo on startup
SERVER -V Turn on System Verbose information
SERVER -L* Do not check the server startup directory for bound in NLMs, use bound in NLMs only
SERVER -L! Only load bound in NLMs from the server startup directory
SERVER -#a Process up to load stage a where a is a number
SERVER -#a-b Process load stage a to b with b always more than a
SERVER -#!a Do not process stage a, skip it
SERVER -#!a-b Do not process stage a to b, skip them,with b always more than a
SERVER -z"/namecachesize=* /cachebalance=yy /numbonds=zzzzz" or any other startup NSS parameters you want
SERVER -LSxxx Adjust the size of the logger screen memory in Kb, i.e. -LS250 for 250Kb (NW6.x only)

Обратите внимание на ключик -z"" - Андрей Фисенко про него выше уже упомянул - зная про него, можно было не заморачиваться с -na -ns, с loadstage, F8 и т.п., а сразу указать нужные стартовые ключики для nss. Кстати, это прямиком из документации :wink:: NSS Startup Commands
Аватара пользователя
Сергей Дубров
 
Сообщения: 2096
Зарегистрирован: 05 июн 2002, 06:07
Откуда: Новосибирск, ин-т ядерной физики СО РАН

Re: Как я чинил NSS-пул...

Сообщение Сергей Дубров » 16 сен 2006, 17:04

Иван Левшин aka Ivan L. писал(а):Потому как в моем случае из-за MSAP (надо будет еще посмотреть, что это такое)

Из документации: "Multiple server activation prevention (MSAP) to help protect pools from being concurrently activated by multiple servers that do not share a cluster relationship"
Аватара пользователя
Сергей Дубров
 
Сообщения: 2096
Зарегистрирован: 05 июн 2002, 06:07
Откуда: Новосибирск, ин-т ядерной физики СО РАН

Сообщение Иван Левшин aka Ivan L. » 17 сен 2006, 12:50

Сергей, спасибо :)

Вот в результате мы и получили два пути решения проблемы. По поводу документации - каюсь, смотрел не тщательно. Времени не было - да и nss /help выдает все, что нужно :)
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Rockwear » 27 ноя 2008, 18:20

Спасибо огромнишееее... ОТвалился том сам по себе....благодаря статейке все вылечил. Спасибо Вам гуру.
Rockwear
 
Сообщения: 20
Зарегистрирован: 13 дек 2007, 13:16

След.

Вернуться в Грабли

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron