Поддерживает ли Keepalived функциональность между подсетями и как это можно настроить?

Вопрос или проблема

Рассмотрим настройку с двумя машинами LVS, которые обозначены как главный LVS и резервный LVS, обе из которых используют Keepalived для реализации высокой доступности (HA). Главный LVS находится в подсети 10.1.1.0/24, в то время как резервный LVS расположен в подсети 10.1.2.0/24. Для достижения HA Keepalived использует протоколы vrrp unicast (unicast_peer) для включения переключения экземпляров VRRP между главным и резервным, а также для совместного использования одного и того же VIP (плавающий IP). Однако у меня есть следующие вопросы:

  1. Как выбрать VIP для Keepalived и как клиенты будут определять соответствующий маршрут при доступе к этому VIP?
  2. Предположим, что VIP установлен как 10.1.1.2, если произойдет сбой главного, а затем VIP переместится на резервный сервер в подсети 10.1.2.0/24, будет ли трафик по-прежнему доступен к VIP и резервному LVS, как ожидалось? Если нет, какие шаги необходимо предпринять, чтобы обеспечить нормальный доступ?

Ответ или решение

Поддержка кросс-сетевой функциональности в Keepalived

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

Выбор VIP и маршрутизация для клиентов

  1. Выбор VIP для Keepalived:
    Выбор VIP следует основывать на архитектуре вашей сети и на том, чтобы этот адрес был доступен для всех клиентов, использующих его для подключения к вашим сервисам. В вашей ситуации, VIP 10.1.1.2 хорошо подходит для использования, если предполагается, что основные клиенты находятся в одной подсети (10.1.1.0/24).

  2. Маршрутизация для клиентов:
    Чтобы клиенты могли определить правильный маршрут до VIP, необходимо настроить маршруты на уровне сетевого оборудования (маршрутизаторы, коммутаторы). В ideal situation, маршрутизатор должен быть настроен на то, чтобы перенаправлять трафик, адресованный VIP 10.1.1.2, на соответствующий LVS сервер, который в данный момент активен (мастер или резервный). Если VIP находится в подсети 10.1.1.0/24, маршрутизаторы в этой сети должны знать, как обращаться к VIP, а клиентские устройства должны быть настроены для связи с этой подсетью.

Работа в условиях сбоя мастера

  1. Сбой мастера и переключение VIP:
    В случае сбоя сервера-мастера, VIP (10.1.1.2) должен переключиться на резервный LVS, находящийся в подсети 10.1.2.0/24. Однако, если VIP находится в подсети 10.1.1.0/24, а резервный сервер в другой подсети, это может создать проблемы с доступом к VIP, так как маршрутизация будет работать некорректно.

  2. Необходимые шаги для обеспечения доступа:
    Чтобы обеспечить нормальный доступ к VIP в случае сбоя, необходимо предпринять следующие действия:

    • Сетевое оборудование: Убедитесь, что маршрутизаторы или другие сетевые устройства правильно настраивают маршруты, чтобы трафик к VIP 10.1.1.2 мог быть направлен на резервный сервер в 10.1.2.0/24. Это может потребовать дополнительных конфигураций, таких как маршрутизация на основе политик.

    • IP-адресация: Рассмотрите возможность использования VIP, который будет находиться в общей сети или создании так называемого "routed" VIP, который будет доступен на обеих подсетях. Это требование подразумевает, что маршрутизаторы между подсетями могут правильно обрабатывать трафик.

    • Конфигурация Keepalived: В конфигурации Keepalived убедитесь, что используется директива unicast_peer для настройки связи между двумя узлами (мастером и резервным). Также необходима настройка nopreempt в случае, если вы хотите избежать постоянного переключения VIP между серверами из-за временных проблем.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...