ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: sisyphus@lists.altlinux.org
Subject: Re: [sisyphus] bond + bridge
Date: Fri, 5 Feb 2010 18:43:15 +0300
Message-ID: <20100205154315.GF4905@newmaster.mivlgu.local> (raw)
In-Reply-To: <201002051552.43608.slchess@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2993 bytes --]

On Fri, Feb 05, 2010 at 03:52:43PM +0200, Вячеслав wrote:
> > > bond0: received packet with  own address as source address
> >
> > А какой именно режим используется для bond0, и как настроен
> > коммутатор, в который включены соответствующие кабели?
> >
> > mode=5 и mode=6 точно не работают совместно с bridge; mode=4 (802.3ad)
> > работает, но требует соответствующей настройки и со стороны
> > коммутатора.
> 
> `cat options`
> TYPE=bond
> HOST='eth0 eth1'
> BONDOPTIONS="mode=0 miimon=100"
> DISABLED=no
> BOOTPROTO=static
> NM_CONTROLLED=no
> ONBOOT=yes

mode=0 требует настройки статического агрегирования на коммутаторе без
использования протокола LACP; без этой настройки будут как раз такие
ошибки (пакеты, переданные в один из портов, будут возвращаться назад
через другой).

Кроме того, при использовании mode=0 возможно изменение порядка
пакетов в пределах одного соединения, что может вызывать проблемы,
например, повторные передачи в TCP, если такое переупорядочивание
будет обработано как признак перегрузки в сети.  Этой проблемы можно
избежать, если использовать mode=2 и xmit_hash_policy=layer2 или
layer2+3 (вариант layer3+4 может приводить к изменению порядка пакетов
в редких случаях, когда используется фрагментация на уровне IP).
Настройки коммутатора для mode=2 требуются те же, что и для mode=0 -
статическое агрегирование без использования LACP.

При использовании bonding в комбинации с bridge и виртуальными
машинами нужно учитывать, что при обработке xmit_hash_policy код
bonding не использует MAC-адрес отправителя в исходящих пакетах; в
результате, если несколько разных ВМ отправляют пакеты на один и тот
же MAC-адрес (например, на маршрутизатор), все эти пакеты при
использовании xmit_hash_policy=layer2 будут попадать в один канал.
Для борьбы с этим можно использовать xmit_hash_policy=layer2+3 (в этом
случае учитываются оба IP-адреса в пакете, в результате пакеты от
разных ВМ могут быть распределены по разным интерфейсам даже при
обмене с одним и тем же MAC и IP).

Режима, поддерживающего балансировку нагрузки, совместимого с
использованием bridge, и при этом не требующего специальных настроек
коммутатора, в модуле bonding в настоящее время нет (в режимах
balance-alb и balance-tlb модуль bonding меняет MAC-адреса в исходящих
пакетах, не учитывая того, что эти пакеты могут исходить от ВМ со
своими собственными MAC).  В Citrix XenServer добавляли режим
balance-slb, который якобы умеет разносить трафик от разных ВМ по
разным интерфейсам (заявлена динамическая балансировка нагрузки по
алгоритмам, аналогичным balance-alb, но с использованием source MAC в
качестве ключа), однако этот патч придётся искать где-то внутри общей
свалки исходников:

  http://www.citrix.com/lang/English/lp/lp_1688623.asp

Хотя сейчас ещё есть http://openvswitch.org/ (причём в Xen Cloud
Platform перешли именно на него, так что пропихивать куда-то поддержку
balance-slb разработчики, похоже, уже не будут).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2010-02-05 15:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04 12:10 Вячеслав
2010-02-04 14:47 ` Sergey Vlasov
2010-02-05  7:24   ` Michael A. Kangin
2010-02-05  7:45     ` Вячеслав
2010-02-05 13:44       ` Sergey Vlasov
2010-02-05 13:52         ` Вячеслав
2010-02-05 15:43           ` Sergey Vlasov [this message]
2010-02-08  9:14             ` Вячеслав
2010-02-08 11:50               ` Sergey Vlasov
2010-02-08 12:41                 ` Вячеслав
2010-02-08 12:48                   ` Anton Gorlov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100205154315.GF4905@newmaster.mivlgu.local \
    --to=vsu@altlinux.ru \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

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


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