URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87585
[ Назад ]

Исходное сообщение
"ipnat и ошибки на сетевом интерфейсе em"

Отправлено Brakodelus , 11-Дек-09 11:54 
Имеем:
железо: Intel S5000VSL
ОС: FreeBSD 7.1-PRERELEASE #2: Thu Dec 10 14:57:45 MSK 2009

При ~110k записей всё хорошо, достигаем ~125-140к начинаются ошибки на сет. интерфейсе, чистим трансляции - ошибки исчезают.

# ipnat -s
mapped  in      285037401       out     221990930
added   11096611        expired 10218253
no memory       0       bad nat 235943
inuse   129092
orphans 0
rules   9
wilds   1
hash efficiency 12.69%
bucket usage    99.97%
minimal length  0
maximal length  22
average length  7.882
TCP Entries per state
     0     1     2     3     4     5     6     7     8     9    10    11
    88  4735   157  2626  7079   345    65    17    36     0 43362  1505

# netstat -I em0 -w 1
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
      6306   541    6300808       5877     0    1242162     0
      6736   416    6535743       6276     0    1309721     0
      7738   514    8288666       6523     0    1405937     0
      7630   462    7551297       6721     0    1556890     0
      5207   443    4997805       4952     0    1248456     0

# ipnat -CF -f /etc/ipnat.rules
128944 entries flushed from NAT table
9 entries flushed from NAT list

# netstat -I em0 -w 1
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
      3205     0    2584267       3132     0     650453     0
      4704     0    4305612       4352     0     813504     0
      4463     0    3898817       4223     0     856430     0

# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:1f:e2:18
        media: Ethernet 1000baseTX <full-duplex>
        status: active
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:15:17:1f:e2:18
        inet X.X.X.X netmask 0xfffffff8 broadcast X.X.X.X
        media: Ethernet 1000baseTX <full-duplex>
        status: active
        vlan: 1000 parent interface: em0

# ipf -T list
fr_flags        min 0   max 0xffffffff  current 0
fr_active       min 0   max 0   current 0
fr_control_forwarding   min 0   max 0x1 current 0
fr_update_ipid  min 0   max 0x1 current 0
fr_chksrc       min 0   max 0x1 current 0
fr_minttl       min 0   max 0x1 current 4
fr_icmpminfragmtu       min 0   max 0x1 current 68
fr_pass min 0   max 0xffffffff  current 134217730
fr_tcpidletimeout       min 0x1 max 0x7fffffff  current 3600
fr_tcpclosewait min 0x1 max 0x7fffffff  current 60
fr_tcplastack   min 0x1 max 0x7fffffff  current 60
fr_tcptimeout   min 0x1 max 0x7fffffff  current 300
fr_tcpclosed    min 0x1 max 0x7fffffff  current 60
fr_tcphalfclosed        min 0x1 max 0x7fffffff  current 120
fr_udptimeout   min 0x1 max 0x7fffffff  current 120
fr_udpacktimeout        min 0x1 max 0x7fffffff  current 24
fr_icmptimeout  min 0x1 max 0x7fffffff  current 120
fr_icmpacktimeout       min 0x1 max 0x7fffffff  current 12
fr_iptimeout    min 0x1 max 0x7fffffff  current 120
fr_statemax     min 0x1 max 0x7fffffff  current 4013
fr_statesize    min 0x1 max 0x7fffffff  current 5737
fr_state_lock   min 0   max 0x1 current 0
fr_state_maxbucket      min 0x1 max 0x7fffffff  current 26
fr_state_maxbucket_reset        min 0   max 0x1 current 1
ipstate_logging min 0   max 0x1 current 1
fr_nat_lock     min 0   max 0x1 current 0
ipf_nattable_sz min 0x1 max 0x7fffffff  current 16383
ipf_nattable_max        min 0x1 max 0x7fffffff  current 300000
ipf_natrules_sz min 0x1 max 0x7fffffff  current 2047
ipf_rdrrules_sz min 0x1 max 0x7fffffff  current 2047
ipf_hostmap_sz  min 0x1 max 0x7fffffff  current 8191
fr_nat_maxbucket        min 0x1 max 0x7fffffff  current 28
fr_nat_maxbucket_reset  min 0   max 0x1 current 1
nat_logging     min 0   max 0x1 current 1
fr_defnatage    min 0x1 max 0x7fffffff  current 1200
fr_defnatipage  min 0x1 max 0x7fffffff  current 120
fr_defnaticmpage        min 0x1 max 0x7fffffff  current 6
fr_nat_doflush  min 0   max 0x1 current 0
ipf_proxy_debug min 0   max 0xa current 0
ipfr_size       min 0x1 max 0x7fffffff  current 257
fr_ipfrttl      min 0x1 max 0x7fffffff  current 120
ipl_suppress    min 0   max 0x1 current 1
ipl_logmax      min 0   max 0x7fffffff  current 7
ipl_logall      min 0   max 0x1 current 0
ipl_logsize     min 0   max 0x80000     current 8192
ippr_ftp_debug  min 0   max 0xa current 0


