LoginScript. Мастеров высшего пилотажа. Ищем....

Обсуждение технических вопросов по продуктам Novell

LoginScript. Мастеров высшего пилотажа. Ищем....

Сообщение Музалёв Николай » 19 июл 2006, 17:26

Уважаемые коллеги!
На ТИМ-форуме коллега задал вопросо том, как на этапе логина определить, какой сервер из псевдоКлавстера* работает и соответсвенно смапировать на него диски.

Мне помнится, вопрос о проверке состояния сервера (или похожий) мы обсуждали... но - не нашел.

Так или инначе, родилась шальная идея - имея права, проверить атрибут STATUS сервера.

Делается это программно очень легко, тому подтверждение - масса программ , в которых этот атрибут считывается и отображается.

Вопрос к знатокам: возможно ли из логинСкрипта дотянуться до этого атрибута? и как?

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

Re: LoginScript. Мастеров высшего пилотажа. Ищем....

Сообщение Андрей Тр. aka RH » 19 июл 2006, 17:43

Музалёв Николай писал(а):какой .. работает и .. смапировать на него.
А что, если сначала мапировать на 1-й, а затем на 2-й, то не пойдет ? Естесственно, что смапируется только на тот, который работает. Если не работает то и не смапируется .. ИМХО.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Иван Левшин aka Ivan L. » 19 июл 2006, 18:15

А они разве для пользователей выглядят не как один сервер (если речь идет, конечно, о кластере)? Вообще термин "псевдокластер" встречаю уже в который раз - что под ним понимается в принципе? Сервера, которые работают в кластере под управлением Novell Cluster Services? Если так - зачем в принципе пользователю знать, с каким физическим сервером он имеет дело, если сама идея кластеризации в случае с NCS состоит в резервировании?
Иван Левшин aka Ivan L.
 
Сообщения: 2592
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Андрей Тр. aka RH » 19 июл 2006, 18:30

Иван, нет, там NCS ни при чем, как я понял из вопроса - там стоят два 5-шных сервера ( очевидно, в одном дереве - на одном мастер, на другом R/W ), один из них типа "primary" - с которым пользователи обычно общаются, а второй типа "secondary", том(а) которого время от времени каким-то способом приводят в соответствие томам первого ( но в обычном режиме с ним никто не работает ). Как я понимаю, это скорее Standby Server, а не кластер ( т.е. второй сервер чисто на подхвате на случай падения первого ).
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Re: LoginScript. Мастеров высшего пилотажа. Ищем....

Сообщение Константин Ошмян » 19 июл 2006, 18:49

Николай, извините - отвечать буду в обратном порядке, так удобнее :)
Музалёв Николай писал(а):Вопрос к знатокам: возможно ли из логинСкрипта дотянуться до этого атрибута? и как?
Да, можно. Пропишите, для примера, в своём личном логин-скрипте следующие три строчки (подкорректировав под своё дерево) - увидите результат:
Код: Выделить всё
write "Server Version = %.ВашСервер.ВашКонтекст;VERSION"
write "Server Status = %.ВашСервер.ВашКонтекст;STATUS"
pause

Музалёв Николай писал(а):Так или инначе, родилась шальная идея - имея права, проверить атрибут STATUS сервера.
Как мне показывает менеджер схемы в ConsoleOne, оба указанных атрибута помечены флагом "Public Read" - насколько я понимаю, это означает, что они будут доступны всем без каких бы то ни было явных назначений прав.
Музалёв Николай писал(а):коллега задал вопросо том, как на этапе логина определить, какой сервер из псевдоКлавстера* работает и соответсвенно смапировать на него диски.
Поскольку тот же менеджер схемы показывает, что атрибут "Status" имеет тип "Integer", а указанные выше строки для работающего сервера выдают значение "2", то, видимо, правильно будет записать что-то вроде следующего:
Код: Выделить всё
if "%.ВашСервер.ВашКонтекст;STATUS"="2" then map буква:=.объектТомСервера:
Аватара пользователя
Константин Ошмян
 
Сообщения: 991
Зарегистрирован: 13 авг 2002, 21:36
Откуда: Рига

Сообщение Музалёв Николай » 19 июл 2006, 19:11

2 Константин Ошмян
Я всегда знал, что ПРОН - это сила!
Большое спасибо. Я примерно так себе это и представлял, но ктож их, супостатов знал, что не двоеточие(как казалось логичным) а точка с запятой!
Вопрос вдогонку: и где я про синтаксис недочитал?

Ну а по поводу окончательной строки в скрипте, учитывая, что
[атрибут] имеет тип "Integer"

, то предлагается записать так:
Код: Выделить всё
if "%.ВашСервер.ВашКонтекст;STATUS"= VALUE "2" then map буква:=.объектТомСервера:


2 all
что под ним понимается в принципе?

Коллеги! термин псевдоКластер я действительно использую в последнее время не раз. Означает он именно "псевдо" - это когда денег на нормальный кластер нет, а резервирования и надежности - очень хочется... Как раз то, что пояснил Андрей.
Ну, и рождаются и такие вопросы, и такие решения, и такие термины...

Что касается моего вопроса - про чтение атрибута сервера, то его можно закрыть, а если кто еще коллеге на ТИМ-форуме что подскажет уже по его проблеме - то же будет хорошо.

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

Сообщение Константин Ошмян » 19 июл 2006, 19:29

Музалёв Николай писал(а):2 Константин Ошмян
Я всегда знал, что ПРОН - это сила!
:oops: Вы меня смущаете!.. :D
Музалёв Николай писал(а):Большое спасибо. Я примерно так себе это и представлял, но ктож их, супостатов знал, что не двоеточие(как казалось логичным) а точка с запятой!
Вопрос вдогонку: и где я про синтаксис недочитал?
Я тоже долго вспоминал, где я про такой синтаксис читал, т.к. сейчас, листая хелпы по логин-скриптам, этого не нашёл. Потом вспомнил: в документации на ZENworks... :? Там, где речь идёт про макросы.
Музалёв Николай писал(а):Ну а по поводу окончательной строки в скрипте, учитывая, что
[атрибут] имеет тип "Integer"
, то предлагается записать так:
Код: Выделить всё
if "%.ВашСервер.ВашКонтекст;STATUS"= VALUE "2" then map буква:=.объектТомСервера:
Поскольку в данном конкретном случае сравнение идёт не на больше-меньше, а на строгое равенство, то - без разницы: что с VALUE, что без.

Меня больше смущает - кто же и в какой момент этот атрибут меняет. Т.е. понятно, что в случае корректного down-а, видимо, сам сервер этот атрибут и изменит (кстати, интересно - на какое значение?) ; а вот в случае, например, абенда - скорее всего, атрибут останется в прежнем состоянии. Или его другие серверы со временем "загасят"? :roll:
Аватара пользователя
Константин Ошмян
 
Сообщения: 991
Зарегистрирован: 13 авг 2002, 21:36
Откуда: Рига

Сообщение capricious » 20 июл 2006, 09:39

How to detect a down server in a login script - TID2923021 (last modified 09JAN1998)

Mapping a drive to one of two servers - TID2921401
Аватара пользователя
capricious
 
Сообщения: 393
Зарегистрирован: 21 апр 2003, 14:36
Откуда: Moscow

Сообщение Музалёв Николай » 20 июл 2006, 10:53

How to detect a down server

Вообщето, приходила мыслЯ проверить наличие сервера в лоб : произвести мапирование с первого сервера, а потом проверить доступ к какому либо флаговому файлу, который должен быть на смапированном томе этого сервера.
Примерно так:
Код: Выделить всё
MAP [мапирование с первого сервера]
IF [флаг_файл_с_первого_сервера] NOT EXIST then [мапирование со второго сервера].


Но, как и Муза, мыслЯ погостила и ушла. У ней имелись веские причины: мапирование может дать ошибку и на работающем сервере. Вы это хорошо знаете: часто бывает, что логинишся с загрузки машины и один сервер не мапится. Тогда сразу после окончания загрузки машины производишь перелогинивание через N и логин скрипт отрабатывает нормально...

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

Сообщение capricious » 21 июл 2006, 11:36

расскажите потом как это все в боевой обстановке сработало :)
Аватара пользователя
capricious
 
Сообщения: 393
Зарегистрирован: 21 апр 2003, 14:36
Откуда: Moscow

Сообщение Музалёв Николай » 21 июл 2006, 11:52

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

Сообщение Иван Левшин aka Ivan L. » 21 июл 2006, 13:38

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

Сообщение Константин Ошмян » 21 июл 2006, 14:44

Музалёв Николай писал(а):Тогда встречная просьба: а есть ли способ гарантированно отправит сервер в абенд? может кто знает спец.команду или какой шаловливый NLM?
На BrainShare-Russia несколько лет назад на одном из технических семинаров (уже не помню, о чём он был - то ли новые возможности новой версии NetWare, то ли кластеризация, то ли просто troubleshooting) новелловские технари демонстрировали поведение системы при разного рода абендах с помощью спец. утилиты ABEND.NLM. Сейчас попробую найти - по-моему, где-то в загашнике она у меня валялась.
[...]
Вот, кое-что нашёл: две статьи, автор - Tom Buckley, Senior Software Engineer, Novell, Inc.:
The NetWare Internal Debugger: Walking the Stack
Walking the Stack with the NetWare Internal Debugger: The Example
В конце второй статьи есть ссылка и на саму утилиту, правда, под именем ABENDEMO.NLM.
Аватара пользователя
Константин Ошмян
 
Сообщения: 991
Зарегистрирован: 13 авг 2002, 21:36
Откуда: Рига

Сообщение Сергей Дубров » 21 июл 2006, 16:51

Константин Ошмян писал(а):В конце второй статьи есть ссылка и на саму утилиту, правда, под именем ABENDEMO.NLM.

У меня есть инструкторская утилитка из 3005 курса, называется PROBLEMS.NLM, умеет делать всякие гадости на заказ :):

Код: Выделить всё
---------------------------------
--+============================¬-
--¦  Problem Simulation Menu   ¦-
--¦============================¦-
--¦ ¦Dismount Volume SYS       ¦-
--¦ ¦Lockup File SYS:TESTDB.DAT¦-
--¦ ¦Memory Corruption         ¦-
--¦ ¦Memory Hog                ¦-
--¦ ¦Page fault                ¦-
--¦ ¦Server Process Hog        ¦-
--¦ ¦Unload NDS                ¦-
--¦ ¦Utilization Hog           ¦-
--L============================--
---------------------------------
Аватара пользователя
Сергей Дубров
 
Сообщения: 2096
Зарегистрирован: 05 июн 2002, 06:07
Откуда: Новосибирск, ин-т ядерной физики СО РАН


Вернуться в Novell

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

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

cron