Страницы

Показаны сообщения с ярлыком GSLB. Показать все сообщения
Показаны сообщения с ярлыком GSLB. Показать все сообщения

понедельник, 20 сентября 2021 г.

Ускорение синхронизации конфигурации GSLB при помощи Citrix ADC

Глобальная балансировка нагрузки серверов (GSLB) – это слабо связанная распределенная система между несколькими центрами обработки данных или точками присутствия в различных географических расположениях. В связи с этим, обеспечение целостной конфигурации между всеми узлами GSLB может стать испытанием. Для решения данной задачи в Citrix ADC используется возможность синхронизации GSLB. В прошлый раз мы рассматривали, как эта возможность упрощает управление для администраторов.

По мере роста развертывания GSLB, вместе с увеличением и усложнением конфигурации, возникает задача о необходимости синхронизировать конфигурацию в реальном времени. Дополнительную сложность может представлять задержка между определенными узлами GSLB в 100-300 миллисекунд.

Далее мы рассмотрим новую возможность инкрементальной синхронизации в Citrix ADC (Релиз 13.0, сборка 79.x) и то, как она помогает синхронизировать конфигурацию между узлами GSLB в реальном времени с поддержкой отказоустойчивости вне зависимости от конфигурации или развертывания GSLB.


Сокращение времени синхронизации при помощи инкрементальной синхронизации.

Отдельные узлы Citrix ADC в развертывании GSLB определяются как сайты GSLB. Обычно, сайт GSLB выбирается в качестве основного сайта за счёт включения возможности автоматической синхронизации конфигурации при помощи команды:

set gslb parameter -automaticConfigSync ENABLED

Затем данный сайт используется для применения конфигурации, необходимой в развертывании. Это обязанность сайта – синхронизировать конфигурацию во все остальные сайты GSLB (подчинённые сайты).

Термин инкрементальной синхронизации предполагает, что основной сайт отслеживает обновления в конфигурации GSLB и выталкивает только изменения на все подчинённые сайты вместо полной конфигурации GSLB. За счёт этого размер конфигурации, которую необходимо синхронизировать между всеми подчинёнными сайтами значительно сокращается, несмотря на высокую круговую задержку (RTT) между центрами обработки данных. После выталкивания конфигурации, основной сайт может быть освобожден от ответственности за применение изменений, а задача делегирована подчинённым сайтам, что делает процесс применения конфигурации параллельным.

После перемещения задачи обновления конфигурации подчиненным сайтам, каждый подчинённый сайт независимо принимает полученное обновление и применяет изменения в свою конфигурацию.


Полная синхронизация конфигурации.

Существуют исключительные сценарии или ошибки, когда инкрементальная синхронизация конфигурации завершается неудачей или недостаточна для обеспечения целости конфигурации в развертывании. Такое происходит, когда инкрементальная конфигурация не может разрешить конфликт конфигурации, связанный с чем-либо, например, с внеплановым дополнением в конфигурацию подчинённого сайта, при добавлении нового сайта в конфигурацию GSLB или в случае потери конфигурации в подчинённых сайтах.

В таких сценариях выполняться полная синхронизация конфигурации GSLB, в рамках которой весь файл конфигурации GSLB передается из основного сайта в подчинённый и сравнивается с конфигурацией подчинённого сайта. Различия в конфигурации применяются к подчинённому сайту.


Синхронизация файлов геолокации и ключей/сертификатов.

Синхронизация GSLB также отвечает за передачу файлов, используемых в развертывании GSLB, таких как файлы геолокации, которые используются в методе статической близости GSLB, сертификатов SSL и пар ключей, используемых для сервисов GSLB (кроме конфигурации). Эти файлы должны быть синхронизированы только тогда, когда они становятся частью конфигурации GSLB за счёт ассоциации с сущностями GSLB.

Если сделать перемещение файлов условным – это также сократит время необходимое для инкрементальной синхронизации. Обновление файла геолокации в производственном развертывании может оказать влияние на обработку входящего траффика, поэтому в некоторых сценариях принимается решение убрать передачу и загрузку файла геолокации из процесса синхронизации GSLB и выполнять ее только в рамках выделенного окна обслуживания. Для отключения синхронизации файлов геолокации можно воспользоваться следующей командой:

set gslb parameter -GSLBSyncLocFiles DISABLED

