Страница 1 из 2

Потери пакетов

Добавлено: 2008-06-05 17:32:38
ExH
Есть сервер.
Смотрит наружу через марвеловоскую сетевую.

Код: Выделить всё

> ifconfig
myk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=2b<RXCSUM,TXCSUM,VLAN_MTU,JUMBO_MTU>
        inet xx.xx.xx.xx netmask 0xfffff000 broadcast xx.xx.xx.255
        ether 00:15:f2:f5:b4:57
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
Когда скорость отдачи превышает 2 мегабита в секунду начинает терять пакеты, не пингуется и т.п.

Код: Выделить всё

> netstat -Lan
Current listen queue sizes (qlen/incqlen/maxqlen)
Proto Listen         Local Address
tcp4  0/0/128        *.6881
tcp4  0/0/128        *.6814
tcp4  0/0/128        *.80
tcp4  0/0/128        *.443
tcp4  0/0/10         127.0.0.1.25
tcp4  0/0/128        *.22
tcp4  0/0/5          xx.xx.xx.xx
Набираю и вижу:

Код: Выделить всё

> vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
128 Bucket:               524,        0,      270,      150,     1129,    46356
С чем это может быть связано?

Датацентр клянётся что у них всё в норме и я им верю потому как внутри локальной сети тоже пропадает пинг.

Re: Потери пакетов

Добавлено: 2008-06-05 18:29:33
f_andrey
ExH писал(а):Смотрит наружу через марвеловоскую сетевую.
Для начала оформите сообщение, как полагается пользуйтесь кнопками code, и прочими сильно сложно читать.
А по делу смените сетевушку для начала, у меня такое чувство что на марвелы куча жалоб шас идет, не стесняйтесь пользоваться поиском, и будет вам счастье

Re: Потери пакетов

Добавлено: 2008-06-05 19:03:16
ExH
f_andrey писал(а):
ExH писал(а):Смотрит наружу через марвеловоскую сетевую.
Для начала оформите сообщение, как полагается пользуйтесь кнопками code, и прочими сильно сложно читать.
А по делу смените сетевушку для начала, у меня такое чувство что на марвелы куча жалоб шас идет, не стесняйтесь пользоваться поиском, и будет вам счастье
А по делу сказать что-нибудь сможете? С марвелом всё нормально, сетевую уже меняли. Поиск... что искать-то?

Re: Потери пакетов

Добавлено: 2008-06-05 19:05:58
manefesto
где то на форуме пролетало что может быть проблема самой оси, то есть обновляйся....это как вариант.

Re: Потери пакетов

Добавлено: 2008-06-05 19:08:04
ExH

Код: Выделить всё

