Ошибки на интерфейсе freebsd

Сервер Asus RS160-S5, два Xeon E5420 @ 2.50GHz, четырех портовая сетевая карта intel 82571PT и встроенные (2х канальный интегрированный в чипсет контроллер + интерфейс физического уровня Intel 82563EB 10/100/1000 Мбит/с и 2 сетевых контроллера Intel 82573)

lagg0 объединяет четыре порта 82571PT и один встроенной сетевой карты. На интерфейсы lagg0 попадает мониторинг с роутера, далее в netgraph и выводить с другого lagg-интерфейса(два порта). На входящих в lagg0 интерфейсах есть ошибки из-за cpu:

FreeBSD 7.2-RELEASE
# ifconfig em0
em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 00:15:17:7f:57:b0
    media: Ethernet autoselect (1000baseTX <full-duplex>)
    status: active
    lagg: laggdev lagg0
# netstat -w 1 -I em0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
    125071 34001   77377039          0     0          0     0
    127231 32662   78761625          0     0          0     0
    129571 29724   81239227          0     0          0     0
    125599 32527   78889850          0     0          0     0
#netstat -w 1 
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    985841 110710  600567974     780195     0  313484948     0
    983657 120779  594569491     777140     0  306421389     0
    996726 115091  602176326     789737     0  312895661     0

last pid:  3584;  load averages:  4.31,  4.38,  4.37                                                                                 up 0+01:41:59  17:39:14
99 processes:  13 running, 72 sleeping, 14 waiting
CPU 0:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 1:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 2:  0.0% user,  0.0% nice,  3.5% system,  3.5% interrupt, 93.0% idle
CPU 3:  0.0% user,  0.0% nice, 54.4% system,  0.0% interrupt, 45.6% idle
CPU 4:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 6:  0.0% user,  0.0% nice,  8.8% system,  0.0% interrupt, 91.2% idle
CPU 7:  0.0% user,  0.0% nice, 75.4% system,  0.0% interrupt, 24.6% idle
Mem: 58M Active, 26M Inact, 109M Wired, 144K Cache, 28M Buf, 7731M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   31 root        1 -68    -     0K    16K CPU5   5  99:24 100.00% em2 taskq
   29 root        1 -68    -     0K    16K CPU0   0  99:21 100.00% em0 taskq
   30 root        1 -68    -     0K    16K CPU1   1  98:57 100.00% em1 taskq
   14 root        1 171 ki31     0K    16K CPU4   4  91:29 100.00% idle: cpu4
   16 root        1 171 ki31     0K    16K CPU2   2  78:47 93.65% idle: cpu2
   12 root        1 171 ki31     0K    16K CPU6   6  94:44 91.06% idle: cpu6
   39 root        1 -68    -     0K    16K CPU7   7  66:57 71.04% em7 taskq
   32 root        1 -68    -     0K    16K -      3  62:11 64.79% em3 taskq
   15 root        1 171 ki31     0K    16K RUN    3  38:53 34.03% idle: cpu3
   11 root        1 171 ki31     0K    16K RUN    7  34:16 31.84% idle: cpu7
   38 root        1 -68    -     0K    16K -      6   6:23 10.21% em6 taskq
   34 root        1 -68    -     0K    16K -      2   8:07  7.76% em5 taskq
   19 root        1 -32    -     0K    16K WAIT   2   1:27  1.22% swi4: clock sio
   18 root        1 171 ki31     0K    16K RUN    0   7:38  0.00% idle: cpu0
   13 root        1 171 ki31     0K    16K RUN    5   6:27  0.00% idle: cpu5
   17 root        1 171 ki31     0K    16K RUN    1   5:12  0.00% idle: cpu1
   21 root        1 -44    -     0K    16K WAIT   4   3:51  0.00% swi1: net

не помогло: polling 1000MHz,2000MHz;-tso;драйвера с сайта intel 6.9.20;изменение dev.em.0.rx_*

есть ли софтовое решение данной проблемы или какую выбрать железку/сетевку

Появились дисконекты, завышения пингов .

Схема сети: локальные роутеры занимаются шейпингом клиентов(ipfw + pipe + tablearg) , потом траф идет на сервер NAT(pf nat), с него патч идет непосредственно в сервер BGP(quagga + ipfw), а дальше в инет.

Сервера: На ОС FreeBSD 7.0 (в ядре вырублены левые дрова и вшит фаервол).
Сетевые Intel 1000MT Desctop.
Проц Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz. ОЗУ -2G

Трафик не такой больой , железо должно нормально справляться.
CPU загружается в пике не более чем по 60% оба ядра (распаралеливание происходит нормально)
Для сетевых , это тоже вроде не предел… (250Mb/s, 30-35k pps, порядка 80k сессий )
В pf на нат отрублен scrub.

