Не думай о секундах свысока...

Песня из популярного кинофильма

Бесперебойная работа серверов NetWare неразрывна с понятием времени. Например, синхронизация хранящихся на серверах реплик NDS происходит на основании отметок о времени. И если данный процесс будет проходить некорректно, это может привести к полной неработоспособности всех серверов NetWare.

В соответствии с возложенными на них задачами по синхронизации времени серверы делятся на четыре типа.

Единственный эталонный сервер (SINGLE REFERENCE) по своим часам синхронизирует время на вторичных серверах и клиентских рабочих станциях. Он создается автоматически при инсталляции первого сервера и является единственным источником времени в дереве NDS.

Эталонный сервер (REFERENCE) синхронизирует время на первичных и вторичных серверах, а также клиентских рабочих станциях. Он может синхронизировать свое время с внешними источниками времени через Internet.

Первичный сервер (PRIMARY) получает время с эталонного сервера, синхронизирует время с другими такими же первичными серверами и передает время на вторичные серверы и клиентские рабочие станции. По соображениям отказоустойчивости в дереве должно быть не менее трех таких серверов.

Вторичный сервер (SECONDARY) получает время от единственного эталонного, эталонного или первичного серверов времени и синхронизирует его на станциях пользователей. Он устанавливается автоматически при инсталляции последующих серверов.

Cинхронизация времени серверов может осуществляться в соответствии с двумя типовыми схемами. В первую простую схему входит единственный эталонный и один или несколько вторичных серверов времен, как показано на Рисунке 1а. Данная схема допускает до 15 серверов, соединенных быстрыми каналами связи, и создается автоматически на этапе инсталляции. Если же в системе больше 15 серверов, или они связаны медленными каналами связи, или вы хотите повысить отказоустойчивость всей системы в целом, то вам придется немного потрудиться и сконфигурировать схему синхронизации времени с одним эталонным, двумя или больше первичными и несколькими вторичными серверами времени, как показано на Рисунке 1б. Novell настоятельно рекомендует использовать только такие схемы.

Чем же хороша первая схема с единственным эталонным сервером времени? Тем, что она проста, никаких усилий по ее настройке не требуется. Используя протокол рекламирования услуг (Service Advertising Protocol, SAP), серверы самостоятельно находят друг друга и синхронизируют свое время в пределах одного дерева. Администратору остается только изредка запускать утилиту DSREPAIR.NLM и проверять синхронизацию в пункте меню Time Synchronization. Серверы считаются синхронизированными, если рассогласование по времени не превышает 2c. Величину рассогласования можно изменить командой TIMESYNC Synchronization Radius (по умолчанию она равна 2000 мс), но руководство Novell не рекомендует делать этого без крайней необходимости.

Я долго не мог понять, почему на одном из моих серверов время рассогласования иногда достигало 8 с и при этом он оставался синхронизированным по времени. Как оказалось, все дело в драйвере двухканальной сетевой платы Compaq NC3131 Fast Ethernet NIC. Когда я задействовал только один канал, проблема была решена.

Если необходимо подкорректировать время в вашем дереве, то самое время (извините за каламбур) воспользоваться командой TIMESYNC Time Adjustment. Это можно сделать только с консоли единственного эталонного, эталонных или первичных серверов, либо воспользоваться утилитой MONITOR.NLM на NetWare 5.х, либо SERVMAN.NLM на NetWare 4.хx.

Однако, имея выход в Internet, вы можете воспользоваться протоколом NTP (Network Time Protocol) и задать синхронизацию времени на ваших серверах с внешними «атомными часами», т. е. время в вашем дереве будет всегда абсолютно точным.

Для этого в утилите MONITOR.NLM на единственном эталонном сервере, работающем под управлением NetWare 5.х, достаточно выбрать Server Para-meters/Time и изменить значения следующих параметров.

TIMESYNC Configured Sources — установить значение в ON (по умолчанию OFF), т. е. разрешить серверу работать только с серверами-поставщиками времени, список которых определен в TIMESYNC Time Sources. Здесь, через точку с запятой, вы должны указать список IP-адресов или имен DNS тех источников времени или «атомных часов», с которыми вы предполагаете работать. Кстати, выходить в Internet совсем не обязательно, таким источником могут быть любые серверы или, например, маршрутизаторы Cisco, которые могут работать как серверы NTP. Протокол NTP задействует порт 123, поэтому каждый адрес должен заканчиваться так: :123. Список серверов с «атомными часами» можно посмотреть в файле: SYS:ETCNTP.CFG. Новую конфигурацию необходимо затем активизировать, выбрав пункт меню: TIMESYNC Restart Flag, и подтвердить свои намерения. Чтобы убедиться, что все работает хорошо, на консоли единственного эталонного, эталонного или первичного сервера можно вызвать экран с отладочной информацией с помощью команды Set TIMESYNC Debug=7. Опрос внешних источников времени будет происходить каждые 10 мин, что определяется параметром TimeSYNC Polling Interval, который, по умолчанию, как раз и равен 600 с. Отключить такой экран можно командой Set TIMESYNC Debug=0.

Если в сети имеются только серверы NetWare 4.xx, то же самое вы можете сделать, воспользовавшись клиентом NTP от сторонних разработчиков. Загрузить такой клиент можно, в частности, с http://www.neatech.ch.