Содержание

Сообщения в этом обсуждении
"ipnat и ошибки на сетевом интерфейсе em"
Отправлено rontex , 12-Дек-09 01:26 
на конфиг ipnat можно взглянуть?

"ipnat и ошибки на сетевом интерфейсе em"
Отправлено brakodelus , 15-Дек-09 10:30 
>на конфиг ipnat можно взглянуть?

#
map vlan2 10.0.0.0/8 -> X.X.X.X/32 proxy port 21 ftp/tcp
map vlan2 172.16.0.0/12 -> X.X.X.X/32 proxy port 21 ftp/tcp
map vlan2 192.168.0.0/16 -> X.X.X.X/32 proxy port 21 ftp/tcp
#
map vlan2 10.0.0.0/8 -> X.X.X.X/32 icmpidmap icmp 65300:65535
map vlan2 172.16.0.0/12 -> X.X.X.X/32 icmpidmap icmp 65300:65535
map vlan2 192.168.0.0/16 -> X.X.X.X/32 icmpidmap icmp 65300:65535
#
map vlan2 10.0.0.0/8 -> X.X.X.X/32 portmap tcp/udp 1025:65299
map vlan2 172.16.0.0/12 -> X.X.X.X/32 portmap tcp/udp 1025:65299
map vlan2 192.168.0.0/16 -> X.X.X.X/32 portmap tcp/udp 1025:65299
#


"ipnat и ошибки на сетевом интерфейсе em"
Отправлено temny , 12-Дек-09 08:57 
У меня есть гипотеза: увеличение количества записей в "списке трансляций" усложняет операцию поиска в этом списке, как результат возрастает нагрузка на CPU, а как следствие возросшей нагрузки (на каком-то этапе) - нехватка CPU ресурсов для работы поллинга и уже следствием этого являются ошибки на интерфейса (при этом в выводе top можно наблюдать вполне незначительную нагрузку - например 20-50%).

Проверить эту гипотезу можно понизив значение sysctl kern.polling.user_frac с 50 (значение по умолчанию) до, например, 10 и посмотреть, изменится ли количество ошибок на интерфейсе.
Этот параметр sysctl указывает какой процент CPU циклов необходимо резервировать поллингу для userland задач.


"ipnat и ошибки на сетевом интерфейсе em"
Отправлено rontex , 12-Дек-09 22:55 
А помоему просто напросто ipnat достиг максимального числа трансляций. Смотреть вам нужно в сторону LARGE NAT, или что-то в этом роде точно не помню, для устранения данной проблемы. На этом сайте уже читал про данную проблему в статьях.