Почему берутся эти ошибки?
Чем отличается Error и Discards? В каких случаях возникают ошибки in и out (особенно связка маскарад(нат) net0 и Mart (bgp) net1, которые соединены напрямую патчем. )
Где может быть узкое место?
Куда еще можно покопать ??

Завышения пингов начинаются на сервере NAT. net0 — в сторону инета , net1 — в сторону локальной сети
сыпятся ошибки

Мониторинг системы под FreeBSD. Полезные команды

Системные команды, которыми можно проверить ресурсы системы, текущую нагрузку и просто просматривать различную информацию.

HDD

atacontrol list — просмотр всех жестких дисков в системе (показывает в том числе и их модели)

mount – показывает смонтированные подразделы и флаги из монтирования

cat /etc/fstab – таблица монтирования при загрузке

disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0

swapinfo – показывает список подразделов свопинга на дисках и их использование

gstat – нагрузка на диски

fstat – показывает список открытых файлов (имена файлов не выводятся)

pstat -f – выводит список открытых файлов (имена файлов не выводятся)

iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.

iostat -d -w1 -c7 – нагрузка на диски. Статистика в удобном виде

vmstat – выводит количество операций на диске в секунду

sysinstall – можно посмотреть и изменить разметку диска и монтирование

systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.

systat -io start 1 — HDD + CPU

diskinfo -t ad4 – тест на дисковую производительность

tunefs -p /var/ – информация о настройках файловой системы (UFS)

df -H – количество свободного места

df -i – количество свободных инодов

Network

ifconfig – список сетевых интерфейсов с ip-адресами, масками, mac-адресами, типами карт и их статусами (названия карточек можно посмотреть в файле конфигурации ядра)

ifconfig -d  — Просмотреть список отключенных интерфейсов

ifconfig -u  — Список включенных сетевух

netstat – вывод активных сетевых соединений (сокетов)

netstat -i ошибки на интерфейсах

netstat -m — просмотр хватает ли mbuf и т.д.

netstat -inb – сколько передано через интерфейс в байтах

netstat -ibt – список интерфейсов, разбитых по ip-адресам (!) с объемом трафика на каждом, количеством ошибок, коллизий, значением watchdog-таймера

netstat -hdw 1 -i net1 — Просмотр количества пакетов в сек, ошибок и дропов на интерфейсе (online)

netstat -r – таблица маршрутизации

systat -ifstat n – интенсивность передачи трафика (online) по всем сетевым интерфейсам за n секунд

systat -netstat n – аналог netstat в реальном времениsysctl kern.ipc.numopensockets – количество открытых сокетов

systat -ip n – таблица IP-пакетов и ошибок по типам за n секунд

systat -tcp n – таблица TCP-пакетов и ошибок по типам за n секунд

systat -icmp n – таблица ICMP-пакетов и ошибок по типам за n секунд

arp -a – просмотр всей таблицы ARP

arp -ad – очистка всей таблицы ARP

tcpdump -i rl0 host 192.168.61.20 and port 80 – сниффер пакетов на интерфейсе rl0, фильтрующий пакеты, содержащие адрес 192.168.61.20 и порт 80

trafshow -i rl0 – программа для сортировки и вывода сетевых потоков (устанавливается дополнительно пакетом или из портов)

System

top -mio – показать I/O по процессам

top -S – показать системные процессы в топе (по дефолту они не показываются)

top -SHPI — показать загрузку по ядрам, в том числе и системные процессы, кроме тех что в простое. Наиболее удобный вариант.

vmstat -z — чего не хватает

vmstat -i — прерывания по устройствам

systat -vmstat n – просмотр всей сводной статистики по системе(online).  вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)

uptime — можно просмотреть время работы системы без перезагрузок и load averages системы

pcpustat — мониторинг CPU (порт)

ps afx – список запущенных процессов и время процессора на каждый

