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 --]
next prev parent 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