Як налаштувати агрегацію мережевих посилань (802.3ad) на Ubuntu
Чи потрібно одночасно перекачувати велику кількість даних до безлічі клієнтів, використовуючи лише одну IP-адресу? Використовуючи “агрегацію каналів”, ми можемо об'єднати декілька мережевих карт в системі в одну гумову мережеву плату.
Огляд
Агрегація посилань була розроблена, щоб дати вам можливість збільшити доступну пропускну здатність мережі та відмовостійкість, не змінюючи повністю цю інфраструктуру (за рахунок вартості такого переходу).
Крім того, як системні адміністратори, ми, як правило, мало впливаємо на внутрішню роботу додатків, запущених на наших серверах. Тому, якщо настав такий час, що нам потрібно збільшити доступну пропускну здатність мережі до програми, ми можемо зіткнутися з повним перепроектуванням системи. Ви, напевно, знаєте, що зміна взаємодії клієнт-сервер, фінансування цільових запитів функцій від постачальника програми або оновлення до нового покоління мережевого обладнання є чималою роботою або потребує бюджету або обох. Отже, перед тим, як ви розірвати час і $$$, врахуйте, що результат використання технології "агрегація посилань" полягає в тому, що, оскільки це робиться на рівні інфраструктури (ОС, мережеві картки та комутатори), програма може залишатися повністю забутою до зміни при одночасному отриманні комбінованої пропускної здатності декількох мережевих з'єднань.
Більш того, на сьогоднішній день ця технологія є стандартною частиною більшості мережевого обладнання, ви просто повинні бути "geek", щоб використовувати його. Отже, «Пам'ятайте вогні пекла, які вас підробили!», І нехай покажуть кожному те, від чого ми зібрані, вичавлюючи кожну частину продуктивності, доступну з поточної інфраструктури .
Зображення renjith krishnan
Передумови
- Цей посібник був написаний з використанням Ubuntu server9.10 x64, тому передбачається, що у вас є система, заснована на Debian..
- Ваша система має більше однієї мережевої карти.
- Ви побачите, що я використовую VIM як програму для редагування, це якраз тому, що я звик ... Ви можете використовувати будь-який інший редактор, який ви хотіли б.
Сторона речей Linux
Ми будемо використовувати пакунок “ifenslave” (інтерфейс), який здатний приймати мережні карти системи і в темряві пов'язувати їх. Зауважимо, що на вікнах цей тип конфігурації виконується на рівні драйверів NIC і таким чином обмежується лише інтерфейсами, наявними на цій карті, з пакетом ifenslave можна приймати будь-яку NIC в системі і зв'язувати її ( припускаючи, що вони мають однакову швидкість, тобто 1000 Мб / с.
Хоча в цьому посібнику ми будемо налаштовувати посилання на використання стандарту 802.3ad, як на комутаторі (за допомогою LACP), так і на сервері. Примітно сказати, що пакет "ifenslave" забезпечує режими агрегації, які не вимагають співпрацю комутатора. Проте я особисто не користувався ними, тому не можу поручитися за них. Майте це на увазі, якщо ваша мережа не зможе співпрацювати з мережевою інфраструктурою або якщо у вашій мережевій карті немає підтримки драйверів для “Ethtool”.
Встановлення пакета ifenslave
Ця процедура була створена на Ubuntu 9.10, яка мала виняткову помилку в пакунку "ifenslave", що не викликає інтерфейс при запуску (описаний тут). Якщо ви встановите ifenslave на реліз 10.10, ви автоматично отримаєте версію з виправленою помилкою. Однак для тих з вас, хто не запускає останню і найбільшу версію, вам доведеться вручну встановити більш нову версію пакета ifenslave.
* Дякую Олександру Усискіну за допомогу у вирішенні цього питання.
Для нормальної установки пакета (для користувачів 10,10 і вище):
sudo aptitude встановлює 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 / інтерфейси
Прокоментуйте всі інтерфейси, які будуть частиною облігації, і додайте наступне:
auto bond0 iface bond0 інет dhcp bond-slaves весь режим облігацій 4 облігацій-miimon 100 облігацій-первинний eth1 eth2 eth3 eth4 eth0
Наведений вище приклад встановлює зв'язок з: використовуйте режим 4 (802.3ad), отримуйте IP-адресу від DHCP і використовуйте всі NIC на сервері для зв'язку (цей сервер мав 4 інтерфейси від чотирьохядерної NIC і on- плата NIC).
Інфраструктурна сторона речей
Як сказано в огляді, ми використовуємо "режим 4" (802.3ad) у цьому посібнику, тому ми повинні встановити перемикач на кінці прийому для використання агрегації на портах, на яких ми підключаємо сервер.
Очевидно, що зараз я не можу переглядати всі можливі конфігурації пристроїв, тому я наведу два приклади і сподіваюся, що це дасть вам достатньо для того, щоб шукати інформацію про документацію постачальників або Google для вашого конкретного пристрою..
Juniper J-web
Цей сегмент пояснює, як налаштувати інтерфейси (порти) на пристрої Juniper, щоб використовувати «агрегацію каналів» (LACP) за допомогою графічного інтерфейсу керування J-web.
Примітка: я використовував EX3200 для знімків екрана та інструкції, описані нижче, однак J-web досить схожий на інші пристрої Juniper, які використовують JUNOS.
Роз'єднайте інтерфейс
Цей крок необхідний тому, що кожен інтерфейс на пристрої Juniper пов'язаний із стандартним Vlan, який називається “unit0”. Хоча у Juniper є документація про те, як ви повинні налаштувати агрегацію посилань, я знайшов цей перший і основний крок, щоб відсутній. Не виконуючи цього кроку, інші кроки, описані в документації, просто не працюватимуть, і ви будете дряпати голову щодо того, що вам не вистачає.
Дякуємо співробітникам служби підтримки Juniper за надання цього графічного інтерфейсу (зрештою).
- На головному екрані J-web натисніть кнопку Налаштувати.
- Потім натисніть "Інструменти CLI".
- Виберіть "Точка і клік CLI".
- Потім натисніть кнопку "редагувати" біля заголовка "Інтерфейси".
- Виберіть інтерфейс, який ви хочете бути частиною агрегації, і натисніть кнопку "Редагувати" поруч із ним.
- У розділі "Unit" видаліть асоціацію, як показано на малюнку.
- Натисніть кнопку OK.
- Повторіть для всіх інтерфейсів, які ви хочете бути частиною збірок.
- Коли це зроблено, скористайтеся «Commit», щоб застосувати зміни.
Групування інтерфейсів у агрегації
Тепер, коли інтерфейси були роз'єднані, ми можемо створювати зв'язки агрегації, "групуючи" їх.
- На головному екрані J-web натисніть "Інтерфейси".
- Потім натисніть "Агрегація посилань".
- Виберіть "Додати".
- Коли з'явиться спливаюче вікно, виберіть "активний".
- Натисніть "Додати".
- У спливаючому вікні виберіть інтерфейси, які будуть частиною посилання (утримуйте Ctrl для кількох).
- Натисніть "ОК", доки всі конфігураційні вікна не зникнуть.
- Виконано.
Веб-керовані перемикачі HP ProCurve
Додатково до інструкцій Juniper наведено інструкції для веб-керованих пристроїв HP ProCurve.
HP 1800G
- Натисніть "Труби".
- Натисніть "Налаштування LACP"
- Установіть прапорець для портів, які ви хочете бути агрегацією, у цьому прикладі я використовував порти 3 і 4.
- Натисніть кнопку Застосувати внизу сторінки.
- Виконано.
HP 1810G
- Натисніть "Труби".
- Натисніть "Налаштування магістралі".
- Установіть прапорець "Створити".
- Дайте ім'я посилання.
- Натисніть "Застосувати".
- Натисніть "Членство в транках".
- Виберіть "Ідентифікатор стовбура" зі спадного списку, у нашому прикладі ми використовуємо "Trunk2".
- Натисніть на порти, які ви хочете бути частиною агрегації, у нашому прикладі ми використовували порти 11 і 12.
- Натисніть "Застосувати".
- Зробіть зміни постійними, перейшовши на "обслуговування".
- Потім у підменю “Зберегти конфігурації”.
- Натисніть кнопку "Зберегти конфігурацію".
- Виконано.
Покажіть, що ви зробили білий світ