Как настроить агрегацию сетевых ссылок (802.3ad) в Ubuntu

Вам нужно перекачивать большие объемы данных множеству клиентов одновременно, используя только один IP-адрес? Используя «объединение каналов», мы можем объединить несколько отдельных сетевых карт в системе в одну огромную сетевую карту.

обзор

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

Помимо этого, как системные администраторы, мы обычно практически не влияем на внутреннюю работу приложений, работающих на наших серверах. Таким образом, если наступит такое время, когда нам потребуется увеличить доступную пропускную способность сети для приложения, мы можем столкнуться с полной переработкой системы. Вы, вероятно, знаете, что изменение взаимодействия клиент-сервер, финансирование запросов целевой функции от поставщика приложения или обновление сетевого оборудования до нового поколения – это либо много работы, либо бюджет, либо и то и другое. Итак, за секунду до того, как вы раскошелились на время и $$$, учтите, что результатом использования технологии «агрегации ссылок» является то, что, поскольку это делается на уровне инфраструктуры (ОС, сетевые адаптеры и коммутаторы), приложение может оставаться полностью забытым к изменению при внезапном получении суммарной пропускной способности нескольких сетевых подключений.

Более того, в настоящее время эта технология является стандартной частью большинства сетевого оборудования, вам просто нужно быть «гиком», чтобы ее использовать. Итак, «Вспомните огни ада, которые подделали вас!» И позвольте показать всем, из чего мы сделаны, сжимая каждую унцию производительности, доступную из текущей инфраструктуры .

Изображение Ренджит Кришнан

Предпосылки

  • Это руководство было написано с использованием Ubuntu server9.10 x64, поэтому предполагается, что у вас также есть система на основе Debian для работы.
  • ваша система имеет более одной сетевой карты.
  • Вы увидите, что я использую VIM в качестве программы-редактора, просто потому, что я к этому привык… вы можете использовать любой другой редактор, который вам нравится.

Linux сторона вещей

Мы будем использовать пакет «ifenslave» (интерфейс порабощения), который может брать системные карты системы и связывать их в темноте. Следует отметить, что, хотя в Windows этот тип конфигурации выполняется на уровне драйвера NIC и, таким образом, ограничивается только интерфейсами, доступными на этой карте, с пакетом ifenslave можно взять любой NIC в системе и связать его ( при условии, что они имеют одинаковую скорость, т.е. 1000 Мбит/с).

Хотя в этом руководстве мы будем настраивать канал для использования стандарта 802.3ad как на коммутаторе (с использованием LACP), так и на сервере, следует отметить, что пакет ifenslave обеспечивает режимы агрегации, которые не требуют сотрудничество выключателя. Однако я лично еще не использовал их, поэтому не могу поручиться за них. Просто имейте это в виду, если вы не можете заставить сетевую инфраструктуру взаимодействовать или ваша сетевая карта не поддерживает драйверы «Ethtool».

Установка пакета ifenslave

Эта процедура была создана в Ubuntu 9.10, в которой была обнаружена ошибка в пакете ifenslave, которая не запускает связанный интерфейс при запуске (задокументировано здесь). Если вы установите ifenslave в версии 10.10, вы автоматически получите версию с исправлением ошибки. Однако для тех из вас, кто не использует самую последнюю версию, вам нужно будет вручную установить более новую версию пакета ifenslave.

* Спасибо, Александр Усыскин, за помощь в выяснении этого.

Чтобы нормально установить пакет (для пользователей 10.10 и выше):

sudo aptitude install ifenslave

Чтобы вручную установить более новую версию, загрузите версию, подходящую для вашей ОС (x86 или x64), поместите ее в каталог tmp и установите с помощью команды dpkg .

Для 32-битной ОС:

sudo dpkg -i /tmp/ifenslave-2.6_1.1.0-15ubuntu1_i386.deb

Для 64-битной ОС:

sudo dpkg -i /tmp/ifenslave-2.6_1.1.0-15ubuntu1_amd64.deb

Настройте связанный интерфейс

Теперь, когда пакет ifenslave установлен, мы можем настроить связанный интерфейс. Для этого отредактируйте файл конфигурации interfaces :

sudo vim/etc/network/interfaces

Закомментируйте все интерфейсы, которые будут частью связи, и добавьте следующее:

 auto bond0
