Linux KVM bonding and bridging?

Добрый день,


Хотел бы попросить помощи в настройке связки bridge over bonding для работы с KVM. Идея в следующем, есть два сетевых интерфейса eth0 и eth1 на машине которая используется как хост для виртуальных машин. Сетевые интерфейсы подключены в одну локальную сеть, хотелось бы настроить bonding для балансировки нагрузки между ними.


Настроил bonding, сделал поверх него мост, указал мост как интерфейс в виртуальных машинах. Результат: в хост-системе сеть есть, даже балансируется и казалось бы все хорошо… Но вот в виртуальных машинах сети нет.


Итак, конфиги:
~$ cat /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 working in bonding
auto eth0
iface eth0 inet manual
	bond-master bond0
auto eth1
iface eth1 inet manual
	bond-master bond0

# Configure bonding
auto bond0
iface bond0 inet manual
	bond-mode balance-xor #
	bond-slaves none
	bond-miimon 100
#	bond-slaves eth0 eth1

# Interface for virtual machines
auto vbr0
iface vbr0 inet dhcp
#	vlan-raw-device bond0
        bridge_ports bond0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp on

~$ brctl show
bridge name	bridge id		STP enabled	interfaces
vbr0		8000.001a64b402b8	yes		bond0
							vnet0
							vnet1
							vnet2
							vnet3
							vnet4
							vnet5
							vnet6
							vnet7
virbr0		8000.000000000000	yes

~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:1a:64:b4:02:b8  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3575 errors:0 dropped:1 overruns:0 frame:0
          TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:531166 (531.1 KB)  TX bytes:98628 (98.6 KB)
          Interrupt:28 Memory:92000000-92012800 

eth1      Link encap:Ethernet  HWaddr 00:1a:64:b4:02:ba  
          inet6 addr: fe80::21a:64ff:feb4:2ba/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63786 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58734 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9155411 (9.1 MB)  TX bytes:13247789 (13.2 MB)
          Interrupt:40 Memory:94000000-94012800 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7859 (7.8 KB)  TX bytes:7859 (7.8 KB)

bond0      Link encap:Ethernet  HWaddr 00:1a:64:b4:02:b8  
          inet6 addr: fe80::21a:64ff:feb4:2b8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1077 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:124614 (124.6 KB)  TX bytes:2700 (2.7 KB)

vbr0      Link encap:Ethernet  HWaddr 00:1a:64:b4:02:b8  
          inet addr:192.168.74.9  Bcast:192.168.74.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:64ff:feb4:2b8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1077 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:124614 (124.6 KB)  TX bytes:2700 (2.7 KB)

virbr0    Link encap:Ethernet  HWaddr 42:c6:c1:4a:3d:38  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vnet0     Link encap:Ethernet  HWaddr fe:54:00:2f:6b:0c  
          inet6 addr: fe80::fc54:ff:fe2f:6b0c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:729 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1323 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:74757 (74.7 KB)  TX bytes:267199 (267.1 KB)

vnet1     Link encap:Ethernet  HWaddr fe:54:00:43:62:f8  
          inet6 addr: fe80::fc54:ff:fe43:62f8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:98 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:12704 (12.7 KB)  TX bytes:11014 (11.0 KB)

vnet2     Link encap:Ethernet  HWaddr fe:54:00:72:28:66  
          inet6 addr: fe80::fc54:ff:fe72:2866/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:3285 (3.2 KB)  TX bytes:9906 (9.9 KB)

vnet3     Link encap:Ethernet  HWaddr fe:54:00:91:4f:a1  
          inet6 addr: fe80::fc54:ff:fe91:4fa1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:3285 (3.2 KB)  TX bytes:8322 (8.3 KB)

vnet4     Link encap:Ethernet  HWaddr fe:54:00:d0:b2:72  
          inet6 addr: fe80::fc54:ff:fed0:b272/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:2943 (2.9 KB)  TX bytes:7842 (7.8 KB)

vnet5     Link encap:Ethernet  HWaddr fe:54:00:0b:e8:3e  
          inet6 addr: fe80::fc54:ff:fe0b:e83e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:4657 (4.6 KB)

vnet6     Link encap:Ethernet  HWaddr fe:54:00:fe:4e:c6  
          inet6 addr: fe80::fc54:ff:fefe:4ec6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:2264 (2.2 KB)  TX bytes:2964 (2.9 KB)

vnet7     Link encap:Ethernet  HWaddr fe:54:00:d5:d3:07  
          inet6 addr: fe80::fc54:ff:fed5:d307/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:2184 (2.1 KB)



Диагностика с tcpdump'ом показала что пакеты ходят из виртуальных машин в сеть, а вот обратно не приходят. Для DHCP запросов наблюдаем следующее: DHCP Request видим на vnet0, vbr0, bond0 eth0 или eth1, DHCP reply видим на eth0 или eth1, bond0, vbr0, а на vnet0 не видим :(


Что я пробовал делать:

  • Добавлять vlan-raw-device bond0 в описание vbr0 и заменять bridge_ports bond0 на bridge_ports bond0.1 или bond.0
  • Включать и выключать STP
  • Много гуглить.



Со временем я обнаружил, что ядро ругается на кадры в которых отправитель совпадает с получателем (видимо я получаю кадры с одного интерфейса на втором). Если bond0 переключить в режим active-backup, то все начинает работать.


К сожалению ничего из выше перечисленного мне не помогло, режим active-backup не устраивает меня. Быть может кто-нибудь более опытный подскажет мне в чем проблема?


Заранее спасибо за помощь.
  • Вопрос задан
  • 7049 просмотров
Пригласить эксперта
Ответы на вопрос 1
archim
@archim
Есть подозрение, что дело в rp_filter
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы