LINUX.ORG.RU
ФорумAdmin

bridge_ports bond1?


0

1

Здравствуйте! Наблюдаю проблемы при создании моста br1 с интерфейсом bond1. Если руками:

root@adam:~# ifconfig bond1 up
root@adam:~# ifenslave bond1 eth1
root@adam:~# brctl addbr br1
root@adam:~# brctl addif br1 bond1
root@adam:~# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.20cf30e2ab05       no              eth0
                                                        vnet0
br1             8000.20cf30e28f46       no              bond1
virbr0          8000.000000000000       yes
root@adam:~# ifconfig br1 192.168.201.44
То все работает:
C:\Users\Александр>ping 192.168.201.44

Обмен пакетами с 192.168.201.44 по с 32 байтами данных:
Ответ от 192.168.201.44: число байт=32 время=171мс TTL=62
Ответ от 192.168.201.44: число байт=32 время=214мс TTL=62
Ответ от 192.168.201.44: число байт=32 время=524мс TTL=62
А если тоже самое в /etc/network/interfaces определить то ловлю такую ошибку. Вот конфиги:
~# nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual

# The following network interface
auto eth1
iface eth1 inet manual

# The following network interface
auto eth2
iface eth2 inet manual

# The following network interface
auto eth3
iface eth3 inet manual

# The following network interface
auto eth4
iface eth4 inet manual

# The following network interface
auto eth5
iface eth5 inet manual

# Bond
auto bond1
iface bond1 inet manual
bond-slaves eth0 eth1
up /sbin/ifenslave bond1 eth0 eth1
down /sbin/ifenslave bond1 eth0 eth1
bond_mode 802.3ad
bond_miimon 100
bond_lacp_rate 1

# Bridge with the primary network interface
auto br0
iface br0 inet static
address 192.168.201.6
netmask 255.255.255.0
network 192.168.201.0
#broadcast 192.168.201.155
gateway 192.168.201.75
bridge_ports bond1
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

# Bonding with the remaining interfaces
auto bond0
iface bond0 inet static
address 10.10.10.1
netmask 255.255.255.0
bond-slaves eth2 eth3 eth4 eth5
up /sbin/ifenslave bond0 eth2 eth3 eth4 eth5
down /sbin/ifenslave bond0 eth2 eth3 eth4 eth5
bond_mode balance-rr
bond_miimon 100
bond_lacp_rate 1
mtu 9000
~# nano /etc/modprobe.d/bonding.conf

alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2

★★★★★

ещё проверь чтобы у всех сетевух mtu одинаковый стоял. А то может бридж пытается для всех выставить одинаковый mtu(что логично).

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Сейчас на тестовой машине поднял. Там не ругается на MTU, а в остальном все на тоже ругается не может добавить bond к мосту

petav ★★★★★
() автор топика
Ответ на: комментарий от petav
cat /proc/net/bonding/bond0

не показывает ни одного slave. Наверное это цепочка eth0, eth1 не добавляются в bond0. bond0 не добавляется в br0. Руками добавляется (на тестовой не пробывал, так было на реальной). Что-то с конфигом. Или последовательность или каких директив не хватает.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

может порядок секций в конфиге поменять? bound0 перед br поставить....

true_admin ★★★★★
()
Ответ на: комментарий от petav
Ignoring unknown interfaces bond0=bond0
Ignoring unknown interfaces br0=br0

Убираешь строчку

auto bond0
auto br0
Перестает ругаться, но и не делает ни чего. Интерфейсы мертвые

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

А какая у тебя ОСь? Я щас на дебиане своём тестовом по крайней мере bond0 поднял(конфиг целиком):

iface bond0 inet static
address 10.31.1.5  
netmask 255.255.255.0 
network 10.31.1.0     
gateway 10.31.1.254 
slaves eth0 eth1            
bond_mode active-backup         
bond_miimon 100      
bond_downdelay 200
bond_updelay 200
true_admin ★★★★★
()
Ответ на: комментарий от true_admin

У меня ваш конфиг не заработал:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

