14) High Availability

1. VRRP

1.1. Краткая теория

VRRP (Virtual Router Redundancy Protocol) позволяет настроить резервирование шлюза по умолчанию. Выбирается один виртуальный IP и MAC-адрес. IP устанавливается на конечном устройстве. Виртуальный MAC же необходим для нормального заполнения коммутационной таблицы на свитчах и ARP-таблицы на конечных устройствах. Если Master станет недоступным, то ARP-таблица не изменится

Отличительные особенности:

  • Сообщения рассылаются на Multicast-группу 224.0.0.18 и содержат виртуальный IP (для согласования), аутентификацию виртуальный MAC, ID группы (На одном линке может быть настроено несколько VRRP-шлюзов).

  • 00:00:5E:00:01:{Group-ID} - Так выглядит виртуальный MAC-адрес.

  • Для каждой группы есть Master и Backup роутеры.

Процесс выбора Master-роутера:

  1. Наибольший приоритет (1-254).

  2. Наибольший IP-адрес интерфейса.

Особенности выбора Master-роутера

  • Если Virtual IP = IP-адресу интерфейса, то роутер с этим интерфейсом получает приоритет 255 и всегда будет Master-роутером для группы.

  • Есть Preemption (То-есть роутер с большим приоритетом при появлении в сети перехватывает роль Master-роутера).

1.2. Настройка

Тут всё довольно просто. Сначала настроим IP-адресацию, статические маршруты и какой-нибудь адрес на LoopBack-интерфейсе Internet'а (пусть будет 8.8.8.8). Настройка VRRP:

Подробнее о настройках:

  • fast-interval - количество времени (мс), после которого отсылается очередной VRRP-пакет. Есть ещё возможность указать advertise-interval в секундах.

  • preempt - включает preemption. Можно указать Hold-Time, чтобы перевыбор происходил не сразу, а спустя некоторое время в секундах (полезно, если линк флапает, например).

  • Ну и лучше явно указать, что мы используем 3-ю версию протокола, так как он поддерживает IPv6 и fast-interval. (Но не поддерживает аутентификацию)

  • advertisements-threshold - если не получаем advertisement-пакет 3 раза, то-есть 3*500мс=1,5с от Master-роутера, то Master считается недоступным.

Закоммитим и посмотрим результат:

А теперь настроим Gate-2, но поставим приоритет 230 и посмотрим как работает Preemption:

Перевыбор происходит не сразу, а спустя заданное время.

1.3. Проверка работы протокола

А теперь проверим работу протокола. Стоит обратить внимание на таблицу коммутации (там виден виртуальный MAC-адрес, который был сгенерирован по схеме описанной в теории) и ARP-таблицу PC.

Отключаем Gate-2:

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

1.4. Балансировка трафика

Для балансировки трафика можно включить ещё одну группу с другим приоритетом и часть устройств настроить на другой виртуальный IP-адрес. Таким образом мы сделаем аналог балансировки трафика. Добавим, для примера ещё одно устройство (PC2) к нашему свитчу с адресом 192.168.0.6 и укажем на нём Gateway 192.168.0.1.

Соответственно, виртуальный IP у нас будет 192.168.0.1, а основным роутером для новой группы станет Gate-1, так как его приоритет станет 255. Настроим:

Проверка PC:

Проверка PC1:

После того как стал недоступен Gate-1:

2. Graceful Restart

Как известно, у Juniper Forwarding Plane и Control Plane разделены. Бывают моменты, когда нам нужно перезагрузить Routing Engine. При этом мы можем не прерывать сервис во время перезагрузки. В этом помогает Graceful Restart. Настроим топологию и включим OSPF. А теперь настроим запустим MTR с R1 в сторону R5 и перезапустим R2:

Теперь мы увидим потери трафика на R1:

Graceful Restart позволяет оставить в работе Forwarding Plane, таким образом, транзитный трафик терятся не будет. О том, что устройство перезагружается будут знать только соседи. Включим Graceful Restart:

Тут мы указали, чтобы соседи ждали 500 секунд перезагрузки устройства и только после этого начинали перестраивать свои топологии и считать, что оно недоступно. Закоммитим и перезапустим R2. Результат:

3. Graceful RE Switchover (GRES)

В шасси можно подключить ещё один RE. Это позволит переключиться на него при неполадках с основным RE. Основной и резервный RE содержат одну и ту же конфигурацию и синхронизируют состояние ядра операционной системы. Если внезапно отключится Master RE, то через 2 секунды это обнаружит Backup RE и примет роль Master'а. Это позволит не потерять управление роутером. Однако, Control Plane хранится в RE, поэтому Backup RE после того как он стал Master'ом начнёт запуск различных алгоритмов маршрутизации. Чтобы Graceful RE Switchover работал корректно, необходим уже работающий Graceful Restart. Пересылка трафика при этом на уровне PFE не прервётся.

Включается так:

Проверка работы:

Выбор RE, который должен стать Master'ом:

4. Nonstop Active Routing (NSR)

Это дополнение к предыдущему пункту. Позволяет полностью синхронизировать два RE, включая настройки и состояния протоколов. Т.е. демоны маршрутизации на Backup RE находятся в том же состоянии, что и на Master. Также для настройки NSR необходима синхронизация коммитов (её можно включить и для GRES без NSR, но тут она обязательна). По итогу, NSR позволяет сразу же переключиться на другой RE, не запуская процессы расчёта различных протоколов, так как всё синхронизируется в процессе работы.

Включение:

circle-info

Graceful Restart необходимо выключить, если используется NSR, так как NSR является заменой Graceful Restart.

После коммита R2 становится Master-ом ({master}[edit]) и мы можем проверить синхронизированные процессы для протоколов:

5. In-Service Software Upgrade (ISSU)

Если включены GRES и NSR, то можно обновить нашу ОС без прерывания сервиса. Делается это командой:

6. Virtual Chassis

По факту - это стекирование. Когда один RE (или несколько синхронизированных) управляет различными FE и видит их как линейные карты. Подробнее тут: Virtual Chassisarrow-up-right.

Last updated

Was this helpful?