Какой тип bonding'а выбрать для отказоустойчивой сети?

Задача: объединить группы серверов на Linux, находящиеся в одном ЦОД, в отказоустойчивую сеть так, чтобы выход из строя любого линка или коммутатора не приводил к потере связности. В качестве бонуса получить увеличение пропускной способности там, где это возможно. У каждого сервера 2 сетевые карты.

Для таких задач в Linux есть bonding. Вот самая полная документация, которую я нашел.

Вопрос: какой режим bonding'а и какую организацию сети между свичами выбрать?

Если следовать документации, то выходит, что для отказоустойчивости подходит только active-backup:

11.2.1 HA Bonding Mode Selection for Multiple Switch Topology

In a topology such as the example above, the active-backup and
broadcast modes are the only useful bonding modes when optimizing for
availability; the other modes require all links to terminate on the
same peer for them to behave rationally.


То есть утверждается, что при работе в других режимах все линки от хостов должны заканчиваться в одном коммутаторе, иначе они будут работать «нерационально». Но непонятно, почему это так.

Разве не будет работать схема вроде такой, где каждый хост связывается с 2 свичами в режиме balance-alb, свичи для бондинга никак специально не конфигурируются, но при этом каждый свич связан с 2 другими с использованием STP? Тогда по идее мы получим и увеличение пропускной способности, и отказоустойчивость.

  +-------+         +--------------+      +--------------+         +-------+
  | HostA |.........|      Switch1 |......|      Switch3 |.........| HostX |
  +-------+ .     . +--------------+      +--------------+ .     . +-------+
             .   .         .                      .         .   .  
              . .          .                      .          . .   
   bonding     x           .         STP          .           x   bonding
              . .          .                      .          . .  
             .   .         .                      .         .   .  
  +-------+ .     . +--------------+      +--------------+ .     . +-------+
  | HostB |.........|      Switch2 |......|      Switch4 |.........| HostY |
  +-------+         +--------------+      +--------------+         +-------+


Или для этой задачи существует более правильное решение, которое я не увидел?
  • Вопрос задан
  • 3819 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alz
В вашей схеме все зависит от того, как коммутатор отнесется к тому, что один и тот же MAC в его таблице коммутации будет значиться за двумя разными портами. Например, на switch4 MAC HostA будет на портах к Switch1 и Switch3, при условии что STP отключил линк между Switch1 и Switch2
Ответ написан
@tgz
Если свитчи умеют mLACP, то можно и active/active с линками в разные свитчи.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы