ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] Вопрос о ethernet bonding
@ 2012-06-14 10:45 Alex Moskalenko
  2012-06-15  5:48 ` Sergey
  2012-06-15  8:52 ` Sergey Alembekov
  0 siblings, 2 replies; 5+ messages in thread
From: Alex Moskalenko @ 2012-06-14 10:45 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

Здравствуйте!

Возник вопрос о реализации отказоустойчивой конфигурации сети с 
распределением нагрузки. Есть сервер с 4мя портами ethernet. Есть два 
коммутатора (не стекируемых), поддерживающие 802.3ad. Есть linux и 
bonding. Хотелось бы получить что-либо подобное:

bond0 = eth0+eth1, mode 802.3ad - транк на коммутатор 1;
bond1 = eth2+eth3, mode 802.3ad - транк на коммутатор 2;
bond2 = bond0+bond1, mode balance-alb - аггрегированый канал из 2х 
вышеупомянутых транков.

В результате должно получиться нечто отказоустойчивое и с балансировкой 
нагрузки. :)

Вопрос в следующем - можно ли объединять bond-интерфейсы в один 
bond-интерфейс? На ядре 3.3.8 такая конфигурация ядром съедается 
(работоспособность еще не проверял, настораживают значения unknown в 
Speed и Duplex в /proc/net/bonding/bond2). На ядре 3.4.2 ситуация 
интереснее - при добавлении bond'а в bond и последующем поднятии 
ethernet-моста (даже никак не связанного с bond'ами) ядро падает. 
Порядок поднятия интерфейсов - сначала мост, затем bond с bond'ами или 
наоборот - значения не имеет - ядро падает.

В связи с вышесказанным, вопрос - можно ли аггрегировать уже 
аггрегированные линки? Прямого запрета в документации bonding вроде как 
и нет, но как-то пугают падения нового ядра...



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] Вопрос о ethernet bonding
  2012-06-14 10:45 [Sysadmins] Вопрос о ethernet bonding Alex Moskalenko
@ 2012-06-15  5:48 ` Sergey
  2012-06-15  7:26   ` Alex Moskalenko
  2012-06-15  8:52 ` Sergey Alembekov
  1 sibling, 1 reply; 5+ messages in thread
From: Sergey @ 2012-06-15  5:48 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

On Thursday 14 June 2012, Alex Moskalenko wrote:

> bond0 = eth0+eth1, mode 802.3ad - транк на коммутатор 1;
> bond1 = eth2+eth3, mode 802.3ad - транк на коммутатор 2;
> bond2 = bond0+bond1, mode balance-alb - аггрегированый канал из 2х 
> вышеупомянутых транков.

А зачем ?

> В результате должно получиться нечто отказоустойчивое и с
> балансировкой нагрузки. :)
 
Я, вообще-то, в Linux таким не занимался, но про 802.3ad
пишут, как про преемника Ether Channel. А у Ether Channel
Уже была балансировка + надёжность при поддержке до 4-х
каналов. Если всё так и осталось, то bond1 и bond2 не 
нужны, надо сразу bond0 на eth0/1/2/3 делать и не париться.


-- 
С уважением, Сергей
a_s_y@sama.ru


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] Вопрос о ethernet bonding
  2012-06-15  5:48 ` Sergey
@ 2012-06-15  7:26   ` Alex Moskalenko
  2012-06-15  8:14     ` Sergey
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Moskalenko @ 2012-06-15  7:26 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

15.06.2012 09:48, Sergey пишет:
> On Thursday 14 June 2012, Alex Moskalenko wrote:
>
>> bond0 = eth0+eth1, mode 802.3ad - транк на коммутатор 1;
>> bond1 = eth2+eth3, mode 802.3ad - транк на коммутатор 2;
>> bond2 = bond0+bond1, mode balance-alb - аггрегированый канал из 2х
>> вышеупомянутых транков.
> А зачем ?
В результате должно получиться нечто отказоустойчивое и с балансировкой 
нагрузки. :)
>
> Я, вообще-то, в Linux таким не занимался, но про 802.3ad
> пишут, как про преемника Ether Channel. А у Ether Channel
> Уже была балансировка + надёжность при поддержке до 4-х
> каналов. Если всё так и осталось, то bond1 и bond2 не
> нужны, надо сразу bond0 на eth0/1/2/3 делать и не париться.
802.3ad также поддерживает 4 (и больше) каналов. Проблема только в том, 
что коммутаторов 2 и они друг о друге ничего не знают и узнать не могут 
(не стекируются). Поэтому один 802.3ad канал, включающий в себя 2 
коммутатора, и распределяющий трафик, сделать не получится. Получится 
только отказоустойчивость, без балансировки (активен будет только один 
из 802.3ad аггрегированных линков, второй будет в резерве).

