Я прочитал файл bonding.txt в документации ядра, он ясно говорит о балансе нагрузки, но действительно ли balance-alb и balance-tlb отказоустойчивы?
Режим связывания 5 (balance-tlb) работает, просматривая все устройства в связке и отправляя ведомое устройство с наименьшей текущей нагрузкой трафика. Трафик получает только одно ведомое устройство («основное ведомое устройство»). Если ведомое устройство потеряно, это ведомое устройство не рассматривается для передачи, поэтому этот режим является отказоустойчивым.
Режим связывания 6 (balance-alb) работает так же, как указано выше, за исключением того, что входящие запросы ARP перехватываются драйвером связывания, а драйвер связывания генерирует ответы ARP, так что внешние узлы обманом отправляют свой трафик одному из других подчиненных устройств связывания вместо первичный раб. Если много хостов в одном и том же широковещательном домене связываются с соединением, тогда трафик должен равномерно распределяться по всем подчиненным.
Если ведомое устройство потеряно в режиме 6, удаленному узлу может потребоваться некоторое время, чтобы истечь время ожидания записи в таблице ARP и отправить новый запрос ARP. Тенты повторной передачи TCP или SCTP достаточно быстро приводят к запросу ARP, но дейтаграмма UDP этого не делает и будет полагаться на обычное обновление таблицы ARP. Итак, режим 6 является отказоустойчивый, но сходимость при потере ведомого может занять некоторое время в зависимости от используемого протокола уровня 4.
Если вас беспокоит быстрая отказоустойчивость, рассмотрите возможность использования режима 4 (802.3ad, также известного как LACP), который согласовывает агрегацию каналов между связью и коммутатором и постоянно обновляет статус канала между партнерами по агрегации. Режим 4 также имеет настраиваемое хеширование баланса нагрузки, поэтому он лучше подходит для упорядоченной доставки потоков TCP по сравнению с режимом 5 или режимом 6.
Если эта связь будет соединена с виртуальными машинами, то вы не сможете использовать режим 5 или режим 6 из-за поведения переписывания MAC в обоих режимах при определенных условиях и вдвойне из-за поведения перехвата ARP в режиме 6.
Все режимы от 0 до 4 будут работать с мостами виртуальных машин, но 0 (циклический) и 3 (широковещательный), вероятно, не подходят для большинства рабочих нагрузок, определенно не для потоков TCP и SCTP. Для всех режимов с 0 по 4 требуется конфигурация переключателя, кроме режима 1 (активный-резервный).