ApmeM Posted December 17, 2012 День добрый. Прошу помощи в поиске и устранении причин перезагрузки NAS-сервера. Исходный данные таковы проц Intel® Core i5-3570 CPU @ 3.40GHz RAM 4G мать Z68A-D3H-B3 сетевые 4х портовая интел Схема включения такова - igb1 смотрит в dgs3610-26G. на этом интерфейсе подняты vlan в количестве 600. igb0 смотрит в корень сети. История болезни Сервер работал как NAS для pppoe соединений(mpd5). количество сессий, которое принимал сервер составляло 1000. присутствует NAT. В час пик нагрузка на сетевом интерфейсе порядка 800-900 мегабит. пекетов 80Кpps. CPU ifle time 75% в час пик. Так как мощностей хватает на большую нагрузук, то было принято решение использовать lacp было пересобранно ядро с переметром device lagg настройки интерфесов ifconfig_igb0="up -polling -vlanhwtag -rxcsum -txcsum -tso"ifconfig_igb1="up -polling -vlanhwtag -rxcsum -txcsum -tso" ifconfig_igb2="up -polling -vlanhwtag -rxcsum -txcsum -tso" ifconfig_igb3="up -polling -vlanhwtag -rxcsum -txcsum -tso" cloned_interfaces="lagg0 lagg1 vlan1 vlan2 vlan3.... "" # тут происаны все вланы ifconfig_lagg0="laggproto lacp laggport igb2 laggport igb3 10.100.110.64 netmask 255.255.255.0" ifconfig_lagg1="laggproto lacp laggport igb0 laggport igb1 10.100.100.64 netmask 255.255.255.0" ifconfig_lagg1_alias0="inet x.x.x.x netmask 255.255.255.224" ifconfig_lagg1_alias1="inet y.y.y.y netmask 255.255.255.240" ifconfig_vlan2="vlan 2 vlandev lagg0" ifconfig_vlan3="vlan 3 vlandev lagg0" ifconfig_vlan4="vlan 4 vlandev lagg0" где x.x.x.x y.y.y.y белые адреса, я их использую для нат-а теперь в час пик имеем следующую картину количество pppoe сесий 1600-1700 трафик 1,2 -1,4G на прием и 0,6-0,8G на отдачу. cpu idle time 40-50% . Проблема в том, что сервер временами, без обьявления войны, уходит в ребут. никаких записей в логах нет. vmcore тоже нет. Перезагружается он не только в час пик, но и при минимальной нагрузке. Подскажите, в какую сторону копать? из параметров cat /boot/loader.conf | grep -v "#" net.graph.maxalloc=64000 net.link.ether.inet.log_arp_permanent_modify=0 net.link.ether.inet.log_arp_movements=0 net.link.ether.inet.log_arp_wrong_iface=0 net.link.log_link_state_change=0 net.link.ether.inet.max_age=60 kern.maxfiles=50000 if_lagg_load="YES" cat /etc/sysctl.conf | grep -v "#" kern.ipc.somaxconn=1024 kern.ipc.maxsockbuf=8388608 kern.ipc.maxsockets=131072 net.inet.ip.intr_queue_maxlen=5000 net.inet.ip.intr_queue_drops=0 net.inet.ip.redirect=0 net.inet.ip.fw.one_pass=0 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.icmp.bmcastecho=1 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=1 net.graph.maxdgram=768000 net.graph.recvspace=768000 net.inet6.ip6.redirect=0 kern.polling.enable=0 kern.polling.user_frac=0 net.link.ether.inet.log_arp_permanent_modify=0 net.link.ether.inet.log_arp_movements=0 net.link.ether.inet.log_arp_wrong_iface=0 net.link.log_link_state_change=0 net.inet.ip.dummynet.hash_size=512 kern.ipc.nmbclusters=65536 vmstat -i interrupt total rate irq18: ehci0 7 0 irq19: atapci0+ 178161 2 irq23: ehci1 9 0 cpu0: timer 267580230 4000 irq256: igb0 492123476 7356 irq257: igb0 205995552 3079 irq258: igb0 215108537 3215 irq259: igb0 205141038 3066 irq260: igb0 5 0 irq261: igb1 509699078 7619 irq262: igb1 215899619 3227 irq263: igb1 212905420 3182 irq264: igb1 215361483 3219 irq265: igb1 6 0 irq266: igb2 509892819 7622 irq267: igb2 205148 3 irq268: igb2 204286 3 irq269: igb2 380026 5 irq270: igb2 5 0 irq271: igb3 477285468 7135 irq272: igb3 187914 2 irq273: igb3 200212 2 irq274: igb3 198526 2 irq275: igb3 6 0 cpu1: timer 267580049 4000 cpu3: timer 267580049 4000 cpu2: timer 267580049 4000 Total 4331287178 64750 netstat -m 17050/7145/24195 mbufs in use (current/cache/total) 17038/4680/21718/204800 mbuf clusters in use (current/cache/total/max) 613/667 mbuf+clusters out of packet secondary zone in use (current/cache) 0/0/0/12800 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/6400 9k jumbo clusters in use (current/cache/total/max) 0/0/0/3200 16k jumbo clusters in use (current/cache/total/max) 38340K/11146K/49486K bytes allocated to network (current/cache/total) 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters denied (4k/9k/16k) 0/0/0 sfbufs in use (current/peak/max) 0 requests for sfbufs denied 0 requests for sfbufs delayed 0 requests for I/O initiated by sendfile 0 calls to protocol drain routines pfctl -sn No ALTQ support in kernel ALTQ related functions disabled nat pass on lagg1 inet from 10.10.0.0/16 to ! <trust_networks> -> y.y.y.y/27 source-hash 0x6b6b5d8666236378ab72de2d391bff62 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
terrible Posted December 17, 2012 памяти точно хватает? покажите top -SHPI Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ApmeM Posted December 17, 2012 на данный момент имеем 1038 pppoe сессий при netstat -i -I lagg0 -dh 1 input (lagg0) output packets errs bytes packets errs bytes colls drops 58K 0 34M 71K 0 78M 0 0 57K 0 34M 67K 0 72M 0 0 57K 0 34M 65K 0 70M 0 0 57K 0 36M 62K 0 65M 0 0 55K 0 33M 60K 0 63M 0 0 53K 0 33M 59K 0 62M 0 0 52K 0 32M 58K 0 61M 0 0 54K 0 33M 60K 0 64M 0 0 57K 0 37M 62K 0 65M 0 0 57K 0 37M 64K 0 67M 0 0 56K 0 35M 65K 0 70M 0 0 59K 0 36M 71K 0 78M 0 0 56K 0 35M 65K 0 69M 0 0 57K 0 36M 66K 0 71M 0 0 55K 0 33M 64K 0 68M 0 0 55K 0 33M 66K 0 71M 0 0 60K 0 36M 73K 0 80M 0 0 58K 0 35M 69K 0 76M 0 0 58K 0 36M 67K 0 72M 0 0 62K 0 37M 74K 0 81M 0 0 input (lagg0) output packets errs bytes packets errs bytes colls drops 68K 0 44M 71K 0 76M 0 0 59K 0 39M 68K 0 72M 0 0 имеем top -aSPIH last pid: 76840; load averages: 0.55, 0.29, 0.16 up 0+19:03:58 13:27:26 128 processes: 5 running, 90 sleeping, 33 waiting CPU 0: 0.0% user, 0.0% nice, 2.3% system, 32.2% interrupt, 65.5% idle CPU 1: 0.8% user, 0.0% nice, 1.2% system, 42.2% interrupt, 55.8% idle CPU 2: 0.8% user, 0.0% nice, 2.7% system, 10.1% interrupt, 86.4% idle CPU 3: 0.0% user, 0.0% nice, 1.9% system, 14.0% interrupt, 84.1% idle Mem: 68M Active, 223M Inact, 766M Wired, 3176K Cache, 413M Buf, 2836M Free Swap: 512M Total, 512M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 171 ki31 0K 16K CPU3 3 16.8H 89.99% [idle: cpu3] 12 root 171 ki31 0K 16K CPU2 2 16.7H 85.64% [idle: cpu2] 14 root 171 ki31 0K 16K RUN 0 823:32 65.97% [idle: cpu0] 13 root 171 ki31 0K 16K RUN 1 840:27 64.31% [idle: cpu1] 53 root -68 - 0K 16K WAIT 1 175:27 23.63% [irq271: igb3] 44 root -68 - 0K 16K WAIT 0 165:25 21.97% [irq266: igb2] 28 root -68 - 0K 16K WAIT 1 54:29 8.35% [irq257: igb0] 37 root -68 - 0K 16K WAIT 1 55:15 7.32% [irq262: igb1] 32 root -68 - 0K 16K WAIT 3 55:15 6.98% [irq259: igb0] 35 root -68 - 0K 16K WAIT 0 60:36 6.79% [irq261: igb1] 26 root -68 - 0K 16K WAIT 0 61:24 6.30% [irq256: igb0] 39 root -68 - 0K 16K WAIT 2 56:30 5.66% [irq263: igb1] 41 root -68 - 0K 16K WAIT 3 56:53 5.52% [irq264: igb1] 30 root -68 - 0K 16K WAIT 2 55:17 4.59% [irq258: igb0] 35575 root 46 0 96060K 60048K select 1 40:36 3.17% /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b 45 root -68 - 0K 16K - 1 10:19 0.39% [igb2 que] 54 root -68 - 0K 16K - 2 9:54 0.34% [igb3 que] 72 root 8 - 0K 16K pftm 2 7:18 0.15% [pfpurge] Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted December 17, 2012 (edited) А не является ли lacp причиной? У меня такое было, но не на FreeBSD, а на Linux. Когда связал это дело четырехпортовые IGB с коммутаторами Д-Линк DGS-3620-28TC и DGS-3627 сервак сразу без объяснений причин начал ребутаться. Ладно бы дело было в сервере, но серверов таких не один, а четыре, и все начали вести себя одинаково. Ребут в интервале от 5 до 15 дней практически 100% был гарантирован. Вылечилось у меня заменой ядра на более новое. Периодически в dmesg такое, но сервер при этом работает, а на старом ядре от такого он падал: [2668126.244773] igb 0000:03:00.0: Detected Tx Unit Hang [2668126.244774] Tx Queue <0> [2668126.244775] TDH <7d0> [2668126.244775] TDT <7b5> [2668126.244776] next_to_use <7b5> [2668126.244776] next_to_clean <7d0> [2668126.244777] buffer_info[next_to_clean] [2668126.244778] time_stamp <19f198c93> [2668126.244778] next_to_watch <ffff880077887d10> [2668126.244779] jiffies <19f199448> [2668126.244780] desc.status <16ac000> [1332460.987446] NETDEV WATCHDOG: eth3 (igb): transmit queue 0 timed out [1332460.987452] Modules linked in: e1000e(O) bonding igb(O) bonding 8021q 8021q garp garp stp stp llc llc [1332460.987467] [1332460.987470] Pid: 0, comm: swapper/0 Tainted: G O 3.2.31 #1 [1332460.987472] Pid: 0, comm: swapper/2 Tainted: G O 3.2.31 #1 [1332460.987475] Call Trace: [1332460.987476] Call Trace: [1332460.987477] <IRQ> <IRQ> [<ffffffff8105325f>] warn_slowpath_common+0x7f/0xc0 [1332460.987487] [<ffffffff81053356>] warn_slowpath_fmt+0x46/0x50 [1332460.987491] [<ffffffff8105325f>] warn_slowpath_common+0x7f/0xc0 [1332460.987494] [<ffffffff81053356>] warn_slowpath_fmt+0x46/0x50 [1332460.987498] [<ffffffff81424fcf>] dev_watchdog+0x23f/0x250 [1332460.987501] [<ffffffff81424fcf>] dev_watchdog+0x23f/0x250 [1332460.987505] [<ffffffff81061d80>] run_timer_softirq+0x160/0x380 [1332460.987509] [<ffffffff81061d80>] run_timer_softirq+0x160/0x380 [1332460.987512] [<ffffffff81424d90>] ? qdisc_reset+0x50/0x50 [1332460.987515] [<ffffffff81059ffd>] __do_softirq+0xad/0x1c0 [1332460.987518] [<ffffffff81424d90>] ? qdisc_reset+0x50/0x50 [1332460.987521] [<ffffffff81059ffd>] __do_softirq+0xad/0x1c0 [1332460.987526] [<ffffffff814ecb6c>] call_softirq+0x1c/0x30 [1332460.987529] [<ffffffff814ecb6c>] call_softirq+0x1c/0x30 [1332460.987533] [<ffffffff81004025>] do_softirq+0x55/0x90 [1332460.987536] [<ffffffff81004025>] do_softirq+0x55/0x90 [1332460.987539] [<ffffffff8105a37e>] irq_exit+0x8e/0xb0 [1332460.987542] [<ffffffff8105a37e>] irq_exit+0x8e/0xb0 [1332460.987545] [<ffffffff814ed256>] do_IRQ+0x66/0xe0 [1332460.987548] [<ffffffff814ed256>] do_IRQ+0x66/0xe0 [1332460.987552] [<ffffffff814eb12b>] common_interrupt+0x6b/0x6b [1332460.987554] <EOI> [<ffffffff814eb12b>] common_interrupt+0x6b/0x6b [1332460.987561] [<ffffffff8128d076>] ? intel_idle+0xe6/0x140 [1332460.987564] [<ffffffff8128d055>] ? intel_idle+0xc5/0x140 [1332460.987566] <EOI> [<ffffffff8128d076>] ? intel_idle+0xe6/0x140 [1332460.987571] [<ffffffff8128d055>] ? intel_idle+0xc5/0x140 [1332460.987575] [<ffffffff813d53ab>] cpuidle_idle_call+0xdb/0x1b0 [1332460.987578] [<ffffffff81000b65>] cpu_idle+0xc5/0x100 [1332460.987581] [<ffffffff813d53ab>] cpuidle_idle_call+0xdb/0x1b0 [1332460.987584] [<ffffffff81000b65>] cpu_idle+0xc5/0x100 [1332460.987588] [<ffffffff814cf60d>] rest_init+0x6d/0x80 [1332460.987591] [<ffffffff81885b8f>] start_kernel+0x381/0x38c [1332460.987594] [<ffffffff814e2d76>] start_secondary+0x1d4/0x1db [1332460.987596] ---[ end trace 363367a04a21f4a8 ]--- [1332460.987599] [<ffffffff81885322>] x86_64_start_reservations+0x132/0x136 [1332460.987602] [<ffffffff81885417>] x86_64_start_kernel+0xf1/0xf8 [1332460.987605] ---[ end trace 363367a04a21f4a9 ]--- Edited December 17, 2012 by replicant Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted December 17, 2012 Конечно понимаю что Linux это не FreeBSD, но ситуация очень похожая. По совершенным действиям и последствиям просто один в один. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ApmeM Posted December 17, 2012 есть предположение, что это может быть связано с LACP. на счет замены ядра - есть сомнения. дело в том, что эта карта ранее работала через bond0 с темже самым коммутатором. Правда под линуксом. а вот после перестановки в pppoe-сервер, начались проблемы. вот нашел сообшение от предыдущей смены Dump failed. Partition too small. Fatal trap 12: page fault while in kernel mode fault virtual address: 0x0 fault code: supervisor read data Loop detected on ng267 Rebooting... cpu_reset: Stopping other CPUs в данный момент стоит задача определить где же он затыкается... и что ему не нравится. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ApmeM Posted December 17, 2012 на всякий случай настройки коммутаторов 3610-26G DGS3610#show running-config interface GigabitEthernet 0/19 Building configuration... Current configuration : 86 bytes ! interface GigabitEthernet 0/19 lacp port-priority 40000 port-group 4 mode active DGS3610#show running-config interface GigabitEthernet 0/20 Building configuration... Current configuration : 86 bytes ! interface GigabitEthernet 0/20 lacp port-priority 40000 port-group 4 mode active DGS3610#sho DGS3610#show lacp DGS3610#show lacp su DGS3610#show lacp summary System Id:40000, 0021.91c7.d6f7 Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs. A - Device is in active mode. P - Device is in passive mode. Aggregate port 4: Local information: LACP port Oper Port Port Port Flags State Priority Key Number State ---------------------------------------------------------------------- Gi0/19 SA bndl 40000 0x4 0x13 0x3d Gi0/20 SA bndl 40000 0x4 0x14 0x3d Partner information: LACP port Oper Port Port Port Flags Priority Dev ID Key Number State --------------------------------------------------------------------- Gi0/19 SA 32768 001b.2190.be16 0xf0 0x3 0x3d Gi0/20 SA 32768 001b.2190.be16 0xf0 0x4 0x3d DGS3610#show running-config interface Ag DGS3610#show running-config interface Aggregateport 4 Building configuration... Current configuration : 51 bytes ! interface AggregatePort 4 switchport mode trunk DGS3610# ES4626 ES4626#show running-config interface ethernet 1/15 ! Interface Ethernet1/15 description NAS64_LACP switchport mode trunk switchport trunk allowed vlan 1076 port-group 4 mode active lacp port-priority 40000 ! ES4626#show running-config interface ethernet 1/16 ! Interface Ethernet1/16 description NAS64_LACP switchport mode trunk switchport trunk allowed vlan 1076 port-group 4 mode active lacp port-priority 40000 ! ES4626#show running-config interface port-channel 4 ! Interface Port-Channel4 description nas4 load-balance dst-src-ip ! ES4626# ES4626#show port-group detail Flags: A -- LACP_Activity, B -- LACP_timeout, C -- Aggregation, D -- Synchronization, E -- Collecting, F -- Distributing, G -- Defaulted, H -- Expired Port-group number: 1, Mode: , Load-balance: dst-src-ip Port-group detail information: System ID: 0x9c40,00-12-cf-74-f9-21 Local: Port Status Priority Oper-Key Flag ----------------------------------------------------------- Remote: Actor Partner Priority Oper-Key SystemID Flag -------------------------------------------------------------------------------- Port-group number: 4, Mode: active, Load-balance: dst-src-ip Port-group detail information: System ID: 0x9c40,00-12-cf-74-f9-21 Local: Port Status Priority Oper-Key Flag ----------------------------------------------------------- Ethernet1/15 Selected 40000 4 {ACDEF} Ethernet1/16 Selected 40000 4 {ACDEF} Remote: Actor Partner Priority Oper-Key SystemID Flag -------------------------------------------------------------------------------- Ethernet1/15 2 32768 272 0x8000,00-1b-21-90-be-14 {ACDEF} Ethernet1/16 1 32768 272 0x8000,00-1b-21-90-be-14 {ACDEF} ES4626#show port-group ? <1-128> Port-group interface number <1-128> brief Brief information detail Detail information Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
terrible Posted December 17, 2012 Dump failed. Partition too small. Охренеть Loop detected on ng267 Ещё больше охренеть Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ApmeM Posted December 17, 2012 top -aSPIH в момент падения. last pid: 77768; load averages: 0.06, 0.10, 0.12 up 0+19:54:51 14:18:19 146 processes: 5 running, 108 sleeping, 33 waiting CPU 0: 0.8% user, 0.0% nice, 2.3% system, 30.6% interrupt, 66.3% idle CPU 1: 0.4% user, 0.0% nice, 3.1% system, 30.6% interrupt, 65.9% idle CPU 2: 0.0% user, 0.0% nice, 0.4% system, 8.1% interrupt, 91.5% idle CPU 3: 0.8% user, 0.0% nice, 1.9% system, 14.0% interrupt, 83.3% idle Mem: 78M Active, 225M Inact, 764M Wired, 3176K Cache, 413M Buf, 2826M Free Swap: 512M Total, 512M Free PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 12 root 171 ki31 0K 16K CPU2 2 17.4H 91.99% [idle: cpu2] 11 root 171 ki31 0K 16K RUN 3 17.5H 90.53% [idle: cpu3] 13 root 171 ki31 0K 16K CPU1 1 871:23 69.58% [idle: cpu1] 14 root 171 ki31 0K 16K CPU0 0 854:02 65.48% [idle: cpu0] 44 root -68 - 0K 16K WAIT 0 177:13 24.12% [irq266: igb2] 53 root -68 - 0K 16K WAIT 1 187:33 23.68% [irq271: igb3] 41 root -68 - 0K 16K WAIT 3 60:12 7.47% [irq264: igb1] 35 root -68 - 0K 16K WAIT 0 64:02 6.84% [irq261: igb1] 39 root -68 - 0K 16K WAIT 2 60:05 6.15% [irq263: igb1] 26 root -68 - 0K 16K WAIT 0 65:03 5.76% [irq256: igb0] 30 root -68 - 0K 16K WAIT 2 58:37 5.66% [irq258: igb0] 32 root -68 - 0K 16K WAIT 3 59:23 5.57% [irq259: igb0] 37 root -68 - 0K 16K WAIT 1 58:34 5.37% [irq262: igb1] 28 root -68 - 0K 16K WAIT 1 58:01 3.66% [irq257: igb0] 35575 root 45 0 96060K 60248K select 3 42:56 3.37% /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b 35575 root 48 0 96060K 60248K select 3 0:00 3.17% /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b 72 root 8 - 0K 16K pftm 3 7:47 0.44% [pfpurge] 54 root -68 - 0K 16K - 3 10:27 0.10% [igb3 que] 34534 root 44 0 18908K 6648K select 3 0:44 0.05% /usr/local/sbin/zebra -d в логах чисто. на экране имеем картинку Fatal trap 12:page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x8 fault code supervisor read data page not present instruction pointer = 0x8:0xffffffff8062a30 ac 0 stack pointer = 0x10:.... # не успел переписать frame pointer = 0x10 .... # не успел переписать code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1 def32 0, gran 1 processor eflags = interupt enable, resume, iopl =0 current process = 44 (irq266: igb2) trap number = 12 panic page fault cpuid = 0 Ещё больше охренеть не может там быть петли (если я правильно понял про петлю...) все петли рубаются на уровне доступа. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
terrible Posted December 18, 2012 Предположу, что это подземный стук. Как вариант - попробовать натить на IPFW Кстати, вы правила IPFW на лету случаем не меняете? Шейпинг у вас на нг? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ApmeM Posted December 18, 2012 на лету правила не меняются. шейпигн реализован через mpd-filter. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...