auto bond0
iface bond0 inet static
address 192.168.200.6
netmask 255.255.255.0
network 192.168.200.0
gateway 192.168.200.75
slaves eth0 eth1
bond_mode active-backup
bond_miimon 100
bond_downdelay 200
bond_updelay 200
mii-tool сказал что нет устройств, добавил к этому конфигу
up ifenslave bond0 eth0 eth1
и
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 52:54:00:6a:3e:a8

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 52:54:00:b8:5a:54
Только вот режим не изменяется
# cat /sys/class/net/bond0/bonding/mode
balance-rr 0

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Очень похоже что нативность не работает! Дело видимо в этом! Вывод из того что если руками то работает, если в конфиг добавлять up то работает, bond_* вобще не обрабатываются.

Так что вопрос скорее всего в том почему interfaces не понимает эти директивы?

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Ну да меняю

#nano /etc/modprobe.d/bonding.conf

alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 mode=1
и
# cat /sys/class/net/bond0/bonding/mode
active-backup 1
Нативно ни работает

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

похоже все дело адресе для bond когда он manual не поднимается, а когда статик поднимается. И в состав моста входит. Проверю сейчас

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Дело в отсутствии адреса в bond0

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

auto bond0
iface bond0 inet static
address 192.168.200.6
netmask 255.255.255.0
gateway 192.168.200.75
slaves eth0 eth1
bond_mode active-backup
bond_miimon 100
bond_downdelay 200
bond_updelay 200
up ifenslave bond0 eth0 eth1

auto br0
iface br0 inet static
address 192.168.200.6
netmask 255.255.255.0
network 192.168.200.0
gateway 192.168.200.75
bridge_ports bond0
# reboot
~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 52:54:00:6a:3e:a8

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 52:54:00:b8:5a:54
#ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 52:54:00:6a:3e:a8
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:271 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19145 (19.1 KB)  TX bytes:12387 (12.3 KB)
          Interrupt:10

# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 52:54:00:6a:3e:a8
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7880 (7.8 KB)  TX bytes:0 (0.0 B)
          Interrupt:10 Base address:0x4100
# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 52:54:00:6a:3e:a8
          inet6 addr: fe80::5054:ff:fe6a:3ea8/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:473 errors:0 dropped:0 overruns:0 frame:0
          TX packets:124 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:30777 (30.7 KB)  TX bytes:15031 (15.0 KB)
# ifconfig br0
br0       Link encap:Ethernet  HWaddr 52:54:00:6a:3e:a8
          inet addr:192.168.200.6  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe6a:3ea8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:299 errors:0 dropped:0 overruns:0 frame:0
          TX packets:443 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:21518 (21.5 KB)  TX bytes:59843 (59.8 KB)

Вот в чем дело еще

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Ну точно!!!!! ???

# nano /etc/modprobe.d/bonding.conf
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2
# reboot
# cat /sys/class/net/bond0/bonding/mode
active-backup 1
petav ★★★★★
() автор топика
Ответ на: Ну точно!!!!! ??? от petav

Мой вывод. Если определять bond интерфейсы как

auto bond0
iface bond0 inet manual
то bond0 не поднимается, директивы bond_* игнорируются и как следствие интерфейсы ifenslive не добавляются.

Далее хочу попробовать обойтись без up ifenslive

petav ★★★★★
() автор топика
Ответ на: комментарий от petav
auto bond0
iface bond0 inet static
address 192.168.200.6
netmask 255.255.255.0
gateway 192.168.200.75
#slaves eth0 eth1
bond_mode active-backup
bond_miimon 100
bond_downdelay 200
bond_updelay 200
up ifenslave bond0 eth0 eth1
# reboot

Подниматется

auto bond0
iface bond0 inet static
address 192.168.200.6
netmask 255.255.255.0
gateway 192.168.200.75
slaves eth0 eth1
bond_mode active-backup
bond_miimon 100
bond_downdelay 200
bond_updelay 200
#up ifenslave bond0 eth0 eth1
# reboot
Не поднимается /proc/net/bonding/bond0 показывает что интрефейс down и ни одного slave нету

Вот такие дела! Если есть какие мнения с удовольствием выслушаю.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

в момент перезагрузки видно как пинг поднимается это поднимается Bond, потом пинг пропадает, это bond в состав моста входит (я так понимаю), после чего пинг возобнавляется.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

так и должно быть, man interfaces. Manual означает что их не надо при загрузке системы поднимать.

true_admin ★★★★★
()
Ответ на: комментарий от petav

