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

    Как настроить агрегацию сетевых ссылок (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 установить 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 установлен, мы можем настроить связанный интерфейс. Для этого отредактируйте интерфейсы конфигурационный файл:

    sudo vim / etc / network / interfaces

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

    auto bond0 iface bond0 inet dhcp bond-slaves все режимы связи 4 bond-miimon 100 первичные связи eth1 eth2 eth3 eth4 eth0

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

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

    Как сказано в обзоре, мы используем «режим 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. Нажмите «Применить» внизу страницы..
    5. Готово.

    HP 1810G

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

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