Назад | Перейти на главную страницу

Балансировка нагрузки нескольких сетевых адаптеров на одной машине, представляющей виртуальный IP

Я унаследовал сетевую настройку, в которой RAID-сервер NFS / Samba linux («Ubuntu 14.04.5 LTS») обслуживает все через одну сетевую карту. В результате пропускная способность сети 1 Гб оказывается загруженной.

К сожалению, вся подсеть подключается к этому серверу через его прямой IP-адрес.

Я пытаюсь найти решение для балансировки нагрузки, в котором я могу повторно назначить текущий IP-адрес сервера IP-адресу виртуального сервера и сбалансировать трафик на этот виртуальный IP-адрес между двумя или более сетевыми адаптерами, которые находятся в одном (фактическом NFS) сервер.

В настоящее время есть традиционный коммутатор, соединяющий все входящие кабели Ethernet, и только один кабель выходит к сетевой карте сервера.

Единственное решение, которое я нашел до сих пор, - это Kemp LoadMaster LM-X3 аппаратное решение.

Я также изучил LACP, но я не уверен, что он поддерживает виртуальный IP. Кажется, что он только объединяет исходящие пакеты (или по-прежнему требует, чтобы несколько сетевых адаптеров имели отдельные IP-адреса). Хотя, возможно, для такого использования - нормально, если только исходящие пакеты будут балансировать нагрузку.

Есть ли лучшие решения?

Какая разновидность Linux работает на сервере? Как вы думаете, сетевая команда может работать? Это обновленная версия связывания интерфейсов. С помощью объединения вы можете объединить несколько интерфейсов в команду в архитектуре активный / активный, активный / резервный или циклический. Все команды будут рассматриваться как один и тот же интерфейс L2, а vIP принадлежит виртуальному интерфейсу группы (родительскому). Объединение позволяет использовать несколько разных «бегунов» (также называемых методами):

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

по-круговой - Простой бегун, который направляет командное устройство на передачу пакетов в циклической манере.

activebackup - Наблюдает за изменениями канала и выбирает активный порт, который будет использоваться для передачи данных.

(*)балансировка нагрузки - Для пассивной балансировки нагрузки runner только настраивает хеш-функцию BPF, которая определяет порт для передачи пакета. Чтобы выполнить активную балансировку нагрузки, раннер перемещает хэши между доступными портами, пытаясь достичь идеального баланса.

лак - Реализует протокол 802.3ad LACP. Может использовать те же возможности выбора порта Tx, что и средство выполнения балансировки нагрузки.

Исходя из ваших требований, я думаю, что бегун с балансировкой нагрузки может работать. Это хорошее руководство для работы в команде: https://www.rootusers.com/how-to-configure-network-teaming-in-linux/

Надеюсь, поможет