9.3. Синхронизация

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

Важно

Синхронизация сессий используется только в L4-балансировке.

Настройка

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

vlb sync destination-ip A.B.C.D port (1-65535) [{vrf NAME|source-ip A.B.C.D}]

Задать IP-адрес и порт назначения, на которые будут отправляться данные по протоколу UDP. Кроме того, можно указать VRF и IP-адрес источника. Для отправки сообщений синхронизации сразу нескольким устройствам используйте выделенный L2-сегмент и широковещательный адрес сети в качестве IP-адреса назначения.

no vlb sync

Отключить созданную синхронизацию.

vlb sync type <sessions|persistence>

Выбрать тип данных для синхронизации: L4-сессии или записи Persistence.

vlb sync timeout-delay (1-604800000) [vrf NAME]

Установить интервал задержки в миллисекундах, который добавляется к таймерам при создании сессий через сообщения синхронизации. Время жизни сессий будет на timeout-delay мс дольше, чем на ADC, где они созданы. Задержка нужна для того, чтобы основной сервер успел отправить сообщение с обновлениями по данной сессии до её удаления, так как воссоздание сессии требует значительных затрат. Значение по умолчанию — 1000 мс.

no vlb sync timeout-delay (1-604800000) [vrf NAME]

Сбросить интервал задержки до значения по умолчанию.

vlb sync start-delay (1-3600)

Установить задержку старта в секундах. Эта задержка необходима для сценария резервирования Active-Active. Она используется при запуске системы и нужна для прозрачного добавления нового ADC в кластер. ADC не будет отвечать на запросы ARP в течение этой задержки, соответственно, трафик не будет перераспределяться на него. При этом другие устройства будут отправлять сообщения синхронизации, и этот новый ADC заполнит свою таблицу сессий. Когда задержка закончится, новый ADC, уже имеющий полную таблицу сессий, возьмёт на себя часть трафика без потери соединений пользователей.

Важно

В этом случае синхронизация должна быть настроена на широковещательный адрес сети, так как ARP во время этой задержки не будет отвечать.

no vlb sync start-delay

Отключить задержку старта.

Если вы не хотите ждать окончания задержки запуска, используйте эту команду (в режиме View) для немедленного начала обработки трафика:

vlb sync start

Show-команды

show vlb counters [vrf NAME] sync

Показать счётчики синхронизации ADC.

Счётчик

Описание

Session Creations

Общее количество созданных сессий за всё время

Deletion of Non-Existent Session

Получено сообщение об удалении несуществующей сессии

Outdate Messages

  • когда пакет вызывает изменение состояния TCP

  • когда сессия очищается вручную. В этих случаях мы устанавливаем флаг force=1 в сообщении синхронизации. Если force=0, то сообщение считается устаревшим и отбрасывается

No Memory Drops

Количество неудачных созданий сессий из-за недостатка памяти. Сессия создаётся не только при запросе создания сессии, но также при обновлении сессии, которая по какой-либо причине еще не была синхронизирована

Session Entry Limit Drops

Количество отброшенных сообщений по причине достижения лимита сессий в одном VRF

clear vlb counters [vrf NAME] sync

Очистить счётчики синхронизации ADC.

show vlb sync

Показать счётчики системы синхронизации.

Счётчик

Описание

Packets

Количество отправленных или полученных пакетов. В одном пакете может содержаться несколько сообщений

Messages

Количество отправленных или полученных сообщений о каждом изменении сессии (таймаута, состояния)

No packet drops

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

No VRF drops

Количество сообщений синхронизации, которые не удалось отправить из-за отсутствия указанного VRF

Invalid msg length

Сообщение синхронизации не может быть распарсено, поскольку заголовок сообщения имеет неправильную длину

Errors on processing

При обработке полученного сообщения синхронизации произошла ошибка. Подробности можно найти в разделе show vlb counters sync

Unsupported msg type

Сообщение синхронизации не может быть распарсено, поскольку заголовок сообщения имеет неподдерживаемый тип

Invalid packet length

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

Invalid msg length

В заголовке сообщения указана длина, которая не помещается в пакет

Invalid pkt/message headers

Магические заголовки, указанные в пакете/сообщении для контроля заголовков, не прошли проверку

clear vlb sync

Очистить счётчики системы синхронизации.