iface bond0 inet dhcp
рабы-все
режим связи 4
Бонд-Мимон 100
первичная облигация eth1 eth2 eth3 eth4 eth0 

Приведенный выше пример устанавливает связь: использовать режим 4 (802.3ad), получите IP-адрес от DHCP и используйте все сетевые адаптеры на сервере для связи (у рассматриваемого сервера было 4 интерфейса от четырехглавого сетевого адаптера и встроенного сетевого адаптера).

Инфраструктурная сторона вещей

Как сказано в обзоре, мы используем «режим 4» (802.3ad) в этом руководстве, поэтому мы должны настроить коммутатор на принимающей стороне для использования агрегации на портах, к которым мы подключаем сервер.

Теперь, очевидно, я не могу просмотреть все возможные конфигурации устройств, поэтому приведу два примера и надеюсь, что этого будет достаточно для поиска информации в документации поставщика или Google для вашего конкретного устройства.

Juniper J-web

В этом сегменте объясняется, как настроить интерфейсы (порты) на устройстве Juniper для использования «объединения каналов» (LACP) с использованием графического интерфейса управления J-web.

Примечание. Я использовал EX3200 для снимков экрана и инструкций, подробно описанных ниже, однако J-web довольно похож на другие устройства Juniper, которые используют JUNOS .

Отключить интерфейс

Этот шаг необходим, потому что в готовом виде каждый интерфейс устройства Juniper связан с Vlan по умолчанию, называемым «unit0». Хотя в Juniper есть документация о том, как настроить агрегацию ссылок, я обнаружил, что этот первый и основной шаг пропущен. Без выполнения этого шага остальные шаги, описанные в документации, просто не будут работать, и вы будете чесать голову о том, что вам не хватает.

Спасибо сотрудникам службы поддержки Juniper за предоставление этого решения с графическим интерфейсом (в конечном итоге).

  1. На главном экране J-web нажмите Настроить.
  2. Затем нажмите «Инструменты CLI».
  3. Выберите «Укажите и нажмите CLI».
  4. Затем нажмите «изменить» рядом с заголовком «Интерфейсы».
  5. Выберите интерфейс, в котором вы хотите участвовать, и нажмите «Изменить» рядом с ним.
  6. В разделе «Единица» удалите связь, как показано на рисунке.
  7. Нажмите ОК.
  8. Повторите эти действия для всех интерфейсов, которые вы хотите включить в агрегаты.
  9. Когда закончите, используйте «Подтвердить», чтобы применить изменения.

Группировка интерфейсов в агрегаты

Теперь, когда интерфейсы не связаны, мы можем создавать агрегирующие ссылки, «группируя» их.

  1. На главном экране J-web нажмите «Интерфейсы».
  2. Затем нажмите «Агрегация ссылок».
  3. Выберите «Добавить».
  4. Когда появится всплывающее окно, выберите «активный».
  5. Нажмите «Добавить».
  6. Во всплывающем окне выберите интерфейсы, которые будут частью ссылки (удерживайте Ctrl для нескольких).
  7. Нажимайте «ОК», пока все окна конфигурации не исчезнут.
  8. Готово.

Веб-управляемые коммутаторы ProCurve от HP

В дополнение к инструкциям Juniper, здесь приведены инструкции для веб-устройств HP, управляемых ProCurve.

HP 1800G

  1. Нажмите на «Сундуки».
  2. Нажмите «Настройка LACP»
  3. Установите флажок для портов, которые вы хотите использовать для агрегирования, в этом примере я использовал порты 3 и 4.
  4. Нажмите Apply внизу страницы.
  5. Готово.

HP 1810G

  1. Нажмите на «Сундуки».
  2. Нажмите «Конфигурация магистрали».
  3. Установите флажок «Создать».
  4. Дайте ссылку имя.
  5. Нажмите «Применить».
  6. Нажмите на «Членство в магистрали».
  7. Выберите «Trunk id» из выпадающего списка, в нашем примере мы используем «Trunk2».
  8. Нажмите на порты, которые вы хотите включить в агрегацию, в нашем примере мы использовали порты 11 и 12.
  9. Нажмите «Применить».
  10. Сделайте изменения постоянными, перейдя в «обслуживание».
  11. Затем в подменю «Сохранить настройки».
  12. Нажмите кнопку «Сохранить конфигурацию».
  13. Готово.

Покажи белый свет, из которого ты сделан

Оцените статью
TutoryBird.Ru
Добавить комментарий