Глава 3. Независимая архитектура управления (IMA)


Понятие зон

Зоны в ферме осуществляют две функции. Первая состоит в сборе данных от серверов-членов в иерархическую структуру. Вторая состоит в эффективном распространении изменений на все серверы фермы. Все серверы-члены должны принадлежать зоне. По умолчанию, имя зоны является идентификатором подсети, в которой находятся серверы-члены.

Каждый коллектор данных зоны имеет открытое соединение ко всем остальным коллектрам данных фермы. Это соединение используется для немедленного сообщения всех изменений от серверов-членов своей зоны всем остальным коллекторам данных других зон. Поэтому коллекторы данных осведомлены о загрузке серверов, лицензиях, информации о сеансах каждого сервера фермы. Формула для межзональных соединений:

N * (N-1)/2
где N - это число зон в ферме.

Если в течении заданного времени с сервером-членом отсутствует связь, коллектор зоны делает ping этого сервера, чтобы убедиться в его доступности. По умолчанию этот интервал равен 1 минуте. Его можно настроить, изменив начение реестра. Значение интервала хранится в миллисекундах, в 16-ричном счислении:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\KeepAliveInterval
Значение (DWORD): 0xEA60 (60,000 по умолчанию).

В нормальной ситуации коллекторы данных синхронизируются посредством частых обновлений. Иногда соединение между двумя коллекторами заканчивается неудачей. Вместо повторения попыток соединиться с недоступной зоной, коллектор ждет заданный интервал времени, а затем повторяет соединение. По умолчанию время ожидания 5 минут. Его можно настроить, добавив значение в реестр. Время указывается в миллисекундах, в 16-ричной нотации.
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\GatewayValidationInterval
Значение (DWORD): 0x493E0 (300,000 миллисекунд)

Настройка коллекторов данных для больших зон
По умолчанию одна зона поддерживает до 256 серверов-членов. Если зона содержит более 256 серверов, каждый коллектор данных и потенциальные коллекторы данных должны иметь новые настройки в реестре. Эта настройка определяет, сколько одновременно открытых соединений к серверам-членам может иметь коллектор. Установите это значение больше числа серверов, чтобы предотвратить постоянные закрытия и открытия соединений.
Добавьте следующее 16-ричное значение в реестр:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\MaxHostAddressCacheEntries
Значение (DWORD): 0x100 (по умолчанию 256).

Коллектор данных поддерживает информацию о загрузке серверов и информацию сеансах для каждого сервера в ферме. Он отвечает на все широковещательные запросы клиентов ICA при операции в смешанном режиме или если при установке не было обнаружено серверов MetaFrame 1.8.

Хранилище данных в ферме

Хранилище данных представляет собой репозитарий постоянной информации о ферме для всех серверов, которые на нее ссылаются. Хранилище содержит редко меняемую информацию:

Важно. В случае потери хранилища данных вы должны заново создать ферму. Вы не можете пересоздать хранилище в существующей ферме.

Формат базы данных
За исключением индексов, вся информация хранится в двоичном формате. Непосредственно к хранилищу нельзя сделать сколь-нибудь осмысленный запрос. Ни администраторы Citrix, ни пользователи не имеют прямого доступа к хранилищу. Только инструменты IMA, например, Citrix Management Console, могут иметь доступ к информации в хранилище. Никогда не редактируйте данные в хранилищами утилитами от Microsoft SQL Server или Oracle tools. Это повредит базу данных и вызовет нестабильную работу фермы или сделает ее вообще непригодной.

Активность хранилища данных
Все серверы при запуске пытаются сделать запрос к хранилищу. Следующее значение реестра определяет, нужно ли IMA при запуске устанавливать соединение к хранилищу данных.
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\PSRequired
Значение (DWORD): 0 или 1
Если значение равно 0, IMA может запускаться без соединения с хранилищем данных. Если значение 1, IMA требует при запуске соединения с хранилищем. После первого успешного запуска службы IMA это значение устанавливается в 0.
Все сервера периодически запрашивают хранилище на предмет сделанных изменений. Если после последнего запроса были какие-то изменения, сервер их запрашивает. По умолчанию интервал составляет 10 минут. Он настраивается в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\DCNChangePollingInterval
Значение (DWORD): 0x927C0 (600,000 миллисекунд).

Важно. Если сервер в ферме не может обратиться к хранилищу в течении 96 часов, на серверах-членах прекращается лицензирование, и соединения запрещаются.

При каждом открытии Citrix Management Console она подключается к указанному серверу MetaFrame. Служба IMA на этом сервере осуществляет всю запись и чтение данных на хранилище данных для Citrix Management Console. Большинство изменений, делаемых в CMC, записываются в хранилище.

Обновление локального кеша
Если служба IMA работает, но опубликованные приложения неправильно появляются при обзоре приложений в клиенте ICA, сделайте ручное обновление локального кеша, выполнив с командной строки сервера команду dsmaint refreshlhc. Эта команда заставляет локальный кеш немедленно получить обновления с центрального хранилища.

Воссоздание локального кеша
Служба IMA может не запуститься из-за поврежденного локального кеша. Для воссоздания локального кеша запустите команду dsmaint recreatelhc, которая присваивает ключу реестра HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\PSRequired\ значение 1. При перезапуске службы IMA локальный кеш воссоздается с текущими данными из хранилища данных.
Для запуска команды dsmaint recreatelhc необходимо, чтобы хранилище данных было доступно. Иначе служба IMA не запустится.


В начало