Все вместе эти обновления компонента GSLB существенно сокращают общее время синхронизации, как показано в таблице ниже (таблица показывает сравнение полной и инкрементальной синхронизации для нескольких строк изменённой конфигурации в развертывании GSLB, состоящем из трёх сайтов с круговой задержкой (RTT) в 200 миллисекунд от основного сайта до подчинённых и базовой конфигурацией GSLB размером примерно в 75000 строк.

Синхронизация Время
Полная синхронизация (Full Synchronization) 181 секунда
Инкрементальная синхронизация (Incremental Synchronization) 8 секунд


Отказоустойчивая синхронизация конфигурации.

Данное обновление компонента синхронизации GSLB также включает в себя возможности мониторинга сайтов GSLB, которое преследует две цели.

При каждой итерации синхронизации, она предоставляет информацию о здоровье, чтобы помочь администраторам принять решение, каким из подчинённых сайтов можно применять изменения конфигурации, не пытаясь синхронизироваться с отключенными сайтами. Это помогает администраторам не расходовать время на попытки избыточных подключений и улучшает производительность синхронизации. Отключенные сайты GSLB обновляются новейшей конфигурацией после восстановления здоровья.

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

Если активный основной сайт перезагрузится, отключится от сети или будет остановлен для проведения обслуживания, он будет помечен как отключенный пассивный основной сайт. Теперь этот сайт может быть использован для любых необходимых изменений конфигурации. Также это обеспечит его обновление новейшей конфигурацией после восстановления здоровья. Для включения мониторинга сайта GSLB, можно использовать следующую команду:

set gslb parameter -GSLBConfigSyncMonitor ENABLED


Заключение.

Компонент инкрементальной синхронизации, вместе с возможностью мониторинга сайта позволяет настраивать быструю и устойчивую синхронизацию конфигурации, которая способна помочь с решением задачи управления динамическими обновлениями конфигурации. Узнать больше о глобальной балансировки серверов (GSLB) и синхронизации конфигурации можно при помощи официальной документации по продукту и моей предыдущей статьи «Упрощение управления устройствам Citrix ADC в конфигурации глобальной балансировки серверов (GSLB)».

вторник, 7 сентября 2021 г.

Упрощение управления устройствами Citrix ADC в конфигурации глобальной балансировки серверов (GSLB)

Устойчивость и отказоустойчивость встроены в протокол DNS. Если сервер имен не может ответить на запрос, клиент DNS отказывается от этого сервера после настроенного количества повторных попыток. Затем клиент отправляет запрос на другой сервер, который представляется авторитетным сервером имен для запрашиваемого доменного имени.

Система доменных имен (DNS) – это слабо связанная распределенная система, при этом все сервера имен должны иметь комплексное представление о конфигурации, чтобы клиент получал целостный ответ. Будучи расширением DNS – GSLB позволяет адаптировать ответ к динамическим рабочим нагрузкам. Это значит, что необходимо иметь целостную конфигурацию GSLB между всеми участвующими серверами имен. Отказоустойчивость – это обязательная основа при обработке запросов DNS и в настройке серверов имен для GSLB.

Вместе с ростом динамических нагрузок, изменения в подсистемах GSLB или DNS происходят чаще, что увеличивает нагрузку на администраторов информационных технологий. Ручная проверка целостности конфигурации на устройствах GSLB, распределенных между центрами обработки данных повышает вероятность ошибок, которые могут влиять на возможности конечных пользователей.

Далее мы рассмотрим, как Citrix ADC может предоставить отказоустойчивую распределенную плоскость управления для GSLB, упрощая администраторам ИТ управление устройствами GSLB.


Целостное представление GSLB.

Если DNS отключается, пользователи не могут получить доступ к приложениям. Иметь как минимум один уровень устойчивости – это критически важная задача, поэтому устройства GSLB должны быть настроены в режиме Active-Active, при котором все устройства активно обрабатывают запросы DNS. Чтобы клиентские запросы DNS обрабатывались на любом устройстве в группе, все устройства должны иметь целостное представление:

  • О конфигурации GSLB.
  • Об информации выполнения (Runtime Information).

GSLB предоставляет информацию о выполнении связанную со здоровьем и нагрузкой на приложения и центр обработки данных (Datacenter), чтобы минимизировать задержку и предоставить пользователям наилучшие возможности.

Протокол обмена показателями (Metric Exchange Protocol, MEP) в Citrix ADC доставляет комплексное представление о текущем состоянии между устройствами GSLB, а возможность синхронизации конфигурации GSLB в реальном времени предлагает целостное представление о конфигурации.


Целостность конфигурации GSLB.

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

Если узел, выполняющий роль мастера, выйдет из строя из-за ошибки или уйдет на обслуживание, администратор может вытолкнуть конфигурацию с другого узла, который станет выполнять роль мастера, выталкивая последнее требуемое состояние на остальные узлы, как показано ниже.

После возвращения исходного мастера в строй, если какие-либо изменения конфигурации произошли (пока мастер был отключен), новейшее требуемое состояние конфигурации GSLB будет вытолкнуто. Старый мастер исправит отличия конфигурации и будет готов поддерживать роль мастера для будущих обновлений.


Статус синхронизации GSLB.

Можно просмотреть статус синхронизации GSLB при помощи команды show gslb syncstatus. Если включить предупреждение GSLB-SYNC-STATUS-FLIP администратор будет получать уведомления о всех ошибках синхронизации GSLB и сможет предпринять необходимые действия при помощи опций уведомления.


Заключение.

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

Узнать больше про Citrix ADC и глобальную балансировку серверов можно в документации по продукту и Citrix Tech Zone.