Страницы

понедельник, 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)».

Комментариев нет:

Отправить комментарий