8.3. Синхронизация сессий¶
Синхронизация сессий используется для обеспечения того, чтобы все экземпляры vLB в кластере имели полную информацию обо всех открытых портах и сессиях. В этом случае при отказе одного экземпляра vLB пользовательские сессии не будут потеряны, когда трафик перейдет к другому экземпляру. Отказ одного или нескольких (в зависимости от выбранной сетевой архитектуры) экземпляров vLB пройдет незамеченным для клиента. Обмен данными осуществляется по протоколу UDP.
Важно
Сихронизация сессий используется только в балансировке на уровне L4.
8.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¶
8.3.2. Show-команды¶
- show vlb counters [vrf NAME] sync¶
Показать счетчики синхронизации vLB.
Счетчик
Описание
Session Creations
Общее количество сессий, созданных по сообщению системы синхронизации за все время
Deletion of Non-Existent Session
Получено сообщение об удалении сессии, которой нет на данном экземпляре балансировщика
Outdate Messages
TTL сессии может быть снижен сообщением синхронизации:
когда пакет вызывает изменение состояния 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 sync
Unsupported msg type
Сообщение синхронизации не может быть распарсено, поскольку заголовок сообщения имеет неподдерживаемый тип
Invalid packet length
Размер полученного пакета меньше, чем общий размер содержащихся в нем сообщений
Invalid msg length
В заголовке сообщения указана длина, которая не помещается в пакет
Invalid ptk/message headers
Магические заголовки, указанные в пакете/сообщении для контроля заголовков, не прошли проверку
- clear vlb sync¶
Очистить счетчики подсистемы синхронизации.