Вам потрібно перекачувати великі обсяги даних безлічі клієнтів одночасно, використовуючи тільки одну 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
Щоб вручну встановити нову версію, завантажте версію, що відповідає вашій OC (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
Закомментуйте всі інтерфейси, які будуть частиною зв'язку, і додайте наступне:
автоматичний зв'язок
iface bond0 inet dhcp
раби-всі
режим зв'язку 4
Бонд-Мімон 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 за надання цього рішення з графічним інтерфейсом (зрештою).
- На головному екрані J-web натисніть «Налаштувати».
- Потім натисніть «Інструменти CLI».
- Виберіть «Вкажіть та натисніть CLI».
- Потім натисніть кнопку «Змінити» біля заголовка «Інтерфейси».
- Виберіть інтерфейс, в якому ви хочете брати участь, і натисніть кнопку «Змінити».
- У розділі «Одиниця» видаліть зв'язок, як показано на зображенні.
: - Натисніть кнопку Гаразд.
- Повторіть ці дії для всіх інтерфейсів, які ви хочете включити в агрегати.
- Коли закінчите, скористайтеся пунктом «Підтвердити», щоб застосувати зміни.
Групування інтерфейсів в агрегати
Тепер, коли інтерфейси не пов'язані, ми можемо створювати агрегуючі посилання, «групуючи» їх.
- На головному екрані J-web натисніть «Інтерфейси».
- Потім натисніть «Агрегація посилань».
- Виберіть «Додати».:
- Коли з'явиться спливаюче вікно, виберіть «Активний».
- Натисніть кнопку «Додати».:
- У спливаючому вікні виберіть інтерфейси, які будуть частиною посилання (утримуйте Ctrl для декількох).
- Натисніть «OK», поки всі вікна налаштування не зникнуть.
- Виконано.
Веб-керовані комутатори ProCurve від HP
На додаток до інструкцій Juniper, тут наведені інструкції для веб-пристроїв HP, керованих ProCurve.
HP 1800G
- Натисніть «Скрині».
- Клацніть «Параметри LACP»
- Позначте цей пункт для портів, які ви бажаєте використовувати для агрегування. У цьому прикладі я використовував порти 3 і 4:
- Натисніть кнопку миші внизу сторінки.
- Виконано.
HP 1810G
- Натисніть «Скрині».
- Клацніть «Налаштування магістралі».
- Виберіть «Створити».
- Дайте посилання ім'я.
- Натисніть кнопку «Застосувати».
- Натисніть «Членство в магістралі».
- Виберіть «Trunk id» зі спадного списку, в нашому прикладі ми використовуємо «Trunk2».
- Натисніть на порти, які ви хочете включити в об'єднання, в нашому прикладі ми використовували порти 11 і 12.
- Натисніть кнопку «Застосувати».
- Зробіть зміни постійними, перейшовши в «обслуговування».
- Потім у підменю «Зберегти параметри».
- Натисніть кнопку «Зберегти налаштування».
- Виконано.
Покажи мені біле світло, з якого ти зроблений:






