Ilya Evseev Posted October 26, 2016 · Report post Имеется провайдерская Циска, от неё ко мне в сервер приходят два линка в LACP. На сервере установлена CentOS 7 с ядром 4.8. Проблема: когда на сервере настроен team-интерфейс, связи с Циской нет. А когда настроен bond-интерфейс, связь есть (причём при ручном опускании одного из линков корректно переходит на оставшийся). Есть мизерная вероятность, что провайдер ошибся в настройках, но тогда неясно, почему bond0 с этой ошибкой отлично работает, а team0 не хочет. Их ответ про наш team0: у Вас криво работает lacp, либо вообще отключен. До нас не долетает ваш systemID/key, который должен отправлять нам сервер в LACPDU. Настройки в обоих случаях простейшие, причём для team-интерфейса многократно проверенные: /etc/sysconfig/network-scripts/ifcfg-team0 DEVICE=team0 DEVICETYPE=Team ONBOOT=yes DEFROUTE=yes IPADDR=... NETMASK=255.255.255.252 GATEWAY=... TEAM_CONFIG='{"runner": {"name":"lacp"}, "link_watch": {"name": "ethtool"}}' ifcfg-eno1 DEVICETYPE=TeamPort ONBOOT=yes DEVICE=eno1 NAME=eno1 TEAM_MASTER=team0 TEAM_PORT_CONFIG='{"prio": 100}' ifcfg-eno2 аналогично: DEVICETYPE=TeamPort ONBOOT=yes DEVICE=eno2 NAME=eno2 TEAM_MASTER=team0 TEAM_PORT_CONFIG='{"prio": 100}' Для бондинга: ifcfg-bond0: DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes BONDING_OPTS="mode=4" ONBOOT=yes DEFROUTE=yes BOOTPROTO=static IPADDR=... NETMASK=255.255.255.252 GATEWAY=... ifcfg-eno1: DEVICE=eno1 NAME=eno1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes ifcfg-eno2: DEVICE=eno2 NAME=eno2 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes Вопросы: 1) кто-нибудь сталкивался с несовместимостью LACP у libteam и Cisco? гугл по запросу "team0 lacp cisco" ничего не находит. 2) какие параметры советуете попробовать в ifcfg-team0? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted October 27, 2016 · Report post Что говорят: nmcli con show teamnl team0 ports teamdctl team0 state teamdctl team0 config dump Ну и в: systemctl status NetworkManager должен быть teamd (с другими параметрами конечно) CGroup: /system.slice/NetworkManager.service |-673 /usr/sbin/NetworkManager --no-daemon \-843 /usr/bin/teamd -o -n -U -D -t team0 -c {"runner": {"name": "roundrobin"}} и конечно посмотреть в tcpdump - уходит ли LACP вообще, в сторону провайдера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Nik0n Posted October 27, 2016 · Report post На сервере установлена CentOS 7 с ядром 4.8. Одно время сервер DL360 G5 на COS7 (ядро 3.10-229) включен был в стэк из цисок 3750-e. Все взлетело сразу (настраивал через nmtui :) и работало (пока не сняли циски). Теперь сервер включен в микротик sic! и с теми же настройками team0 все так же работает. Может все таки попробовать на "родном" ядре от RedHat ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ilya Evseev Posted October 29, 2016 · Report post Что говорят: nmcli con show NetworkManager не используется. teamnl team0 ports 4: eno0: up 1000Mbit FD. 7: eno1: up 1000Mbit FD. teamdctl team0 state setup: runner: lacp ports: eno0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: aggregator ID: 7, Selected selected: yes state: current eno1 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: aggregator ID: 7, Selected selected: yes state: current teamdctl team0 config dump runner: active: yes fast rate: no { "device": "team0", "link_watch": { "name": "ethtool" }, "ports": { "eno1": { "prio": 100 }, "eno0": { "prio": 100 } }, "runner": { "name": "lacp", "tx_hash": [ "eth", "ipv4", "ipv6" ] } } Ну и в: systemctl status NetworkManager должен быть teamd (с другими параметрами конечно) CGroup: /system.slice/NetworkManager.service |-673 /usr/sbin/NetworkManager --no-daemon \-843 /usr/bin/teamd -o -n -U -D -t team0 -c {"runner": {"name": "roundrobin"}} В запущенных процессах: /usr/bin/teamd -U -D -o -t team0 -f /run/teamd/team0.conf В выводе systemdctl: sys-devices-virtual-net-team0.device sys-subsystem-net-devices-team0.device teamd@team0.service system-teamd.slice В /run/teamd/team0.conf: {"runner": {"name":"lacp"}, "link_watch": {"name": "ethtool"}} и конечно посмотреть в tcpdump - уходит ли LACP вообще, в сторону провайдера. tcpdump -nei eno0/eno1 ether proto 0x8809 говорит, что уходят пакеты "... length 124: LACPv1, length 110" с MAC-адреса team0 на 01:80:C2:00:00:02 И видны такие же LACP-пакеты с чужого мак-адреса на этот же мак 01:80:C2:00:00:02. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted October 29, 2016 · Report post Думаю нужно взглянуть на пакеты в деталях: SRV ~ # tcpdump -ni eth2 ether proto 0x8809 -vvv -e dropped privs to tcpdump tcpdump: listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes 08:03:01.382606 40:b4:f0:7f:e3:84 > 01:80:c2:00:00:02, ethertype Slow Protocols (0x8809), length 124: LACPv1, length 110 Actor Information TLV (0x01), length 20 System 40:b4:f0:7f:e3:80, System Priority 127, Key 2, Port 8, Port Priority 127 State Flags [Activity, Aggregation, Synchronization, Collecting, Distributing] 0x0000: 007f 40b4 f07f e380 0002 007f 0008 3d00 0x0010: 0000 Partner Information TLV (0x02), length 20 System 90:e2:ba:7e:99:f8, System Priority 65535, Key 13, Port 1, Port Priority 255 State Flags [Activity, Aggregation, Synchronization, Collecting, Distributing] 0x0000: ffff 90e2 ba7e 99f8 000d 00ff 0001 3d00 0x0010: 0000 Collector Information TLV (0x03), length 16 Max Delay 0 0x0000: 0000 0000 0000 0000 0000 0000 0000 Terminator TLV (0x00), length 0 (=52) 0x0000: 0000 0000 0000 0000 0000 0000 0000 0000 0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 0x0020: 0000 0000 0000 0000 0000 0000 0000 0000 0x0030: 0000 08:03:11.926850 90:e2:ba:7e:99:f8 > 01:80:c2:00:00:02, ethertype Slow Protocols (0x8809), length 124: LACPv1, length 110 Actor Information TLV (0x01), length 20 System 90:e2:ba:7e:99:f8, System Priority 65535, Key 13, Port 1, Port Priority 255 State Flags [Activity, Aggregation, Synchronization, Collecting, Distributing] 0x0000: ffff 90e2 ba7e 99f8 000d 00ff 0001 3d00 0x0010: 0000 Partner Information TLV (0x02), length 20 System 40:b4:f0:7f:e3:80, System Priority 127, Key 2, Port 8, Port Priority 127 State Flags [Activity, Aggregation, Synchronization, Collecting, Distributing] 0x0000: 007f 40b4 f07f e380 0002 007f 0008 3d00 0x0010: 0000 Collector Information TLV (0x03), length 16 Max Delay 0 0x0000: 0000 0000 0000 0000 0000 0000 0000 Terminator TLV (0x00), length 0 (=52) 0x0000: 0000 0000 0000 0000 0000 0000 0000 0000 0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 0x0020: 0000 0000 0000 0000 0000 0000 0000 0000 0x0030: 0000 Это у меня, но уже работающий LACP Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...