после чего пинг возобнавляется.

значит всё работает? Или нужного результата нет?

true_admin ★★★★★
()
Ответ на: комментарий от petav

iface bond0 inet manual вполне работает. Такой конфиг на нескольких машинах:

auto bond0
iface bond0 inet manual
        slaves eth3 eth4
        bond_mode 802.3ad
        bond_miimon 100
        bond_downdelay 200
        bond_updelay 200

cat /etc/debian_version 
6.0
ventilator ★★★
()

Кстати на данный момент работа с bonding через ifenslave и опции ядра вроде как признана устаревшей, текущий интерфейс через sysfs идёт, где можно создавать несколько бондов с разными параметрами, а раньше приходилось переименовывать модуль и грузить его два раза с разными именами чтобы получить два моста с разными настройками...

blind_oracle ★★★★★
()
Ответ на: комментарий от petav

а скорее всего slaves у меня не работает именно из-за того что выше эти интрефейсы manual

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Да вообще ни понимаю создаю второй bond1 пишу ему bond_mode=0, а он мне как и первый 1

# cat /sys/class/net/bond1/bonding/mode
active-backup 1
root@ADAM:~# cat /sys/class/net/bond0/bonding/mode
active-backup 1

Кто нибудь делал такое в Ubuntu Server 10.10

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Попробую это описание, здесь интерфейсы eth не поднимаются в автомате может в этом дело?

petav ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle
~# nano /etc/modprobe.d/bonding.conf

alias bond0 bonding
options bonding mode=0 miimon=100
~# nano /etc/modprobe.d/bonding1.conf

alias bond1 bonding
options bonding mode=1 miimon=100

Я правильно Вас понял так у меня будет два интерфейса bond но с различными настройками.

petav ★★★★★
() автор топика

ку

вот так чудно завелось и работает cat /etc/network/interfaces [code]auto lo iface lo inet loopback

auto bond0 iface bond0 inet static address 10.1.1.2 netmask 255.255.255.128 network 10.1.1.0 broadcast 10.1.1.127 gateway 10.1.1.1 slaves eth0 eth1 bond_mode 4 bond_miimon 100 bond_downdelay 200 bond_updelay 200 bond_xmit_hash_policy layer2+3

auto bond0.10 iface bond0.10 inet static address 10.254.100.10 netmask 255.255.255.224 mtu 1500 vlan_raw_device bond0 [/code]

anonymous
()
Ответ на: ку от anonymous

вот так чудно завелось и работает cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
        address 10.1.1.2
        netmask 255.255.255.128
        network 10.1.1.0
        broadcast 10.1.1.127
        gateway 10.1.1.1
        slaves eth0 eth1
        bond_mode 4
        bond_miimon 100
        bond_downdelay 200
        bond_updelay 200
        bond_xmit_hash_policy layer2+3

auto bond0.10
iface bond0.10 inet static
        address 10.254.100.10
        netmask 255.255.255.224
        mtu 1500
        vlan_raw_device bond0

anonymous
()
Ответ на: комментарий от petav

Когда bond0 только то тоже сработало, добавил второй и интерфейсы не поднимаются

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

/usr/src/linux/Documentation/networking/bonding.txt, глава «3.4 Configuring Bonding Manually via Sysfs»:

Starting with version 3.0.0, Channel Bonding may be configured
via the sysfs interface.  This interface allows dynamic configuration
of all bonds in the system without unloading the module.  It also
allows for adding and removing bonds at runtime.  Ifenslave is no
longer required, though it is still supported.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

> Ifenslave is no longer required, though it is still supported

sysfs это через файловую систему, вот бы примерчик от человека коотрый так делал для двух интрефейсов в разных режимах и кстате как тогда конфиг interfaces выглядеть должен

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Я пока не делал сам через sysfs, но скоро буду. В доке всё в общем-то разжевано:

echo +testbond > /sys/class/net/bonding_masters
ifconfig testbond up
echo +eth0 > /sys/class/net/testbond/bonding/slaves
echo +eth1 > /sys/class/net/testbond/bonding/slaves
Ну и далее аналогично.

Interfaces я так понимаю умеет только через ifenslave работать, так что он не при делах. Можно просто в rc.local всю нужную инициализацию провести и всё.

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.