PS Наверное, есть смысл не заморачиваться и вообще выкинуть 802.3ad 
часть схемы, оставив один bond0 с mode=balance-alb на все 4 физических 
интерфейса. Не так красиво, но скорее всего работать будет.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] Вопрос о ethernet bonding
  2012-06-15  7:26   ` Alex Moskalenko
@ 2012-06-15  8:14     ` Sergey
  0 siblings, 0 replies; 5+ messages in thread
From: Sergey @ 2012-06-15  8:14 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

On Friday 15 June 2012, Alex Moskalenko wrote:

> 802.3ad также поддерживает 4 (и больше) каналов. Проблема
> только в том, что коммутаторов 2 и они друг о друге ничего
> не знают и узнать не могут (не стекируются).

Что-то я не заметил сразу, что речь про два коммутатора. Мне,
тогда, не очень понятно, как оно может работать.

-- 
С уважением, Сергей
a_s_y@sama.ru


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Sysadmins] Вопрос о ethernet bonding
  2012-06-14 10:45 [Sysadmins] Вопрос о ethernet bonding Alex Moskalenko
  2012-06-15  5:48 ` Sergey
@ 2012-06-15  8:52 ` Sergey Alembekov
  1 sibling, 0 replies; 5+ messages in thread
From: Sergey Alembekov @ 2012-06-15  8:52 UTC (permalink / raw)
  To: sysadmins

14.06.2012 14:45, Alex Moskalenko пишет:
> Здравствуйте!
>
> Возник вопрос о реализации отказоустойчивой конфигурации сети с 
> распределением нагрузки. Есть сервер с 4мя портами ethernet. Есть два 
> коммутатора (не стекируемых), поддерживающие 802.3ad. Есть linux и 
> bonding. Хотелось бы получить что-либо подобное:
>
> bond0 = eth0+eth1, mode 802.3ad - транк на коммутатор 1;
> bond1 = eth2+eth3, mode 802.3ad - транк на коммутатор 2;
> bond2 = bond0+bond1, mode balance-alb - аггрегированый канал из 2х 
> вышеупомянутых транков.
>
> В результате должно получиться нечто отказоустойчивое и с 
> балансировкой нагрузки. :)
>
> Вопрос в следующем - можно ли объединять bond-интерфейсы в один 
> bond-интерфейс? На ядре 3.3.8 такая конфигурация ядром съедается 
> (работоспособность еще не проверял, настораживают значения unknown в 
> Speed и Duplex в /proc/net/bonding/bond2). На ядре 3.4.2 ситуация 
> интереснее - при добавлении bond'а в bond и последующем поднятии 
> ethernet-моста (даже никак не связанного с bond'ами) ядро падает. 
> Порядок поднятия интерфейсов - сначала мост, затем bond с bond'ами или 
> наоборот - значения не имеет - ядро падает.
>
> В связи с вышесказанным, вопрос - можно ли аггрегировать уже 
> аггрегированные линки? Прямого запрета в документации bonding вроде 
> как и нет, но как-то пугают падения нового ядра...
Думаю это работать не будет.
На мой взгляд у вас два варианта, либо сменить коммутаторы на 
стекируемые и использовать 802.3ad, либо два бонда в режиме 
active-backup, воткнутые в оба коммутатора каждый. Предостерегаю от 
использования balance-схем, мой опыт применения их с коммутаторами 
cisco4948 печален.

__
Sergey Alembekov
ALTLinux Team


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-06-15  8:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-14 10:45 [Sysadmins] Вопрос о ethernet bonding Alex Moskalenko
2012-06-15  5:48 ` Sergey
2012-06-15  7:26   ` Alex Moskalenko
2012-06-15  8:14     ` Sergey
2012-06-15  8:52 ` Sergey Alembekov

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git