"ipnat и ошибки на сетевом интерфейсе em"
Отправлено brakodelus , 15-Дек-09 10:32 
>А помоему просто напросто ipnat достиг максимального числа трансляций. Смотреть вам нужно
>в сторону LARGE NAT, или что-то в этом роде точно не
>помню, для устранения данной проблемы. На этом сайте уже читал про
>данную проблему в статьях.

Нет, было разкомментировано и пересобрано.

# ipf -T list | grep ipf_nattable_max
ipf_nattable_max        min 0x1 max 0x7fffffff  current 300000



"ipnat и ошибки на сетевом интерфейсе em"
Отправлено brakodelus , 15-Дек-09 10:39 
>[оверквотинг удален]
>как следствие возросшей нагрузки (на каком-то этапе) - нехватка CPU ресурсов
>для работы поллинга и уже следствием этого являются ошибки на интерфейса
>(при этом в выводе top можно наблюдать вполне незначительную нагрузку -
>например 20-50%).
>
>Проверить эту гипотезу можно понизив значение sysctl kern.polling.user_frac с 50 (значение по
>умолчанию) до, например, 10 и посмотреть, изменится ли количество ошибок на
>интерфейсе.
>Этот параметр sysctl указывает какой процент CPU циклов необходимо резервировать поллингу для
>userland задач.

10 было уже выставлено. Более того, скинул доп флаги с интерфейса. Снятие флагов RXCSUM,TXCSUM,POLLING эффекта не добавило.


# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:1f:e2:18
        media: Ethernet 1000baseTX <full-duplex>
        status: active

# ifconfig em1
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:1f:e2:19
        inet 10.0.238.4 netmask 0xfffffff8 broadcast 10.0.238.7
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
#


"ipnat и ошибки на сетевом интерфейсе em"
Отправлено Brakodelus , 16-Дек-09 14:25 
Всё решилось экстренным переходом на 8ку. Заодно сразу на 64бит.

# uname -v
FreeBSD 8.0-RELEASE #3: Tue Dec 15 12:01:26 MSK 2009     root@xxx:/usr/src/sys/amd64/compile/PROXY
# ipnat -s
mapped  in      26977259        out     21432558
added   1151041 expired 1006759
no memory       0       bad nat 30529
inuse   144282
orphans 0
rules   9
wilds   0
hash efficiency 22.41%
bucket usage    98.69%
minimal length  0
maximal length  14
average length  4.462
TCP Entries per state
     0     1     2     3     4     5     6     7     8     9    10    11
    16 17081    99    11  6391  1348   623    14    61     0 50992  1241
# netstat -w 1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     37370     0   28731654      37286     0   29047299     0
     44062     0   34939428      44161     0   35481436     0
     41626     0   32762466      41457     0   33195127     0
     43852     0   34036514      44002     0   34537510     0
     45900     0   36475018      45893     0   37047454     0
     48876     0   39922174      48877     0   40508594     0
# top
last pid:  2242;  load averages:  1.75,  1.69,  1.61                                                                                  up 0+00:43:53  14:22:46
109 processes: 11 running, 76 sleeping, 22 waiting
CPU:  0.0% user,  0.0% nice, 22.8% system,  0.0% interrupt, 77.2% idle
Mem: 34M Active, 8880K Inact, 241M Wired, 164K Cache, 43M Buf, 7602M Free
Swap: 2048M Total, 2048M Free


"ipnat и ошибки на сетевом интерфейсе em"
Отправлено lancelot , 18-Июл-10 21:27 
>[оверквотинг удален]
>          
>          
>          
>     up 0+00:43:53  14:22:46
>109 processes: 11 running, 76 sleeping, 22 waiting
>CPU:  0.0% user,  0.0% nice, 22.8% system,  0.0% interrupt,
>77.2% idle
>Mem: 34M Active, 8880K Inact, 241M Wired, 164K Cache, 43M Buf, 7602M
>Free
>Swap: 2048M Total, 2048M Free

такая же проблема... на 7.2
сколько времени полет нормальный на 8 ке... понадобился ли дополнительный тюнинг