Балансування навантаження з комутацією при допуску / помилках


9

Під час навчання на сертифікати Cisco та Microsoft я багато читав про NIC Teaming, ефірні канали тощо.

Я знаю, що ви можете робити статичну групування в MS Windows Server або створювати порт-канал у Cisco або використовувати динамічні протоколи, такі як LACP і PAgP. Але всі вони пропонують балансування навантаження за допомогою MAC-адреси джерела або призначення або IP-адреси, комбінації XORed разом або подібних речей, правда? І, здається, немає можливості збільшити фактичну пропускну здатність, якщо у вас є довга тривала передача файлів з одного сервера на інший (наприклад, 4 GigE, зв'язані разом, щоб збільшити його до 4 Гбіт / с).

Тож мені цікаво, чи це правда? Чи є спосіб використовувати всю пропускну здатність зв’язаних інтерфейсів? Я почув з небагатьох джерел, що є щось на кшталт SLB (Switch-Assisted Load Balancing w / Fault Tolerance), що підтримує балансування повного навантаження і дозволяє використовувати повну пропускну здатність (наприклад, 4 Гбіт / с з мого прикладу між двома серверами за одну транзакцію).

Я чув про це стільки суперечливих речей, і я зовсім збентежений. Допоможіть мені, хлопці!


Непоганий питання, але AFAIK не може збільшити пропускну здатність одного потоку даних за допомогою балансування навантаження.
pauska

Це не було відповіді! Просто коментар :-) чекайте, коли більш кваліфікований хлопець придумає більш глибоку відповідь.
pauska

Звичайно, буду :) Але я трохи скептично налаштований на те, що це можливо, але деякі продавці кажуть, що це так, і мій колега (серверний хлопець) теж плутається :) Хочеш виключити це
Алекс

ха-ха, просто згадав: Будь ласка, не приймайте поради людей з продажу з уроків OSI кілька років тому
Алекс

Відповіді:


8

На рівні 2 все балансування навантаження здійснюється в кращому випадку за допомогою XOR або хешу джерела та MAC призначення, і якщо вам пощастить, він може навіть зчитувати в рівень 3 і хешувати ці дані.

Однак на рівні 3 ми говоримо про декілька шлюзів (так, фактично, два фізичні посилання з унікальним наступним стрибком через кожен), ви можете збільшити пропускну здатність посилання, якщо ви готові зробити це, балансування пакетів

Перш ніж продовжувати роботу, балансування в одному пакеті, як правило, є поганою справою через те, що це може призвести до доставки пакетів поза замовленням, це може бути особливо жахливо при підключенні TCP, але це, звичайно, зводиться до реалізації та Більшість сучасних штабелів можуть порівняно добре переносити це.

Для того, щоб здійснити балансування в одному пакеті, очевидно, одна з вимог полягає в тому, щоб вихідні та цільові IP адреси взагалі не були посиланнями на пристрої, які мають кілька шляхів, оскільки їх потрібно прокладати для того, щоб балансування було можливим. Надмірність може бути досягнута за допомогою протоколу маршрутизації, такого як BGP, OSPF, ISIS, RIP або, альтернативно, BFD або простого виявлення стану зв'язку.

Нарешті, звичайно, є рішення транспортного рівня - такі протоколи, як підтримка SCTP, що підключаються до декількох кінцевих точок, і TCP вже має чернетки у створенні, що додасть варіанти для подібних дій. Або ... ви можете просто змусити вашу програму відкрити кілька розеток.


Дякуємо за відповідь! Так, я знаю, що балансування навантаження L3. І, в основному, якщо ви хочете більше, ніж один концерт на другому шарі, перейдіть з 10 гг? Особливо, якщо ви хочете робити резервні копії між серверами @ рівень 2, які підключені до одного комутатора?
Алекс

В основному, так - можливо, ви зможете робити хакі-факти на самому хості, як-от зробити фальшивий міст і потім переписати MAC-адресу призначення кожного кадру, щоб кожен вийшов з іншого інтерфейсу, але це дійсно залежить від вашої операційної системи , є нетривіальним та не масштабованим.
Оліпро

У нас поєднання RHEL та Win 08 R2
Alex

5

Спочатку давайте будемо реалістичні щодо продуктивності вашої системи; ви повинні переконатися, що ваша система може послідовно розкручувати пропускну здатність, про яку ви запитуєте, від диска до відповідних NIC (див. нижню частину відповіді) ...

Поки ви готові використовувати FTP для передачі файлів, ви можете використовувати клієнт, який підтримує сегментацію файлу за допомогою RESTкоманди FTP для завантаження, і сервер, який підтримує команду FTP COMBдля сегментованих завантажень. Використовуючи FTP-клієнтів, які підтримують сегментацію, ви можете відкрити кілька сеансів FTP за передачу файлів і скористатися хешированием LACP Layer4, підтримуваним багатьма постачальниками комутаторів ... незалежно від того, зв’язуєте ви 1GE або 10GE посилання, сегментовані передачі прискорюють вашу ефективність через LACP.

CuteFTP для Windows підтримує передачу REST, а Filezilla підтримує команду COMB . Це лише два з декількох варіантів, які ви могли використовувати.


Системні обмеження

Я не знаю, який у вас диск, але часто односистемний ліміт - це введення / виведення диска ... тут є кілька цікавих точок ... з точки зору контролера ...

  • SATA (версія 1) макс. Xfer: 1,2 Гбіт / с після накладних витрат 8b / 10b
  • SATA (версія 2) макс. Xfer: 2,4 Гбіт / с після накладних витрат 8b / 10b
  • SATA (версія 3) макс. Xfer: 4,8 Гбіт / с після накладних витрат 8b / 10b
  • 4G волоконного каналу макс. Xfer: 3,56 Гбіт / с

Іншим можливим обмеженням є швидкість диска / шпинделя / зброї ... якщо ви не використовуєте SSD.

Нарешті, вам потрібні сетеві адаптери з достатньою ємністю для материнської плати ... перевірте, скільки смуг знаходиться на вашому PCIe NIC. Я припускаю, що ви перебуваєте в локальній мережі, і втрата / перевантаження пакетів не буде проблемою. Можливо, ви захочете ввімкнути перемички, якщо виявите, що процесор є обмежуючим фактором для ваших переказів.


Я думаю, ми використовуємо FTP та SCP для передачі. Що стосується продуктивності вводу / виводу, ми плануємо перейти до iSCSI, і незалежно від того, що я кажу, ми не можемо дозволити собі комутатор високої щільності 10 гіг через обмежений бюджет (який справді потрібен у такому випадку), ми намагаємось імпровізувати, як йдемо. Просто планування.
Алекс

@ Алекс я також працюю з обмеженим бюджетом і використовую iSCSI. Перемикачі Dell PowerConnect 8132 / 8164F приблизно такі ж дешеві, що ви можете дістатися за порт зі SFP, а не безглуздий портбуфер. Ми мали з ними великий успіх.
pauska

Я загляну на них :)
Алекс

@ Алекс, я не пропоную використовувати перемикач 10GE ... навіть декілька зв'язаних разом 1GE можуть перевищувати ємність сервера ... Я оновив свою відповідь, щоб підкреслити, що я пропоную використовувати LACP
Майк Пеннінгтон,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.