engdev Posted March 12, 2014 Posted March 12, 2014 (edited) Добрый день всем, я начинающий сис админ, и есть одна специфическая задача и проблема. Собрал linux soft router на процессоре AMD. Выполняет функции NAT + шейпер, столкнулся с проблемой - полка по трафику 100 МБит/с в сторону пользователей. При этом если полностью загрузить download, upload резко снижается. Шейпер на время тестов отключен. Имеем два интерфейса # lspci | grep Ethernet 02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection 03:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06) 04:00.0 Ethernet controller: Qualcomm Atheros AR8161 Gigabit Ethernet (rev 10) # ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr: xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:xxx.xxx.xxx.xxx inet6 addr: fe80::96de:80ff:fe36:8040/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:180793214 errors:0 dropped:0 overruns:0 frame:0 TX packets:166373269 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10000 RX bytes:173474056492 (173.4 GB) TX bytes:109910034467 (109.9 GB) Interrupt:18 eth2.1000 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.16.0.1 Bcast:172.16.0.255 Mask:255.255.255.0 inet6 addr: fe80::6a05:caff:fe1f:880e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:172972645 errors:0 dropped:0 overruns:0 frame:0 TX packets:162051906 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:116948904210 (116.9 GB) TX bytes:172161985340 (172.1 GB) lo Link encap:Локальная петля (Loopback) inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:25453 errors:0 dropped:0 overruns:0 frame:0 TX packets:25453 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4253665 (4.2 MB) TX bytes:4253665 (4.2 MB) # cat /proc/interrupts | grep eth 43: 100642 101150690 36673482 45871 PCI-MSI-edge eth2-rx-0 44: 0 38945210 1 89018034 PCI-MSI-edge eth2-tx-0 45: 0 0 0 10 PCI-MSI-edge eth2 46: 0 0 1 47023 PCI-MSI-edge eth1 47: 94 0 1 62867 PCI-MSI-edge eth0 48: 305 19118 18086501 8601684 PCI-MSI-edge eth0-TR-0 49: 91715854 0 82221 34102 PCI-MSI-edge eth0-TR-1 50: 27761 19928 3 27759835 PCI-MSI-edge eth0-TR-2 51: 69948 8480944 807610 25949874 PCI-MSI-edge eth0-TR-3 # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: pg Wake-on: pg Current message level: 0x000060e4 (24804) link ifup rx_err tx_err hw wol Link detected: yes # ethtool eth2 Settings for eth2: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: on (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes eth0 - встроенная сетевая карта, аплинк в сторону провайдера. eth2 - смотрит на пользователей, пользователи все в одном влане 1000. Эта сетевая карта имеет интерфейс PCIe x1, я думаю не в этом дело? Все сетевые карты воткнуты в один L2 коммутатор - TP-Link TL-SG5412F, все порты гигабитные. Патчкорды менял, да не в них дело, светодиод на коммутаторе горит зеленым цветом. В сторону провайдера, скорость заявленная, если скачать что то через wget, провайдер отдает полную скорость на этом роутере. Знаю что сетевые карты плохие, но у меня расчетный трафик - 300 МБит/с, без роста, т.е на этом роутере роста трафика не будет. Нужно просто отроутить на чем есть 300 МБит трафика и все. Вот такая вот специфическая задача. В чем может быть дело? Edited March 12, 2014 by engdev Вставить ник Quote
DVM-Avgoor Posted March 12, 2014 Posted March 12, 2014 iptables? top? eth2 - ar8161? Без влана не пробовали? Вставить ник Quote
engdev Posted March 12, 2014 Author Posted March 12, 2014 (edited) top - 18:11:30 up 7:35, 2 users, load average: 0,05, 0,08, 0,12 Tasks: 129 total, 1 running, 128 sleeping, 0 stopped, 0 zombie %Cpu(s): 0,2 us, 0,1 sy, 0,0 ni, 96,7 id, 1,7 wa, 0,0 hi, 1,4 si, 0,0 st КиБ Mem: 7652192 total, 822676 used, 6829516 free, 139248 buffers КиБ Swap: 7852028 total, 0 used, 7852028 free, 379128 cached Загрузка CPU 3-4%. eth2 без влана не пробовал, но разве может быть в этом дело? iptables только правило на FORWARD, и два списка ipset # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere Chain FORWARD (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere match-set FREAL dst ACCEPT all -- anywhere anywhere match-set FREAL src ACCEPT all -- anywhere anywhere match-set FFIN dst ACCEPT all -- anywhere anywhere match-set FFIN src Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere eth0 - Qualcomm Atheros AR8161 Gigabit Ethernet (rev 10) - смотрит в сторону провайдера, тут все ок eth2 - Intel Corporation 82574L Gigabit Network Connection - смотрит на пользователей, полка 100 МБит/с Edited March 12, 2014 by engdev Вставить ник Quote
engdev Posted March 12, 2014 Author Posted March 12, 2014 Пока грешу на влан, завтра попробую без без него, если в этом есть смысл. Вставить ник Quote
vurd Posted March 12, 2014 Posted March 12, 2014 По симптомам похоже на загрузку по шине. Но шина pci-e 1x дает 250 мбайт в секунду. Покажите график если есть. Вставить ник Quote
passer Posted March 12, 2014 Posted March 12, 2014 (edited) Используйте 02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection 03:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06) , а атерос или забыть или использовать для всякой мелочи. Edited March 12, 2014 by passer Вставить ник Quote
engdev Posted March 12, 2014 Author Posted March 12, 2014 , а атерос или забыть или использовать для всякой мелочи. Ок, но в данном случае почему то полка на сетевой карте от Intel. Вставить ник Quote
vurd Posted March 12, 2014 Posted March 12, 2014 А что было в 10 часов? Может быть просто счетчики для графиков переполняются? :) Вставить ник Quote
passer Posted March 12, 2014 Posted March 12, 2014 Не знаю. Зато на личном опыте знаю, что Intel + vlan проблем не вызывает. Возможно сетевка неисправна, возможно железка "тупит" с которой сетевка работает. Да много чего бывает. Вставить ник Quote
vurd Posted March 12, 2014 Posted March 12, 2014 Интел рулит это точно, но у ТС явно проблема с графиком. У него там трафика больше сотни, 32 битные счетчики переполнились - на графике херня, он думает, что проблема в сетевыми. Тот момент где исходящий вырос, а входящий упал точно так же можно объяснить. 2engdev, почините графики сначала, может быть проблемы и нет. p.s. Если это кактус, то надо выбрать 64-bit counters. Если был выбран изначально, то пересоздать график. p.p.s. И вообще-то "полка" выглядит примерно так: Вставить ник Quote
Antares Posted March 12, 2014 Posted March 12, 2014 Интел рулит это точно, но у ТС явно проблема с графиком. У него там трафика больше сотни, 32 битные счетчики переполнились - на графике херня, он думает, что проблема в сетевыми. Тот момент где исходящий вырос, а входящий упал точно так же можно объяснить. 2engdev, почините графики сначала, может быть проблемы и нет. p.s. Если это кактус, то надо выбрать 64-bit counters. Если был выбран изначально, то пересоздать график. По графикам +1, но пересоздавать ничего не надо, можно просто исправить в настройка кактуса ну и автору почитать http://forum.nag.ru/forum/index.php?showtopic=92786&view=findpost&p=941882 Вставить ник Quote
DVM-Avgoor Posted March 12, 2014 Posted March 12, 2014 Как-то на полку-то, конечно, ни разу не похоже... Интелы 82574L конечно не высший свет, но уж и не откровенное дерьмо. Имхо ваша проблема совершенно не в этом. Есть ли какие признаки "полки" кроме странных графиков? Увеличение задержек, дропы? Вам апстрим больше 100Мбит хоть дает? Вставить ник Quote
engdev Posted March 12, 2014 Author Posted March 12, 2014 (edited) Как-то на полку-то, конечно, ни разу не похоже... Интелы 82574L конечно не высший свет, но уж и не откровенное дерьмо. Имхо ваша проблема совершенно не в этом. Есть ли какие признаки "полки" кроме странных графиков? Увеличение задержек, дропы? Вам апстрим больше 100Мбит хоть дает? Апстрим дает 500 Мбит/с, через wget эту скорость я получаю. По поводу графиков действительно ошибся, поставил 64 битные счетчики, посмотрим что будет. nload не показывает мне скорость выше 100 Мбит/с, бывает конечно резкий скачок на 110, и сразу резко вниз на 95. Дропов, увеличение пингов не наблюдается. Edited March 12, 2014 by engdev Вставить ник Quote
snark Posted March 12, 2014 Posted March 12, 2014 Если это кактус, то надо выбрать 64-bit counters. Если был выбран изначально, то пересоздать график. Откройте для себя плагин fix64bit ;) Вставить ник Quote
vurd Posted March 12, 2014 Posted March 12, 2014 Если это кактус, то надо выбрать 64-bit counters. Если был выбран изначально, то пересоздать график. Откройте для себя плагин fix64bit ;) Ок. Спасибо. У меня бывает на 3750 такая херня, график 64, но рисует с переполнением. Решал пересозданием. Ну если плагин фиксит одной кнопкой, то гут ;) Вставить ник Quote
snark Posted March 12, 2014 Posted March 12, 2014 график 64, но рисует с переполнением. Решал пересозданием. Здесь: "Data Queries" -> "SNMP - Interface Statistics" -> "In/Out Bits (64-bit Counters)" Посмотрите что представляет из себя rrd_maximum - если оно равно "query_ifSpeed", то возможно, что в момент создания графика SNMP сказало что скорость интерфейса, например, 100Мбит и RRD файл создался с максимумом не позволяющим в него впихнуть 1Гбит. Когда график пересоздавали, то SNMP мог отдать нормальную скорость, после чего данные влазили. Чтобы данные всегда "помещались" я сделал у себя так: Т.е. тупо-в-лоб ставим 10 или даже 100 Гбит даже для интерфейсов в 1Мбит :) В настройках плагина можно указать RRD max, чтобы при пересборке RRD файла (там вроде дамп -> создание нового -> заливка) было нужное значение: Вставить ник Quote
vurd Posted March 12, 2014 Posted March 12, 2014 А так и было. Графики были созданы пока интерфейс был в down, я еще сразу подумал, что он тупо не влезает из-за максимума. Вставить ник Quote
snark Posted March 12, 2014 Posted March 12, 2014 Графики были созданы пока интерфейс был в down Вот для этого и сделано так, как на 1-й пикче ;) После такого финта можно сразу строить графики даже с отключенных портов. Плагин же позволяет исправлять косяки, когда по-запарке создали график не 64-х битный, а 32-х битный. У меня каждый новый свич начинает мониторится по всем портам сразу после установки и как только подключаем абонента, то график сразу выходит из нуля, но при этом не тупит. Вставить ник Quote
engdev Posted March 13, 2014 Author Posted March 13, 2014 Вообщем оказалось что глючит Qualcomm Atheros AR8161 Gigabit Ethernet которая смотрит в мир. Через wget она выдает полную скорость, а через iperf -c <соседу в сервер> упираемся опять в 20-70 Мбит/с в зависимости от нагрузки канала. Не знаю почему так. Завтра заменю на Intel, смотрю что будет. Вставить ник Quote
passer Posted March 13, 2014 Posted March 13, 2014 (edited) У вас на борту 3 сетевки. Используйте 2 Intel'а. Для ваших нужд Intel 571, 572, 574, 579 за глаза хватит. Edited March 13, 2014 by passer Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.