> uname -a
FreeBSD xxxxxx 6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #1: Mon Apr  7 03:36:51 MSD 2008     root@xxxxxx:/usr/src/sys/i386/compile/HOSTING  i386
Куда уж новее?
Меня вот FAILURES смущают у 128 Bucket.
Про это вообще нигде и ничего ((

Re: Потери пакетов

Добавлено: 2008-06-05 19:11:38
manefesto
stable ?

Re: Потери пакетов

Добавлено: 2008-06-05 19:14:36
ExH
Всё что показывает uname -a я показал. Видимо да, stable.

Re: Потери пакетов

Добавлено: 2008-06-05 20:08:27
weec
попробуй обновиться до STABLE

Re: Потери пакетов

Добавлено: 2008-06-06 8:21:16
zingel
Дайте вывод команд:

Код: Выделить всё

tcpdump -exv -c 100 ether broadcast and ether multicast
и

Код: Выделить всё

netstat -sp tcp
и попросите у провайдера графики загрузки порта к которому подключен Ваш сервер, кроме этого неплохо бы получить вывод команды от провайдера (если там кошка):

Код: Выделить всё

sh mls qos int <порт к которому подключен Ваш сервер>

Re: Потери пакетов

Добавлено: 2008-06-06 11:35:02
ExH

Код: Выделить всё

> tcpdump -exv -c 100 ether broadcast and ether multicast
12:30:45.186756 00:11:5c:9f:2c:40 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has unknown-1637.agava.net tell c3750-gw.agava.net
	0x0000:  0001 0800 0604 0001 0011 5c9f 2c40 596c
	0x0010:  5001 0000 0000 0000 596c 5924 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.196517 00:0f:ea:45:f7:da (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has unknown-3252.agava.net tell md1038.agava.net
	0x0000:  0001 0800 0604 0001 000f ea45 f7da 596c
	0x0010:  5a26 0000 0000 0000 596c 483d 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.205201 00:11:5c:9f:2c:40 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has 89.108.79.40 tell c3750-gw.agava.net
	0x0000:  0001 0800 0604 0001 0011 5c9f 2c40 596c
	0x0010:  4801 0000 0000 0000 596c 4f28 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.210242 00:11:5c:9f:2c:40 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has 89.108.79.92 tell c3750-gw.agava.net
	0x0000:  0001 0800 0604 0001 0011 5c9f 2c40 596c
	0x0010:  4801 0000 0000 0000 596c 4f5c 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.234395 00:30:48:2e:e2:0a (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has rot.webrika.ru tell rot.webrika.ru
	0x0000:  0001 0800 0604 0001 0030 482e e20a 596c
	0x0010:  5982 0000 0000 0000 596c 5982 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.239886 00:11:5c:9f:2c:40 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has 89.108.82.91 tell c3750-gw.agava.net
	0x0000:  0001 0800 0604 0001 0011 5c9f 2c40 596c
	0x0010:  5001 0000 0000 0000 596c 525b 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
12:30:45.297142 00:13:20:55:9d:77 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has m3.konkurentov.net tell s1.konkurentov.net
	0x0000:  0001 0800 0604 0001 0013 2055 9d77 596c
	0x0010:  5243 0000 0000 0000 596c 5242 0000 0000
	0x0020:  0000 0000 0000 0000 0000 0000 0000
и много подобного, одни арпы.

Код: Выделить всё

> netstat -sp tcp
tcp:
        1086505 packets sent
                532732 data packets (759114665 bytes)
                33556 data packets (46842675 bytes) retransmitted
                978 data packets unnecessarily retransmitted
                0 resends initiated by MTU discovery
                349411 ack-only packets (12162 delayed)
                0 URG only packets
                106 window probe packets
                168681 window update packets
                7659 control packets
        953983 packets received
                270788 acks (for 758708953 bytes)
                62563 duplicate acks
                0 acks for unsent data
                432977 packets (547651642 bytes) received in-sequence
                565 completely duplicate packets (17219 bytes)
                0 old duplicate packets
                71 packets with some dup. data (2866 bytes duped)
                195017 out-of-order packets (279608623 bytes)
                0 packets (0 bytes) of data after window
                0 window probes
                24743 window update packets
                1 packet received after close
                0 discarded for bad checksums
                0 discarded for bad header offset fields
                0 discarded because packet too short
        3994 connection requests
        355 connection accepts
        1 bad connection attempt
        0 listen queue overflows
        0 ignored RSTs in the windows
        3781 connections established (including accepts)
        4347 connections closed (including 110 drops)
                306 connections updated cached RTT on close
                368 connections updated cached RTT variance on close
                119 connections updated cached ssthresh on close
        568 embryonic connections dropped
        158173 segments updated rtt (of 144467 attempts)
        10987 retransmit timeouts
                2 connections dropped by rexmit timeout
        107 persist timeouts
                0 connections dropped by persist timeout
        392 keepalive timeouts
                0 keepalive probes sent
                392 connections dropped by keepalive
        8304 correct ACK header predictions
        373068 correct data packet header predictions
        355 syncache entries added
                1 retransmitted
                6 dupsyn
                5 dropped
                355 completed
                0 bucket overflow
                0 cache overflow
                0 reset
                0 stale
                0 aborted
                0 badack
                0 unreach
                0 zone failures
        360 cookies sent
        0 cookies received
        9444 SACK recovery episodes
        16938 segment rexmits in SACK recovery episodes
        24470942 byte rexmits in SACK recovery episodes
        66635 SACK options (SACK blocks) received
        174080 SACK options (SACK blocks) sent
        0 SACK scoreboard overflow
График загрузки попросил.

Код: Выделить всё

> vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES

UMA Kegs:                 140,        0,       69,        3,       69,        0
UMA Zones:                480,        0,       69,        3,       69,        0
UMA Slabs:                 64,        0,     1010,     1291,     5196,        0
UMA RCntSlabs:            104,        0,     2066,      117,    11413,        0
UMA Hash:                 128,        0,        4,       26,        6,        0
16 Bucket:                 76,        0,       33,       17,       72,        0
32 Bucket:                140,        0,       23,       33,       77,        0
64 Bucket:                268,        0,       44,       54,      139,        9
128 Bucket:               524,        0,      132,      120,      965,    38779
VM OBJECT:                132,        0,    14668,      122,    54739,        0
MAP:                      192,        0,        7,       13,        7,        0
KMAP ENTRY:                68,    57344,      153,     1135,    60085,        0
MAP ENTRY:                 68,        0,     1399,      337,    81588,        0
PV ENTRY:                  24,  1744640,    41083,    26632,  1444873,        0
DP fakepg:                 72,        0,        0,        0,        0,        0
mt_zone:                 1024,        0,      155,      125,      155,        0
Единственное что смущает -- много FAILURES.

Кстати, машина некоторое время живёт под нагрузкой, но потом видимо что-то заканчивается и она умирает. Как только нагрузка снимается проходит от минуты до десяти и всё начинает работать.
В логах ничего.
Вчера пересобрал ядро с пулингом, выяснилось что этот $^%&* марвел его не поддерживает:

Код: Выделить всё

mykc0@pci1:13:0:        class=0x020000 card=0x811a1043 chip=0x432011ab rev=0x13 hdr=0x00
    vendor     = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
    device     = 'Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller (Copper)'
    class      = network
    subclass   = ethernet

Re: Потери пакетов

Добавлено: 2008-06-06 11:59:54
zingel
очень много арп-бродкаста, который портит всю картину, советую пересобрать ядро с поддержкой опции

Код: Выделить всё

options ZERO_COPY_SOCKETS 
и запретить паразитный бродкаст, я уверен, что провайдер Вам выдал кривой айпи-адрес или Вы его криво навесили на интерфейс, уточните, если ли в /var/log/messages сообщения вида:

Код: Выделить всё

arplookup xxx.xx.xx.xx  failed: host is not on local network
дайте вывод команды:

Код: Выделить всё

ifconfig -a
кроме этого стоит запретить хождение таких запросов между lo0 и остальным, делается это так:

Код: Выделить всё

ipfw add pass MAC any ff:ff:ff:ff:ff:ff
ipfw add pass MAC ff:ff:ff:ff:ff:ff any
 

Re: Потери пакетов

Добавлено: 2008-06-06 12:19:14
ExH
Ядро пересоберу. А что даёт эта опция?

Вообще эта ситуация с арпами типична для Агавы. На остальных серверах наблюдаю тоже самое.

Код: Выделить всё

> ifconfig -a
myk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=2b<RXCSUM,TXCSUM,VLAN_MTU,JUMBO_MTU>
        inet 89.108.83.209 netmask 0xfffff000 broadcast 89.108.95.255
        ether 00:15:f2:f5:b4:57
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
В /var/log/messages ничего похожего нет.

Код: Выделить всё

> ipfw add pass MAC any ff:ff:ff:ff:ff:ff
ipfw: getsockopt(IP_FW_ADD): Protocol not available
Или надо поставить вместо ff:ff:ff:ff:ff:ff реальный мак?

Re: Потери пакетов

Добавлено: 2008-06-06 12:25:52
zingel
у агавы криво настроены вланы, забавно....
Или надо поставить вместо ff:ff:ff:ff:ff:ff реальный мак?
Нужно поменять Pass на deny, тоесть:

Код: Выделить всё

ipfw add deny MAC any ff:ff:ff:ff:ff:ff
ipfw add deny MAC ff:ff:ff:ff:ff:ff any
Что дает эта опция?:

This code is collectively known as the zero copy sockets code, because
during normal network I/O, data will not be copied by the CPU at all.
Rather it will be DMAed from the user's buffer to the NIC (for sends), or
DMAed from the NIC to a buffer that will then be given to the user
(receives).

The zero copy sockets code uses the standard socket read and write semantics,
and therefore has some limitations and restrictions that programmers
should be aware of when trying to take advantage of this functionality.

Re: Потери пакетов

Добавлено: 2008-06-06 12:28:24
ExH

Код: Выделить всё

> ipfw add deny MAC any ff:ff:ff:ff:ff:ff
ipfw: getsockopt(IP_FW_ADD): Protocol not available
Это нормальный ответ? Мне кажется что нет.

Re: Потери пакетов

Добавлено: 2008-06-06 13:30:27
freeman
ExH писал(а):

Код: Выделить всё

> ipfw add deny MAC any ff:ff:ff:ff:ff:ff
ipfw: getsockopt(IP_FW_ADD): Protocol not available
Это нормальный ответ? Мне кажется что нет.
Вместо MAC писалось реальное его значение или просто слово MAC ? =)

Re: Потери пакетов

Добавлено: 2008-06-06 14:19:16
zingel
во-первых, стоит собрать ядро с поддержкой IPFW, во-вторых стоит прочитать man ipfw, в аське уже говорим с креатором этой ветки, как решится вопрос, отпишу сюда каким образом.
Вместо MAC писалось реальное его значение или просто слово MAC ? =)
буквами, латиницей, слово - "MAC"

Re: Потери пакетов

Добавлено: 2008-06-06 14:43:46
Alex Keda
а какую сеетвуху на какую поменяли?

Re: Потери пакетов

Добавлено: 2008-06-06 14:49:51
ExH
Был рилтер какой-то, поменяли на этот марвел.
Вернее включили этот марвел на материнке и вынули рилтек.
Материнка ASUS P5PE_VM

Re: Потери пакетов

Добавлено: 2008-06-06 14:53:54
zingel
там проблема вот в этом:

Код: Выделить всё

13:39:06.680841 00:0e:0c:4e:bf:04 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: arp who-has 192.168.0.1 (Broadcast) tell 192.168.0.1 
срёт бродкастами не переставая, по 30-40 штук за 10 секунд, расходует сокеты, нагружает сервак, варианта два:

1)Корявая маска подсети на интерфейсе на севрере
2)Корявые настройки бродкаст-домена у агавы