rcorder /etc/rc.d/* /usr/local/etc/rc.d/* — Посмотреть очередность запуска сервисов в freebsd.

Memory

freecolor – очень симпатичная утилита для мониторинга использования памяти (ставится из портов)

Для детальной информации по расходу памяти:

fetch -o /usr/local/bin/free http://people.freebsd.org/~rse/dist/freebsd-memory
chmod +x /usr/local/bin/free
free

Службы времени

date – выводит текущее время и дату

w – выводит, сколько времени назад система загрузилась и список залогиненных пользователей

last – выводит историю перезагрузок и входов пользователей

lastlogin — выводит по пользователям дату и время последнего входа в систему

По snmp снимать входящие ошибки. В счетчике ifInErrors все подряд. Статус дуплекса есть в EtherLike-MIB как и множество других счетчиков.

input errors overrun

На шасси с установленной свичевой картой. Ошибки overrun вызваны недостаточной производительностью маршрутизатора. Причем ситуацию в конкретном случае можно усугубить. Для этого достаточно в таких маршрутизаторах использовать свичевые карты, чтобы трафик передавался через внутренний интерфейс Ba0/3. Cудя по таблице iftable, счетчики ошибок будут расти быстрее на этом интерфейсе при использовании свичевой карты с гигабитными портами.
В качестве примера вывод счетчиков с маршрутизатора cisco 1921

cisco1921# sh int | in overr|^GigabitEthernet0/[01]
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
GigabitEthernet0/0 is up, line protocol is up
     48677539 input errors, 0 CRC, 0 frame, 48677539 overrun, 0 ignored
GigabitEthernet0/1 is up, line protocol is up
     4533642 input errors, 0 CRC, 0 frame, 4533642 overrun, 0 ignored

input errors ignored

Недостаточная производительность. От приоритезации толку нет, будут дропы в голосе и видео.

98559 input errors, 0 CRC, 0 frame, 0 overrun, 98559 ignored

input errors unknown protocol drops

Вероятно LLDP включен на коммутаторе и маршрутизатором не поддерживается.

2238654 unknown protocol drops

input errors CRC

Проверить физику, дуплекс. Возможно небольшое колво ошибок при включении интерфейса.

59 input errors, 59 CRC, 0 frame, 0 overrun, 0 ignored

output drops

При настроенных на ограничение скорости политиках счетчик малоинформативен.

Input queue: 0/75/1/0 (size/max/drops/flushes); Total output drops: 3354485

input errors runts

Порт настроен в access, а на удаленной в trunk если ошибки постоянно растут.

32 runts, 0 giants, 0 throttles
32 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

input errors FCS

Менять SFP, порт оборудование на удаленной стороне.
Но это не точно поможет, т.к. если коммутатор на удаленной стороне работает в Cut-Through режиме коммутации, то фрейм с ошибкой мог передаться с предыдущего сетевого оборудования.
Возможно не работает автосогласование дуплекса. На 100мбит оптических линках это возможно. /network/eltex/#negotiation

input errors CRC

Проверить физику, дуплекс. На оптических линках возникает при заломах пачкорда, поэтому не надо его наматывать на органайзеры.
Ошибки могут возникать, если на одномодовом участке волс есть многомодовый патчкорд или пигтейл.

output discards

  • если есть qos, смотреть очереди, буферы. Вот тут и начиаешь ценить коммутаторы со счетчиками очередей.
  • speed mismatch (аплинк 1Gbit/s, downlink 100Mbit/s). Потери из-за burst, который не смог буферизировать коммутатор. Большинство свичей с shared буфером на всех портах.

дропы из-за неудачной модели

При выключенном на всех портах flowcontrol на тестах работает все медленно.
Счетчика ошибок нет. Смотреть и сравнивать счетчики на аплинке и даунлике.
Если не одинаково, то ставить другую модель коммутатора.

дропы из-за переподписки

На модульных коммутаторах при использовании плат с переподпиской возможны ошибки. Обратить внимание, что порты сгруппированы и не испольовать часть портов.

Апр
17
2010

С ростом сети и увеличением трафика через маршрутизатор возможна ситуация, когда роутер начинает не справляться с нагрузкой и начинает потихоньку терять пакеты на интерфейсах. Пока это эпизодическое явление, в пиковые моменты — ничего страшного, когда это явление становится постоянным и только растет число отброшенных пакетов нужно снимать нагрузку. Тут самое важное не пропустить тот момент, когда ошибки начинают появляться и планировать ввод второго маршрутизатора или апгрейд текущего. Лучше всего наблюдать за потерянными пакетами на графике.
Я использую такой конфиг для MRTG:

Target[127.0.0.1_rouerr1]: ifInErrors.1&ifInErrors.1:netstat@127.0.0.1:
SetEnv[127.0.0.1_rouerr1]: MRTG_INT_IP="192.168.0.3" MRTG_INT_DESCR="em0"
MaxBytes[127.0.0.1_rouerr1]: 125000000
Title[127.0.0.1_rouerr1]: Router Error rate on em0
PageTop[127.0.0.1_rouerr1]: <h1>Error rate on em0</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>Router</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>noc@hilik.org.ua</td>
</tr>
<tr>
<td>Description:</td>
<td>em0  </td>
</tr>
<tr>
<td>ifType:</td>
<td>ethernetCsmacd (6)</td>
</tr>
<tr>
<td>ifName:</td>
<td>em0</td>
</tr>
<tr>
<td>Max Speed:</td>
<td>1000.0 Mbits/s</td>
</tr>
<tr>
<td>Ip:</td>
<td>192.168.0.3 ()</td>
</tr>
</table>
</div>

Приведен пример для первого интерфейса ifInErrors.1, в случае второго интерфейса будет соответственно ifInErrors.2 ну и тд.

Понравилась статья? Поделить с друзьями:
  • Ошибки на иксрей
  • Ошибки на ивеко дейли на панели приборов
  • Ошибки на жизненном пути это определение для сочинения
  • Ошибки на дисплее шевроле круз
  • Ошибки на дисплее фольксваген транспортер