Перейти к содержанию

Примеры настройки

Функционал LVS (Linux Virtual Server) в Numa Edge реализует возможность балансировки трафика на транспортном уровне модели OSI, используя заданные критерии. В терминологии LVS сам Numa Edge выступает в роли балансировщика нагрузки, а устройства, на которые производится балансировка — реальными серверами. А вместе они представляют собой для внешнего клиента один «виртуальный сервер».

Где и для чего применяется LVS:

  • для увеличения пропускной способности, в том случае когда линейный прирост за счет добавления реальных серверов целесообразнее модернизации;
  • для резервирования. Отдельные машины могут быть отключены от LVS, модернизированы и возвращены к работе без прерывания обслуживания клиентов. Машины могут перемещаться на новую площадку и отключаться к сети по одной, в то время как машины удаляются со старой площадки без прерывания обслуживания клиентов;
  • для адаптивности. Если предполагается, что пропускная способность будет меняться постепенно или быстро, количество серверов можно увеличить (или уменьшить) прозрачно для клиентов.

lvs1

Схема компонентов виртуального сервера

Балансировщик нагрузки предоставляет клиентам Виртуальный IP-адрес (VIP). VIP – это тот адрес, на котором производится балансировка нагрузки между реальными серверами. Необходимо иметь ввиду, что балансировка осуществляется на транспортном уровне. Ввиду этого, если «сервисом» выступает какой-либо веб-интерфейс (443/TCP), то балансировка производится только для трафика с адресом назначения равном VIP-адресу и портом назначения 443/TCP. При этом в случайный момент времени нельзя сказать, какой именно реальный сервер ответит запрос. При попытке доступа к VIP-адресу с использованием другого порта назначения и протокола, ответ балансировщика будет зависеть от значения атрибута accept-mode в конфигурации VRRP и правил фильтрации. Принимая во внимание вышесказанное, для доступа к определенному реальному серверу или балансировщику трафика не рекомендуется использовать VIP-адрес.

Не трудно заметить, что «точкой отказа» в организации виртуального сервера является балансировщик нагрузки. С выходом его из строя схема перестает работать. В качестве меры, направленной на устранение этой проблемы, в Numa Edge в качестве виртуального IP-адреса LVS требуется указывать только ранее сконфигурированный виртуальный адрес VRRP. Это позволяет быстро организовать резервирование балансировщика нагрузки.

Пример настройки#

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

lvs2

Схема LVS сервера с Numa Edge в качестве балансировщика нагрузки

В данном примере клиент подключается к виртуальному серверу из внешней сети (виртуальный IP-адрес которого 198.51.100.99). Далее Numa Edge, выступающий в роли балансировщика нагрузки, распределяет запросы на несколько имеющихся реальных серверов. В качестве метода переадресации будем использовать NAT, как самый простой в настройке вариант, не требующий дополнительных действий на реальных серверах.

В рамках примера не будем рассматривать настройку адресации на физических интерфейсах и преднастройку VRRP.

Пример – Настройка LVS с резервированием балансировщика нагрузки#

Узел: Numa Edge #1

  1. Вывод настроек VRRP на интерфейсах.

    • Настроен VRRP на внешнем интерфейсе eth1, виртуальный адрес которого и будет являться VIP адресом сервиса LVS.
    • Для VRRP на внешнем интерфейсе eth1 включен режим accept-mode, что позволяет устройству обрабатывать и отвечать на запросы, направляемые на VIP адрес, что необходимо для LVS.
    • Настроен VRRP на внутреннем интерфейсе eth2 в сторону реальных серверов, виртуальный адрес которого будет использоваться для получения ответов. Рекомендуется использовать в случае резервирования балансировщика когда используется метод переадресации NAT.
    • Задан повышенный приоритет для групп VRRP, так как это основной балансировщик, а также настроена синхронизация состояний VRRP интерфейсов.
    [edit]
    admin@edge1# show interfaces ethernet eth1 vrrp 
    1 {
        accept-mode true
        virtual-address 198.51.100.99
        priority 254
        sync-group MAIN-LB
    }
    [edit]
    admin@edge1# show interfaces ethernet eth2 vrrp
    1 {
        virtual-address 100.64.0.99 
        priority 254
        sync-group MAIN-LB
    }
    
  2. Укажем в качестве адреса виртуального сервера ранее заданный виртуальный адрес VRRP на внешнем интерфейсе:

    [edit]
    admin@edge1# set service lvs virtual-server 192.168.152.99
    

  3. Перечислим имеющиеся реальные серверы для LVS:
    1
    2
    3
    4
    [edit]
    admin@edge1# set service lvs virtual-server 192.168.152.99 real-server 100.64.0.1
    [edit]
    admin@edge1# set service lvs virtual-server 192.168.152.99 real-server 100.64.0.2
    
  4. Зададим сервис виртуального сервера. Так как мы настраиваем доступ к веб-ресурсу, укажем 'https':
    [edit]
    admin@edge1# set service lvs virtual-server 192.168.152.99 service https
    
  5. Добавим проверку доступности реальных серверов в составе LVS с целью исключить ситуацию, когда реальный сервер вышел из строя или недоступен, а клиенты на него пересылаются:
    [edit]
    admin@edge1# set service lvs virtual-server 192.168.152.99 check type https-head
    
  6. Укажем группу VRRP, которая будет использоваться для синхронизации:
    [edit]
    admin@edge1# set service lvs sync id 1
    
  7. Укажем интерфейс, на котором будет происходить синхронизация с дублирующим балансировщком:
    [edit]
    admin@edge1# set service lvs sync interface eth2
    
  8. Фиксация изменений:
    [edit]
    admin@edge1# commit
    
  9. Вывод настроек LVS:

    admin@edge-fw1# show service lvs 
       sync {
           id 1
           interface eth2
       }
       virtual-server 198.51.100.99 {
           check {
              type https-head
           }
           real-server 100.64.0.1 {
           }
           real-server 100.64.0.2 {
           }
                   service https
       }
    

    Примечание

    При использовании других методов переадресации (DR и Tunnel) потребуется подготовить реальные серверы, выполнив на них ряд дополнительных настроек.

    Настройка LVS на дублирующем Numa Edge #2 не отличается от основного. Отличается адресация на физических интерфейсах (задается в соответствии со схемой примера) и приоритет устройства для групп VRRP оставлен в значении по умолчанию. После реализации такой схемы, при отказе основного балансировщика, его функции продолжит выполнять дублирующий.

  10. В результате должна получиться следующая конфигурация:

    [edit]
    admin@edge1# show interfaces ethernet eth1 vrrp
        1 {
           accept-mode true
           virtual-address 198.51.100.99
           priority 254
           sync-group MAIN-LB
       }
    [edit]
    admin@edge1# show interfaces ethernet eth2 vrrp
       1 {
           virtual-address 100.64.0.99
           priority 254
           sync-group MAIN-LB
       }
    

  11. Полученная конфигурация сервиса LVS:
    admin@edge-fw1# show service lvs 
       sync {
           id 1
           interface eth2
       }
       virtual-server 198.51.100.99 {
           check {
              type https-head
           }
          real-server 100.64.0.1 {
           }
           real-server 100.64.0.2 {
           }
                   service https
       }