Я бачу деяку заплутану поведінку щодо пов’язаних інтерфейсів під Linux, і я хотів би викинути ситуацію там, сподіваючись, що хтось зможе мені це розяснити.
У мене є два сервери: Сервер 1 (S1) має 4-кратний 1 Гбіт Ethernet-з'єднання; Сервер 2 (S2) має 2x 1Gbit Ethernet-з'єднання. На обох серверах працює Ubuntu 12.04, хоча і з ядром 3.11.0-15 (з пакета lts-saucy linux-generic).
Обидва сервери мають усі відповідні мережеві інтерфейси, об'єднані в єдиний інтерфейс bond0 із такою конфігурацією (в /etc/network/interfaces
):
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-slaves eth0 eth1 [eth2 eth3]
Між серверами є пара комутаторів HP, які (я думаю) правильно налаштовані для LACP на відповідних портах.
Тепер посилання працює - мережевий трафік радісно протікає на та з обох машин. І всі відповідні інтерфейси використовуються, тож не схоже, що агрегація повністю виходить з ладу. Однак мені потрібно якомога більше пропускної спроможності між цими двома серверами, і я не отримую ~ 2 Гбіт / с, який би я очікував.
Під час мого тестування я можу зауважити, що, здається, кожен сервер виділяє кожне TCP-з'єднання (наприклад, iperf, scp, nfs, що завгодно) одному інтерфейсу підлеглого. По суті, все здається обмеженим максимумом 1 гігабіт.
Встановивши bond-xmit-hash-policy layer3+4
, я можу використовувати iperf -c S1 -P2
для надсилання на два підлеглого інтерфейси, але на стороні сервера прийом все ще відбувається лише на одному підлеглому інтерфейсі, і загальна пропускна здатність обмежена на рівні 1 Гбіт / с, тобто клієнт показує ~ 40-50 МБ / с. на двох ведених інтерфейсах сервер показує ~ 100 Мб / с на одному підлеглому інтерфейсі. Без налаштування bond-xmit-hash-policy
надсилання також обмежується одним веденим інтерфейсом.
У мене склалося враження, що LACP повинен дозволити такий тип з'єднання, дозволяючи, наприклад, однією передачею scp використовувати всі доступні інтерфейси між двома хостами.
Чи моє розуміння LACP неправильне? Або я десь пропустив параметри конфігурації? Будь-які пропозиції або підказки для розслідування були б вдячні!