пока это не выяснилось, запрещён бродкаст, перенастроен сетевой стек, если интересно скажу как.

Re: Потери пакетов

Добавлено: 2008-06-06 14:56:30
Alex Keda
а сетевушку - поставьте триком на xl чипе или интел на fxp/em
а то сменили шило на мыло.

Re: Потери пакетов

Добавлено: 2008-06-06 15:00:30
ExH
Вот мне предлагают Dlink dfe-530tx.
Нормально? Или тоже шило на мыло?

Re: Потери пакетов

Добавлено: 2008-06-06 15:31:01
zingel
вобщем, агава дала на сервер айпишник из то же подсети, где стоят их сервара =)

Re: Потери пакетов

Добавлено: 2008-06-06 23:11:33
zingel
сетевуха всему виной была

Re: Потери пакетов

Добавлено: 2008-06-06 23:27:59
ExH
Да, именно в сетевой была проблема.
В который уже раз подтверждается что проблемы такого рода в большенстве в железе.

Всем спасибо!

Re: Потери пакетов

Добавлено: 2008-06-16 7:20:38
zingel
у меня тоже встала проблема с бродкастами, ну прямо сил нет, сетевуха у меня гигабитная и хорошая (две nfe0 nForce 1000BaseT собранные в lagg0) вобщем я порубал арп-бродкаст вот так (в мемориз):

Код: Выделить всё

ipfw='/sbin/ipfw'
via='via lagg0'

${ipfw} -f flush
${ipfw} add 65532 deny layer2 ${via}
${ipfw} add 65533 deny ip from any to any layer2
${ipfw} add 65534 deny ip from any to any MAC any any
${ipfw} add 295 deny layer2 mac-type 0x0806 MAC 00:13:46:53:13:4f ff:ff:ff:ff:ff:ff xmit ${via}
${ipfw} add 296 deny MAC any ff:ff:ff:ff:ff:ff
${ipfw} add 297 deny MAC ff:ff:ff:ff:ff:ff any