9.3. Синхронизация сессий¶
Синхронизация сессий используется для обеспечения того, чтобы все экземпляры vLB в кластере имели полную информацию обо всех открытых портах и сессиях. В этом случае при отказе одного экземпляра vLB пользовательские сессии не будут потеряны, когда трафик перейдет к другому экземпляру. Отказ одного или нескольких (в зависимости от выбранной сетевой архитектуры) экземпляров vLB пройдет незамеченным для клиента. Обмен данными осуществляется по протоколу UDP.
Важно
Сихронизация сессий используется только в балансировке на уровне L4.
9.3.1. Настройка¶
Все описанные ниже настройки выполняются в режиме конфигурирования. Синхронизация сессий должна быть настроена как минимум на двух vLB; в противном случае сообщения, отправленные первым vLB, будут отбрасываться вторым.
- 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 timeout-delay (1-604800000) [vrf NAME]¶
Установить интервал задержки (в миллисекундах), который добавляется к таймерам при создании сессий с помощью сообщений синхронизации. Время жизни сессий будет на
timeout-delayмс дольше, чем на сервере, где они создаются. Задержка нужна для того, чтобы основной сервер успел отправить нам сообщение с обновлениями по данной сессии, прежде чем мы удалим ее, так как повторное создание сессии требует больших затрат. По умолчанию установлено значение 1000 мс.
- no vlb sync timeout-delay (1-604800000) [vrf NAME]¶
Сбросить интервал задержки до значения по умолчанию.
- vlb sync start-delay (1-3600)¶
Установить задержку запуска в секундах. Эта задержка необходима для сценария резервирования Active-Active. Она используется при запуске системы и необходима для добавления нового экземпляра в кластер прозрачно. Во время этой задержки экземпляр vLB не будет отвечать на ARP-запросы, соответственно, трафик не будет перераспределяться на него. В то же время другие устройства отправят сообщения синхронизации, и новый экземпляр заполнит свою таблицу сессий. Когда когда задержка закончится, новый экземпляр, с уже заполненной таблицей сессий, заберет часть трафика, не потеряв соединения пользователей.
Важно
В этом случае синхронизация должна быть настроена на широковещательный адрес сети, поскольку vLB во время этой задержки не будет отвечать на ARP-запросы.
- no vlb sync start-delay¶
Отключить задержку запуска.
Если вы не хотите ждать задержку запуска, используйте эту команду (в режиме просмотра), чтобы начать обработку трафика немедленно:
- vlb sync start¶
9.3.2. Show-команды¶
- show vlb counters [vrf NAME] sync¶
Показать счетчики синхронизации vLB.
Счетчик
Описание
Session CreationsОбщее количество сессий, созданных по сообщению системы синхронизации за все время
Deletion of Non-Existent SessionПолучено сообщение об удалении сессии, которой нет на данном экземпляре балансировщика
Outdate MessagesTTL сессии может быть снижен сообщением синхронизации:
когда пакет вызывает изменение состояния TCP
когда сессия очищается вручную
В этих случаях мы устанавливаем флаг
forceв 1 в сообщении синхронизации. Еслиforceравен 0, сообщение считается устаревшим и отбрасываетсяNo Memory DropsКоличество неудачных созданий сессий по причине нехватки памяти. Сессия создается не только при запросе создания сессии, но и при обновлении сессии, которая по какой-то причине еще не синхронизирована
Session Entry Limit DropsКоличество отброшенных сообщений по причине достижения лимита сессий в одном VRF
trafficsoft# show vlb counters sync ------------------------------------------------------------ Counter Value ------------------------------------------------------------ Session Creations 0 Deletion of Non-Existent Session 0 Outdate Messages 0 No Memory Drops 0 Session Entry Limit Drops 0 ------------------------------------------------------------
- clear vlb counters [vrf NAME] sync¶
Очистить счетчики синхронизации vLB.
- show vlb sync¶
Показать счетчики подсистемы синхронизации.
trafficsoft# show vlb sync vlb sync destination-ip 172.23.40.50 port 10 source-ip 172.23.40.49 Counters: Sent: Packets: 0 Messages: 0 No packet drops: 0 No VRF drops: 0 Received: Packets: 0 Messages: 0 Invalid packet length: 0 Invalid msg length: 0 Errors on processing: 0 Unsupported msg type: 0 Invalid packet header: 0 Invalid message header: 0
Счетчик
Описание
PacketsКоличество отправленных или полученных пакетов. В одном пакете может содержаться несколько сообщений
MessagesКоличество отправленных или полученных сообщений о каждом изменении сессии (таймаута, состояния)
No packet dropsКоличество сообщений синхронизации, которые не удалось отправить из-за невозможности выделить пакет из пула пакетов для записи в него сообщений синхронизации
No VRF dropsКоличество сообщений синхронизации, которые не удалось отправить из-за отсутствия указанного VRF
Invalid msg lengthСообщение синхронизации не может быть распарсено, поскольку заголовок сообщения имеет неправильную длину
Errors on processingПри обработке полученного сообщения синхронизации произошла ошибка. Подробности можно найти в разделе
show vlb counters syncUnsupported msg typeСообщение синхронизации не может быть распарсено, поскольку заголовок сообщения имеет неподдерживаемый тип
Invalid packet lengthРазмер полученного пакета меньше, чем общий размер содержащихся в нем сообщений
Invalid msg lengthВ заголовке сообщения указана длина, которая не помещается в пакет
Invalid ptk/message headersМагические заголовки, указанные в пакете/сообщении для контроля заголовков, не прошли проверку
- clear vlb sync¶
Очистить счетчики подсистемы синхронизации.