Как мы убедились, схема с единственными эталонным и вторичными серверами надежна в работе и проста в настройке. Но если единственный эталонный сервер времени выйдет из строя, то все оставшиеся вторичные серверы мгновенно утратят синхронизацию по времени, что может привести к весьма нежелательным последствиям. Во избежание подобного сценария развития событий и была разработана схема временной синхронизации с эталонными, первичными и вторичными серверами. При отказе эталонного сервера время в вашем дереве будут синхронизировать оставшиеся первичные серверы, а при сбое любого первичного сервера — эталонные и другие первичные серверы. По своему назначению эталонный сервер должен быть вспомогательным, не выполнять важных задач и тем более не содержать реплик NDS, так как при потере им связи с внешними источниками, время на нем оказывается несинхронизированным, хотя на других серверах все будет в порядке. Обычно мы не можем позволить себе такую роскошь и поэтому наряду с внешним источником времени должны указать еще несколько, например первичные серверы. При подобной конфигурации все серверы останутся синхронизированными по времени, даже если у вас прервется связь с Internet.

Настраивать параметры времени на серверах можно, используя не только утилиты MONITOR.NLM (NetWare 5.x) и SERVMAN.NLM (NetWare 4.xx), но и с помощью TIMESYNC.CFG, по умолчанию данный файл находится в SYS:SYSTEM. Это проще и нагляднее. В таблице приведены примеры файлов настройки для всех серверов, синхронизирующих свое время по второй схеме.

Активизировать данную конфигурацию можно, передав с консоли сервера команду Set TIMESYNC Restart Flag = ON или воспользовавшись утилитами MONITOR.NLM, SERVMAN.NLM, как было показано выше.

Настройка синхронизации времени в нескольких деревьях, если таковые у вас имеются, почти ничем не отличается от настройки ее в одном дереве.

Если вы применяете первую схему с единственным эталоном и вторичными серверами, то нужно сделать следующее:

  • выбрать «главное» дерево, т. е. дерево, которое будет источником времени, и оставить единственный эталонный сервер только в нем;
  • выполнить на всех вторичных серверах во всех деревьях следующие команды:
    Set TIMESYNC Configured Sources = ON
    Set TIMESYNC Directory Tree Mode = ON

В качестве источника времени следует указать единственный эталонный сервер из «главного» дерева.

Если вы применяете вторую схему с эталонными, первичными и вторичными серверами, то последовательность действий такова:

  • выбрать «главное» дерево, т. е. дерево, которое будет источником времени, и эталонный сервер оставить только в нем;
  • во всех других деревьях оставить только первичные и вторичные серверы;
  • выполнить на всех первичных серверах во всех деревьях следующие команды:
    Set TIMESYNC Configured Sources = ON
    Set TIMESYNC Directory Tree Mode = ON

В качестве источника времени надо указать эталонный сервер из «главного» дерева.

Дмитрий Русаков имеет сертификаты CNE и MCSE. С ним можно связаться по адресу: dru@svsocbnk.mplik.ru.


Ресурсы Internet

Более подробную информацию можно найти в следующих документах (TID) на http://www.support.novell.com.

10020147Синхронизация времени:

Белые Страницы
10050215Синхронизация времени:

Часто задаваемые вопросы
2956780Обновление драйвера

IDEATA.HAM
10051413Как настраивать синхронизацию

времени в двух деревьях

# TIMESYNC Configuration Parameters
Configured Sources =ONСервер игнорирует информацию о времени, передаваемую по протоколу SAP, и вместо этого использует источники времени, указанные в параметре TIMESYNC Time Source.
Directory Tree Mode =ONПри синхронизации своего времени сервер будет игнорировать время, передаваемое от других деревьев.
Hardware Clock = ONУправляет работой внутренних аппаратных часов сервера. Если эталонный сервер связан с внешними часами, то для него этот параметр задается как OFF, во всех других случаях - как ON.
Polling Count =3Определяет количество передаваемых по сети пакетов с информацией о времени.
Polling Interval =600Задает интервал опроса источников времени в секундах. Все принадлежащие к одному дереву серверы должны использовать одно и то же значение этого параметра.
Service Advertising =OFFЕсли значение этого параметра равно OFF, то серверы перестают передавать в сеть информацию о времени.
Synchronization Radius =2000Определяет максимальную допустимую погрешность в миллисекундах синхронизации времени сервера по отношению ко времени всего дерева.
Type = REFERENCEУказывает тип сервера - источника времени.
# TIMESYNC Configured Time Source List

(Список источников времени для эталонного сервера с именем OD)
Time Source = 10.0.0.5:12310.0.0.5-маршрутизатор CISCO.
Time Source = SPEПервичный сервер.
Time source = INFПервичный сервер.
# Configured Time Source List From Server SPE

(Список источников времени для первичного сервера с именем SPE)
Time Source = ODЭталонный сервер.
Time source = INFВторой первичный сервер.
# Configured Time Source List From Server INF

(Список источников времени для первичного сервера с именем INF)
Time Source = ODЭталонный сервер.
Time source = SPEДругой первичный сервер.
# Configured Time Source List From Server SS

(Список источников времени для любого вторичного сервера)
Time Source = ODЭталонный сервер.
Time Source = SPEПервичный сервер.
Time Source = INFПервичный сервер.

назад