LINUX.ORG.RU
решено ФорумAdmin

После апгрейда значительно выросло количество дропов на интерфейсах

 , ,


0

1
Было ubuntu 18.04. Планово обновил до 22.04. Сразу, ступенькой, выросло количество дропов.

cat /sys/class/net/bond0/statistics/rx_dropped
488518

Причем tx_dropped такое

cat /sys/class/net/bond0/statistics/tx_dropped
0

В разрезе по всем интерфейсам бонда

cat /sys/class/net/*/statistics/rx_dropped
494799
44990
2
44990
44990
44989
44989
44989
44989
44990
44990
45371
44990
0

Режим бонда balance-alb

На соседних (необновлённых) машинах ситуация не изменилась и выглядит так

cat /sys/class/net/*/statistics/*dropped
757
45
29
0
42
0
311
0
30
0
38
0
17
0
38
0
20
0
45
0
15
0
37
0
42
0
0
0

Судя по данным в заббиксе, на обновлённой машине до обновления было как на соседях сейчас.

Куда копать? Подозреваю, это ядро и его опции. Но что именно? И почему tx_dropped нулевое?
Спасибо.
★★★★★

Последнее исправление: targitaj (всего исправлений: 1)

Так

на соседе
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.bond0.accept_source_route = 1

на этой
net.ipv4.conf.all.promote_secondaries = 0
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.bond0.accept_source_route = 0
...
net.ipv4.conf.default.arp_evict_nocarrier = 1
targitaj ★★★★★
() автор топика
Последнее исправление: targitaj (всего исправлений: 4)

Может приложение ботлнечит? Не успевает обрабатывать входящий трафик, очередь входящих переполняется и новые пакеты отбрасываются. Настройки interrupt steering сбросились после обновления? Настройки управления питанием процессора в порядке? Проц разгоняется до штатных частот?

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

Не похоже. Там nginx и это раздача live потока. По логам nginx всё выглядит хорошо.

ЦП я в этой машине я ограничил csate 0

Так, а чем частоты посмотреть?

targitaj ★★★★★
() автор топика
Последнее исправление: targitaj (всего исправлений: 2)

Так

Accept_source_route — параметр утилиты sysctl, который позволяет настраивать принятие пакетов с опциями Strict Source Route (SSR) или Loose Source Routing (LSR).  3

По умолчанию значение параметра равно 0. Эта настройка отключает принятие таких пакетов, они отбрасываются. Таким образом предотвращается перенаправление IP-пакетов, в том числе к хосту за брандмауэром, который в противном случае недоступен напрямую.
targitaj ★★★★★
() автор топика

Cмотри подробную статистику дропов на физических интерфейсах через «ethtool -S»

ethtool -S eth1 | grep -E 'error|drop' | grep -v ' 0$'
     rx_missed_errors: 4506
     rx_fifo_errors: 4506
Это тупо нехватка буферов т.к.
ethtool -g eth1
Current hardware settings:
RX:		256
TX:		256
Если там нет столько дропов, значит это проблема bond.

агрегирование работает нормально только в 2-х случаях: сервера соединяются напрямую без коммутатора или сервер подключен к коммутатору умеющий агрегировать линки.

У тебя коммутатор с lacp/802.3ad? Если да, то убедись, что они договорились с коммутатором.

vel ★★★★★
()

Вижу что-то интересное

соседняя машина, до апгреда

Inter-|   Receive                                                                              |  Transmit

 face |     bytes             packets        errs drop   fifo      frame compressed multicast  |bytes            packets          errs drop fifo colls carrier compressed
enp4s0f0:   713645756969494   491452664907   243  311    6393362   164        0       898      4401505144030     58703555370      0    0    0     0       0          0
enp4s0f1:   5329207156        88180668       0    30     0         0          0       406      4739726624604356  3198410625856    0    0    0     0       0          0
enp6s0f0:   7160772846        113610468      0    38     1260      0          0       533      4819736500925690  3252556519623    0    0    0     0       0          0
bond0:      953145738558391   13308711701324 8592 757    129766376 6350       0      8662      51835188042847414 34979101145937   0   45    0     0       0          0
enp6s0f1:   746788033540150   10434987142185 1421 17     107435656 807        0       926      4819705282598623  3252837471256    0    0    0     0       0          0
enp129s0f3: 5623837190        93571624       0    42     0         0          0       593      4739815444298270  3198469353750    0    0    0     0       0          0
enp8s0f3:   48097687842       681412637      0    42     8151      0          0       579      4662382973734450  3146140202308    0    0    0     0       0          0
enp6s0f2:   111910039181159   1560645875118  0    38     12239256  0          0       499      4662824077269596  3146477553443    0    0    0     0       0          0
enp8s0f1:   9201877591        140291533      443  15     654       322        0      3343      4663226592565720  3146721405817    0    0    0     0       0          0
lo:         49376207300144001 1351072043369  0    0      0         0          0         0      49376207300144001 1351072043369    0    0    0     0       0          0
enp8s0f0:   5630984067965     78517588021    380  45     951361    303        0       603      4662694729151920  3146349740620    0    0    0     0       0          0
enp8s0f2:   88729458390637    1233254199647  6346 37     9129533   4917       0       503      4662416877427403  3146204853492    0    0    0     0       0          0
enp129s0f0: 5218519665        86294023       0    29     0         0          0       403      4739888937013787  3198525592966    0    0    0     0       0          0
enp6s0f3:   6591480520        103535464      2    20     505       1          0       274      4662770003344804  3146407826865    0    0    0     0       0          0

машина после апгрейда

Inter-|   Receive                                                                              |  Transmit
 face |bytes              packets            errs drop   fifo      frame compressed multicast  |bytes            packets          errs drop fifo colls carrier compressed
lo:        64612161531267 1637394921         0    0      0         0          0         0      64612161531267    1637394921       0    0    0     0       0          0
enp4s0f0:  13329239       212935             0    89448  0         0          0     89448      6058087362054     4085402945       0    0    0     0       0          0
enp4s0f1:  11669820       194497             0    89448  0         0          0     89448      6056915612660     4084474692       0    0    0     0       0          0
enp4s0f2:  11669760       194496             0    89447  0         0          0     89447      6511725453467     4393067375       0    0    0     0       0          0
enp4s0f3:  12574680       209578             0    89447  0         0          0     89447      6507691019902     4390399923       0    0    0     0       0          0
enp6s0f0:  11669760       194496             0    89447  0         0          0     89447      6048599286429     4079143705       0    0    0     0       0          0
enp6s0f1:  11669760       194496             0    89447  0         0          0     89447      6061357305370     4087665560       0    0    0     0       0          0
enp6s0f2:  11669820       194497             0    89448  0         0          0     89448      6056809981344     4084492427       0    0    0     0       0          0
enp6s0f3:  11669820       194497             0    89448  0         0          0     89448      6061913923254     4088095666       0    0    0     0       0          0
enp8s0f0:  1030119083808  706695633          0    90204  0         0          0     90204      6418494869        76168421         0    0    0     0       0          0
enp8s0f1:  11669880       194498             0    89448  0         0          0     89448      6065157167281     4090426664       0    0    0     0       0          0
enp10s0f0: 13405615       214209             0    89448  0         0          0     89448      6070569626403     4094079899       0    0    0     0       0          0
enp10s0f1: 1292448766788  17858207393        0    2      0         0          0     89449      6504299277790     4388314217       0    0    0     0       0          0
bond0:     1292569765996  17860205608        0    983837 0         0          0    983925      68003126805984    45865563610      0    0    0     0       0          0

targitaj ★★★★★
() автор топика
Последнее исправление: targitaj (всего исправлений: 1)
На соседе

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet   netmask 255.255.255.192  broadcast 
        ether   txqueuelen 1000  (Ethernet)
        RX packets 13309433509037  bytes 953198231697583 (953.1 TB)
        RX errors 8592  dropped 757  overruns 129766937  frame 6350
        TX packets 34980856435590  bytes 51837790999061594 (51.8 PB)
        TX errors 0  dropped 45 overruns 0  carrier 0  collisions 0

На машине после обновления

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet   netmask 255.255.255.192  broadcast 
        ether   txqueuelen 1000  (Ethernet)
        RX packets 18664251289  bytes 1350890918083 (1.3 TB)
        RX errors 0  dropped 1014813  overruns 0  frame 0
        TX packets 47812229274  bytes 70890593199227 (70.8 TB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

совсем нет overruns и frame

Мммм, читать все релизы ядер и смотреть что поменяли в работе сети?

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

До обновления

overruns 129766937

Это процессор не успевает обрабатывать пакеты.
Число буферов на приём нужно поднять. Возможно включить rps. Возможно заменить сервер :)

После обновления:
Хватит устраивать истерику! 1014813/18664251289=.000054 т.е. 0.005%
т.е. нет проблемы!

А учитывая balance-alb, то нужно всё оставить как есть.

PS смени коммутатор на нормальный и подключи bond как 802.3ad

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от targitaj

Есть подозрение, что раньше отброшенный мс-пакет не считался дропом.

Раз статистика идёт от сетевых корт, то смотри на них статистику через «ethtool -S». Возможно это поможет понять происходящее.

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

Спасибо.

Это первая машина из ряда и нужно понять рамки новой нормы. То есть, есть наработанная статистика и привычное поведение. Делаешь апгрейд и получаешь отличающееся поведение. Нужно разобраться.

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

Правильные сетевые карты имеют mc-фильтр позволяющий принимать пакеты только для подключенных групп (join).

Дальше возникает вопрос - мс-пакет пришел на интерфейс (из-за неуправляемого коммутатора), а здесь этот адрес никто не слушает. Дроп это или нет?

Возможно раньше это не считали дропом.

ubuntu 18 и 22 слишком сильно отличаются. Раз статистика дропов приходит из сетевого интерфейса, то смотри на сколько изменилась версия драйвера сетевой карты.

Покажи «ethtool -S» любой сетевухи с дропами.

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

Хм...

for iface in $(ls /sys/class/net | grep -v -e bond -e lo); do echo $iface; ethtool -S $iface | grep -i -e drop -e mult; done
enp10s0f0
     rx_multicast: 96108
     tx_multicast: 0
     multicast: 96108
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp10s0f1
     rx_multicast: 96183
     tx_multicast: 0
     multicast: 96183
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp4s0f0
     rx_multicast: 96107
     tx_multicast: 0
     multicast: 96107
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp4s0f1
     rx_multicast: 96107
     tx_multicast: 0
     multicast: 96107
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp4s0f2
     rx_multicast: 96107
     tx_multicast: 0
     multicast: 96107
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp4s0f3
     rx_multicast: 96106
     tx_multicast: 0
     multicast: 96106
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp6s0f0
     rx_multicast: 96106
     tx_multicast: 0
     multicast: 96106
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp6s0f1
     rx_multicast: 96108
     tx_multicast: 0
     multicast: 96108
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp6s0f2
     rx_multicast: 96107
     tx_multicast: 0
     multicast: 96107
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp6s0f3
     rx_multicast: 96107
     tx_multicast: 0
     multicast: 96107
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp8s0f0
     rx_multicast: 96921
     tx_multicast: 0
     multicast: 96921
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0
enp8s0f1
     rx_multicast: 96110
     tx_multicast: 0
     multicast: 96110
     tx_multi_coll_ok: 0
     dropped_smbus: 0
     tx_dropped: 0
     rx_queue_0_drops: 0
     rx_queue_1_drops: 0
     rx_queue_2_drops: 0
     rx_queue_3_drops: 0
     rx_queue_4_drops: 0
     rx_queue_5_drops: 0
     rx_queue_6_drops: 0
     rx_queue_7_drops: 0

вот как

targitaj ★★★★★
() автор топика
Последнее исправление: targitaj (всего исправлений: 2)

Дропаемый мультикаст - это VRRP. Вопрос, конечно, почему на 18.04 оно так не работает. Ну ок, считаем вопрос решённым.

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