Перейти к содержимому
Калькуляторы

[РЕШЕНО] kernel panic на бридже 2.6.33.20 + igb 3.1.16

Приветствую, уважаемые! Может кто-то сталкивался с такой ситуацией:

 

Имеется бридж, который по совместительству еще и шейпер (LARTC: HTB+U32+SFQ). Пропускает до 2Гбит.

Раз в несколько дней падает в kernel panic. Обычно падает не в пики активности, а тихо так - часов в 5 утра.

 

Красными полосками отметил моменты сбоев на графике:

Снимок.png

 

Снимки экранов: (практически одинаковые)

post-8-0-39896300-1332750168.jpg

post-83-0-32704400-1332826808.jpg

post-83-0-41062100-1332741348.jpg

 

Debian 6.0.4 x86_64 с ядром 2.6.33.20 собранным из исходников от kernel.org и драйвером igb 3.1.16 от Intel.

В .config исходников ядра только одно изменение:

# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000

igb:

rmmod igb
modprobe igb IntMode=2,2,2,2 InterruptThrottleRate=5000,5000,5000,5000 RSS=4,4,4,4 QueuePairs=1,1,1,1 LLIPort=80
service networking restart

(только что заметил по ошибке скопипащенную опцию LLIPort=80 - уберу после очередной kernel panic :) )

 

Организован бондинг:

          br0
         /   \
    bond0     bond1
   /   \       /   \
eth0   eth1   eth2  eth3

modprobe bonding max_bonds=2 mode=4 downdelay=200 updelay=200 xmit_hash_policy=layer2+3

# /etc/network/interfaces
auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1
iface eth1 inet manual
bond-master bond0

auto eth2
iface eth2 inet manual
bond-master bond1

auto eth3
iface eth3 inet manual
bond-master bond1

auto bond0
allow-hotplug bond0
iface bond0 inet manual
   bond_mode 802.3ad
   bond_miimon 100
   bond_downdelay 200
   bond_updelay 200
   bond_primary eth0 eth1

auto bond1
allow-hotplug bond1
iface bond1 inet manual
   bond_mode 802.3ad
   bond_miimon 100
   bond_downdelay 200
   bond_updelay 200
   bond_primary eth2 eth3

auto br0
allow-hotplug br0
iface br0 inet static
   address xxx.xxx.xxx.xxx
   netmask xxx.xxx.xxx.xxx
   network xxx.xxx.xxx.xxx
   broadcast xxx.xxx.xxx.xxx
   gateway xxx.xxx.xxx.xxx
   bridge_ports bond0 bond1
   bridge_maxwait 0

 

Тюнинг интерфейсов:

# привязка очередей к ядрам CPU
echo 1  > /proc/irq/`cat /proc/interrupts | grep 'eth0-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 2  > /proc/irq/`cat /proc/interrupts | grep 'eth0-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 4  > /proc/irq/`cat /proc/interrupts | grep 'eth0-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 8  > /proc/irq/`cat /proc/interrupts | grep 'eth0-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

echo 10 > /proc/irq/`cat /proc/interrupts | grep 'eth1-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 20 > /proc/irq/`cat /proc/interrupts | grep 'eth1-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 40 > /proc/irq/`cat /proc/interrupts | grep 'eth1-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 80 > /proc/irq/`cat /proc/interrupts | grep 'eth1-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

echo 80 > /proc/irq/`cat /proc/interrupts | grep 'eth2-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 40 > /proc/irq/`cat /proc/interrupts | grep 'eth2-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 20 > /proc/irq/`cat /proc/interrupts | grep 'eth2-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 10 > /proc/irq/`cat /proc/interrupts | grep 'eth2-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

echo 8  > /proc/irq/`cat /proc/interrupts | grep 'eth3-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 4  > /proc/irq/`cat /proc/interrupts | grep 'eth3-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 2  > /proc/irq/`cat /proc/interrupts | grep 'eth3-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
echo 1  > /proc/irq/`cat /proc/interrupts | grep 'eth3-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

# изменение размеров буферов
ethtool -G eth0 rx 2048
ethtool -G eth0 tx 2048
ethtool -G eth1 rx 2048
ethtool -G eth1 tx 2048
ethtool -G eth2 rx 2048
ethtool -G eth2 tx 2048
ethtool -G eth3 rx 2048
ethtool -G eth3 tx 2048

# отключение flow control
ethtool -A eth0 autoneg off rx off tx off
ethtool -A eth1 autoneg off rx off tx off
ethtool -A eth2 autoneg off rx off tx off
ethtool -A eth3 autoneg off rx off tx off

# изменение размера очереди передаваемых пакетов
ifconfig eth0 txqueuelen 10000
ifconfig eth1 txqueuelen 10000
ifconfig eth2 txqueuelen 10000
ifconfig eth3 txqueuelen 10000

# установка параметров STP
brctl stp br0 on
brctl setfd br0 4
brctl setmaxage br0 6
brctl setbridgeprio br0 0

 

В iptables самые обычные правила, но используется ipset (из дистрибутива), conntrack выключен:

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_defrag_ipv4
rmmod nf_conntrack

# cat /proc/net/ip_conntrack
cat: /proc/net/ip_conntrack: Нет такого файла или каталога

 

/etc/sysctl.conf

# Controls source route verification
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296


net.core.wmem_default = 4194394
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.ipv4.tcp_rmem = 8192 8388608 16777216
net.ipv4.tcp_wmem = 8192 4194394 16777216
net.ipv4.tcp_no_metrics_save = 1
net.core.netdev_max_backlog = 1000
net.core.somaxconn = 262144
net.ipv4.tcp_max_tw_buckets = 1440000

 

Как организован шейпер уже писал тут: http://forum.nag.ru/forum/index.php?showtopic=73649&view=findpost&p=695955

 

 

Клонировали эту систему на новую машину: ничего не изменилось.

 

Отключили бы шейпер, но это может затянуться на несколько суток.

 

В данный момент собираем сообщения ядра средствами netconsole и ждём очередной kernel panic...

Изменено пользователем Иванов Денис

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Забыл написать, что там же работает snmpd

/usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid xxx.xxx.xxx.xxx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Драйвера от Intel igb-3.3.6 может попробуете? У нас условия другие, но с 3.1.16 периодически была паника, с 3.3.6 прекратилась

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обычно падает не в пики активности, а тихо так - часов в 5 утра.

 

Попробуйте убрать из конфига ядра все что связанно с засыпанием cpu, например вот так:

# CONFIG_ACPI_PROCESSOR is not set

# CONFIG_CPU_IDLE is not set

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

GRO выключайте.

 

Ну и да, хотелось бы видеть полный бэктрейс, он у Вас обрывается на nf_iterate в самом верху, а выше наверняка есть еще данные.

Изменено пользователем Alex/AT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плюс поглядите еще сюда, по возможности наложите на ядро:

http://article.gmane.org/gmane.linux.network/192007

http://article.gmane.org/gmane.linux.network/192015

http://article.gmane.org/gmane.linux.network/192055

http://article.gmane.org/gmane.linux.network/192293

http://article.gmane.org/gmane.linux.network/192299

http://article.gmane.org/gmane.linux.network/192301

Естественно, придётся понимать логику работы - если с пониманием кода ядра туго, то лучше обновите ядро на 3.x - там это всё уже есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Благодарю! Не надеялся получить столько ответов. :)

Ждём очередной kernel panic чтобы получить полный backtrace, затем пробуем свежие драйвера igb (3.3.6), отключить "засыпание CPU" и GRO.

Если не поможет, то будем разбираться с предложенными патчами и другими ядрами.

Изменено пользователем Иванов Денис

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проработал неделю и наконец упал. :)

Снимок.png

[484747.917726] BUG: unable to handle kernel paging request at ffffc90012167000
[484747.917763] IP: [<ffffffff8124a2c3>] dev_queue_xmit+0x248/0x425
[484747.917794] PGD bf020067 PUD bf021067 PMD bd95a067 PTE 0
[484747.917820] Oops: 0000 [#1] SMP 
[484747.917839] last sysfs file: /sys/module/configfs/initstate
[484747.917858] CPU 2 
[484747.917875] Pid: 0, comm: swapper Not tainted 2.6.33.20 #1 SABERTOOTH X58/System Product Name
[484747.917907] RIP: 0010:[<ffffffff8124a2c3>]  [<ffffffff8124a2c3>] dev_queue_xmit+0x248/0x425
[484747.917941] RSP: 0018:ffff880001a43710  EFLAGS: 00010202
[484747.917960] RAX: ffff8800beeb2000 RBX: ffff8800b10f04e8 RCX: 0000000000000001
[484747.917990] RDX: ffff8800b0e10008 RSI: 0000000000010000 RDI: ffff8800b10f04e8
[484747.918020] RBP: ffff8800bb97e000 R08: 0000000080000000 R09: 0000000000000000
[484747.918050] R10: ffff8800b6c0d050 R11: 0000000000000000 R12: ffffc90012167000
[484747.918080] R13: ffff880037cac680 R14: 000000001ce20b03 R15: 0000000000001800
[484747.918110] FS:  0000000000000000(0000) GS:ffff880001a40000(0000) knlGS:0000000000000000
[484747.918142] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[484747.918160] CR2: ffffc90012167000 CR3: 00000000b78ea000 CR4: 00000000000006e0
[484747.918191] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[484747.918221] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[484747.918251] Process swapper (pid: 0, threadinfo ffff8800beebe000, task ffff8800bee85340)
[484747.918282] Stack:
[484747.918296]  ffff8800b10f04e8 ffffffff812705cf ffff8800a5bb3a80 ffff8800b10f04e8
[484747.918322] <0> 0000000000000000 ffff8800b0e1250c 000000001ce20b03 ffffffff81271022
[484747.918360] <0> 0000000001a437d0 0000000001a437d0 0000000080000000 ffff8800bd860c00
[484747.918410] Call Trace:
[484747.918425]  <IRQ> 
[484747.918442]  [<ffffffff812705cf>] ? ip_finish_output2+0x1c2/0x20f
[484747.918462]  [<ffffffff81271022>] ? ip_queue_xmit+0x2e5/0x346
[484747.918482]  [<ffffffff812823db>] ? tcp_transmit_skb+0x6f9/0x737
[484747.918502]  [<ffffffff81284974>] ? tcp_write_xmit+0x80c/0x8fc
[484747.918524]  [<ffffffffa037792c>] ? br_nf_post_routing+0x1a4/0x1b7 [bridge]
[484747.918546]  [<ffffffff81284ab7>] ? __tcp_push_pending_frames+0x22/0x4e
[484747.918566]  [<ffffffff8127e384>] ? tcp_data_snd_check+0x21/0xea
[484747.918586]  [<ffffffff812814d6>] ? tcp_rcv_state_process+0x8b0/0x8ee
[484747.918607]  [<ffffffff8128747f>] ? tcp_v4_do_rcv+0x2dc/0x33c
[484747.918626]  [<ffffffff8128837a>] ? tcp_v4_rcv+0x40d/0x665
[484747.918646]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.918666]  [<ffffffff8126d4e6>] ? ip_local_deliver_finish+0x0/0x1ae
[484747.918686]  [<ffffffff8126d623>] ? ip_local_deliver_finish+0x13d/0x1ae
[484747.918707]  [<ffffffff8126d0c3>] ? ip_rcv_finish+0x31f/0x34b
[484747.918727]  [<ffffffff8126d35a>] ? ip_rcv+0x26b/0x2a6
[484747.918746]  [<ffffffffa03738e6>] ? br_handle_frame_finish+0x112/0x14d [bridge]
[484747.918778]  [<ffffffffa037752c>] ? br_nf_pre_routing_finish+0x258/0x27a [bridge]
[484747.918809]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.918829]  [<ffffffffa03772d4>] ? br_nf_pre_routing_finish+0x0/0x27a [bridge]
[484747.918862]  [<ffffffff8100e996>] ? read_tsc+0x5/0x16
[484747.918882]  [<ffffffffa03781ad>] ? br_nf_pre_routing+0x534/0x553 [bridge]
[484747.918905]  [<ffffffff810df7ca>] ? get_partial_node+0x15/0x82
[484747.918925]  [<ffffffff812670a4>] ? nf_iterate+0x43/0x87
[484747.918945]  [<ffffffffa03737d4>] ? br_handle_frame_finish+0x0/0x14d [bridge]
[484747.918975]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.918995]  [<ffffffffa03737d4>] ? br_handle_frame_finish+0x0/0x14d [bridge]
[484747.919028]  [<ffffffffa03a6731>] ? igb_alloc_rx_buffers+0x121/0x310 [igb]
[484747.919049]  [<ffffffff8100e1b4>] ? nommu_map_page+0x0/0x9c
[484747.919070]  [<ffffffffa0373ad4>] ? br_handle_frame+0x1b3/0x1db [bridge]
[484747.919091]  [<ffffffff8124915f>] ? netif_receive_skb+0x340/0x45e
[484747.919111]  [<ffffffff81249533>] ? dev_gro_receive+0xd5/0x223
[484747.919131]  [<ffffffff812493aa>] ? napi_skb_finish+0x1c/0x31
[484747.919151]  [<ffffffffa03a7020>] ? igb_poll+0x700/0xb70 [igb]
[484747.919171]  [<ffffffff8100e996>] ? read_tsc+0x5/0x16
[484747.919190]  [<ffffffff812498ca>] ? net_rx_action+0xa9/0x1cb
[484747.919210]  [<ffffffff8108fe01>] ? __rcu_process_callbacks+0xb4/0x278
[484747.919232]  [<ffffffff810499e6>] ? __do_softirq+0xe0/0x1a2
[484747.919252]  [<ffffffff8101cf7b>] ? lapic_next_event+0x18/0x1d
[484747.919273]  [<ffffffff8108c1e4>] ? handle_IRQ_event+0x55/0x109
[484747.919293]  [<ffffffff8100991c>] ? call_softirq+0x1c/0x30
[484747.919312]  [<ffffffff8100b03f>] ? do_softirq+0x3f/0x79
[484747.919331]  [<ffffffff81049847>] ? irq_exit+0x36/0x79
[484747.919350]  [<ffffffff8100a7a2>] ? do_IRQ+0xa3/0xb9
[484747.919369]  [<ffffffff812f6093>] ? ret_from_intr+0x0/0x11
[484747.919387]  <EOI> 
[484747.919404]  [<ffffffff8100fd62>] ? mwait_idle+0x6d/0x78
[484747.919423]  [<ffffffff8100fd14>] ? mwait_idle+0x1f/0x78
[484747.919444]  [<ffffffff81007b7f>] ? cpu_idle+0xa3/0xdd
[484747.919462] Code: ab a8 00 00 00 45 89 ed 66 8b 83 a6 00 00 00 49 c1 e5 07 4c 03 ad 00 03 00 00 80 e4 cf 80 cc 20 4d 8b 65 08 66 89 83 a6 00 00 00 <49> 83 3c 24 00 0f 84 d2 00 00 00 4d 8d 84 24 9c 00 00 00 4c 89 
[484747.919627] RIP  [<ffffffff8124a2c3>] dev_queue_xmit+0x248/0x425
[484747.919649]  RSP <ffff880001a43710>
[484747.919665] CR2: ffffc90012167000
[484747.919863] ---[ end trace d69d3035353cd75c ]---
[484747.919903] Kernel panic - not syncing: Fatal exception in interrupt
[484747.919947] Pid: 0, comm: swapper Tainted: G      D    2.6.33.20 #1
[484747.919990] Call Trace:
[484747.920028]  <IRQ>  [<ffffffff812f3e3a>] ? panic+0x78/0x13d
[484747.920097]  [<ffffffff81044b13>] ? kmsg_dump+0xa1/0x145
[484747.920139]  [<ffffffff812f6eaf>] ? oops_end+0xa9/0xb6
[484747.920182]  [<ffffffff8102b36a>] ? no_context+0x1f4/0x201
[484747.920226]  [<ffffffff812f6375>] ? page_fault+0x25/0x30
[484747.920271]  [<ffffffff8124a2c3>] ? dev_queue_xmit+0x248/0x425
[484747.920314]  [<ffffffff812705cf>] ? ip_finish_output2+0x1c2/0x20f
[484747.920358]  [<ffffffff81271022>] ? ip_queue_xmit+0x2e5/0x346
[484747.920401]  [<ffffffff812823db>] ? tcp_transmit_skb+0x6f9/0x737
[484747.920445]  [<ffffffff81284974>] ? tcp_write_xmit+0x80c/0x8fc
[484747.920490]  [<ffffffffa037792c>] ? br_nf_post_routing+0x1a4/0x1b7 [bridge]
[484747.920534]  [<ffffffff81284ab7>] ? __tcp_push_pending_frames+0x22/0x4e
[484747.920579]  [<ffffffff8127e384>] ? tcp_data_snd_check+0x21/0xea
[484747.920623]  [<ffffffff812814d6>] ? tcp_rcv_state_process+0x8b0/0x8ee
[484747.920669]  [<ffffffff8128747f>] ? tcp_v4_do_rcv+0x2dc/0x33c
[484747.920712]  [<ffffffff8128837a>] ? tcp_v4_rcv+0x40d/0x665
[484747.920755]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.920797]  [<ffffffff8126d4e6>] ? ip_local_deliver_finish+0x0/0x1ae
[484747.920842]  [<ffffffff8126d623>] ? ip_local_deliver_finish+0x13d/0x1ae
[484747.920887]  [<ffffffff8126d0c3>] ? ip_rcv_finish+0x31f/0x34b
[484747.920930]  [<ffffffff8126d35a>] ? ip_rcv+0x26b/0x2a6
[484747.920972]  [<ffffffffa03738e6>] ? br_handle_frame_finish+0x112/0x14d [bridge]
[484747.921029]  [<ffffffffa037752c>] ? br_nf_pre_routing_finish+0x258/0x27a [bridge]
[484747.921084]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.921128]  [<ffffffffa03772d4>] ? br_nf_pre_routing_finish+0x0/0x27a [bridge]
[484747.921182]  [<ffffffff8100e996>] ? read_tsc+0x5/0x16
[484747.923851]  [<ffffffffa03781ad>] ? br_nf_pre_routing+0x534/0x553 [bridge]
[484747.923895]  [<ffffffff810df7ca>] ? get_partial_node+0x15/0x82
[484747.923938]  [<ffffffff812670a4>] ? nf_iterate+0x43/0x87
[484747.923981]  [<ffffffffa03737d4>] ? br_handle_frame_finish+0x0/0x14d [bridge]
[484747.924036]  [<ffffffff8126714a>] ? nf_hook_slow+0x62/0xc3
[484747.924079]  [<ffffffffa03737d4>] ? br_handle_frame_finish+0x0/0x14d [bridge]
[484747.924134]  [<ffffffffa03a6731>] ? igb_alloc_rx_buffers+0x121/0x310 [igb]
[484747.924179]  [<ffffffff8100e1b4>] ? nommu_map_page+0x0/0x9c
[484747.924224]  [<ffffffffa0373ad4>] ? br_handle_frame+0x1b3/0x1db [bridge]
[484747.924268]  [<ffffffff8124915f>] ? netif_receive_skb+0x340/0x45e
[484747.924311]  [<ffffffff81249533>] ? dev_gro_receive+0xd5/0x223
[484747.924354]  [<ffffffff812493aa>] ? napi_skb_finish+0x1c/0x31
[484747.924399]  [<ffffffffa03a7020>] ? igb_poll+0x700/0xb70 [igb]
[484747.924441]  [<ffffffff8100e996>] ? read_tsc+0x5/0x16
[484747.924483]  [<ffffffff812498ca>] ? net_rx_action+0xa9/0x1cb
[484747.924526]  [<ffffffff8108fe01>] ? __rcu_process_callbacks+0xb4/0x278
[484747.924570]  [<ffffffff810499e6>] ? __do_softirq+0xe0/0x1a2
[484747.924614]  [<ffffffff8101cf7b>] ? lapic_next_event+0x18/0x1d
[484747.924657]  [<ffffffff8108c1e4>] ? handle_IRQ_event+0x55/0x109
[484747.924699]  [<ffffffff8100991c>] ? call_softirq+0x1c/0x30
[484747.924742]  [<ffffffff8100b03f>] ? do_softirq+0x3f/0x79
[484747.924785]  [<ffffffff81049847>] ? irq_exit+0x36/0x79
[484747.924827]  [<ffffffff8100a7a2>] ? do_IRQ+0xa3/0xb9
[484747.924869]  [<ffffffff812f6093>] ? ret_from_intr+0x0/0x11
[484747.924911]  <EOI>  [<ffffffff8100fd62>] ? mwait_idle+0x6d/0x78
[484747.925023]  [<ffffffff81007b7f>] ? cpu_idle+0xa3/0xdd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 3х случаях из 4х время kernel panic совпало с временем выполнения cron'ом элементарного сценария архивирования конфигов:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DEVREGEXP="/var$"
MINAVAIL=1

cd /scripts/backup/tars/

# удалить старые архивы
while [ "`df -g | grep $DEVREGEXP | awk '{ print $4 }'`" -le "$MINAVAIL" ]; do
 LIST=`ls -tr`
 rm `echo $LIST | awk '{print $1}'`
done

# сформировать имя файла архива: годмесяцденьчасминута-bridge.tar
NAME=`date +%Y%m%d%H%M-linbridge.tar`

# добавить в архив директории
# /etc /root /usr/local/etc /usr/local/www /var/spool/cron/crontabs /scripts
# исключая директории
# /root/tmp /scripts/backup/tars
cd /scripts/backup/tars/
tar vcpf $NAME --exclude /root/tmp --exclude /scripts/backup/tars /etc /root /usr/local/etc /var/spool/cron/crontabs /scripts

# передать архив в хранилище
lftp <<End-Of-Session
open xxx.xxx.xxx.xxx
user linbridge ********
put $NAME
bye
End-Of-Session

Размер архива ~70МБ.

Изменено пользователем Иванов Денис

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Установили драйвера igb 3.3.6, ждём...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот. По полному трейсу проблема диагностируется достаточно легко.

Связано с тем, что у бриджа одна очередь на tx, а у реальных интерфейсов - много, и номер очереди в skb получается некорректным.

Примените патч и переберите ядро. У Вас в 2.6.33.20 код может чуть-чуть отличаться - найдите dev_pick_tx, что на что заменить - из патча очевидно.

 

commit df32cc193ad88f7b1326b90af799c927b27f7654
Author: Tom Herbert <therbert@xxxxxxxxxx>
Date:   Mon Nov 1 12:55:52 2010 -0700

   net: check queue_index from sock is valid for device

   In dev_pick_tx recompute the queue index if the value stored in the
   socket is greater than or equal to the number of real queues for the
   device.  The saved index in the sock structure is not guaranteed to
   be appropriate for the egress device (this could happen on a route
   change or in presence of tunnelling).  The result of the queue index
   being bad would be to return a bogus queue (crash could prersumably
   follow).

   Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx>
   Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

diff --git a/net/core/dev.c b/net/core/dev.c
index 35dfb83..0dd54a6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2131,7 +2131,7 @@ static struct netdev_queue *dev_pick_tx(struct net_device *dev,
	} else {
		struct sock *sk = skb->sk;
		queue_index = sk_tx_queue_get(sk);
-		if (queue_index < 0) {
+		if (queue_index < 0 || queue_index >= dev->real_num_tx_queues) {

			queue_index = 0;
			if (dev->real_num_tx_queues > 1)

Изменено пользователем Alex/AT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Alex/AT, очередное спасибо!

igb 3.3.6 не панацея. Пропатчили ядро. Ждём...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 суток - полёт нормальный... :)

 

До того как обновить версию igb, мы сделали клон бриджа.

Патч помог обоим :

bridge1: kernel 2.6.33.20 + патч + igb 3.3.6

bridge2: kernel 2.6.33.20 + патч + igb 3.1.16

 

Всем огромное спасибо! Вопрос закрыт.

Изменено пользователем Иванов Денис

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет!

Сервер уходит в панику второй раз за неделю. Так же не в пики активности.

Занят НАТингом. До 1.5 Гб/с.

Debian GNU/Linux 6.0 x86_64 Ядро 2.6.33.20

с теми же изменениями

# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000

Тюнинг интерфейсов:

ethtool -G eth8 rx 4096
ethtool -G eth8 tx 4096
ethtool -G eth9 rx 4096
ethtool -G eth9 tx 4096
ethtool -A eth9 autoneg off rx off tx off
ethtool -A eth8 autoneg off rx off tx off
ifconfig eth9 txqueuelen 10000
ifconfig eth8 txqueuelen 10000

#Привязваем очереди к ядрам
ifconfig eth8 up
/bin/echo 1 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-7' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 2 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-6' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 4 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-5' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 8 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-4' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 10 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 20 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 40 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 80 > /proc/irq/`cat /proc/interrupts | grep 'eth8-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

ifconfig eth9 up
/bin/echo 80 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-7' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 40 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-6' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 20 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-5' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 10 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-4' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 8 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-3' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 4 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-2' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 2 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-1' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity
/bin/echo 1 > /proc/irq/`cat /proc/interrupts | grep 'eth9-TxRx-0' | awk -F \: '{printf $1}'| tr -d ' '`/smp_affinity

 

дамп ядра:

 

[9935471.262285] BUG: unable to handle kernel NULL pointer dereference at (null).
[9935471.262313] IP: [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.262339] PGD 1995ab067 PUD 1999cc067PMD 0 .
[9935471.262363] Oops: 0000 [#1]SMP .
[9935471.262382] last sysfs file: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/ATK0110:00/hwmon/hwmon0/temp7_crit.
[9935471.262421] CPU 1 .
[9935471.262439] Pid: 0, comm: swapper Not tainted 2.6.33.20 #2 Rampage II Extreme/System Product Name.
[9935471.262474] RIP: 0010:[<ffffffff81257c77>]  [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.262512] RSP: 0018:ffff880007023b70  EFLAGS: 00010246.[9935471.262531] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff880194b6f872.
[9935471.262564] RDX: 000000005e3f040a RSI: ffff880007023c50 RDI: ffff8801bf393a40.
[9935471.262596] RBP: ffff880007023c50 R08: ffffffff8185f0f0 R09: ffff880007023d28.
[9935471.262628] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801bf3938c0.
[9935471.262660] R13: ffff880007023bb0 R14: 0000000000000000 R15: ffff8801bf393938.
[9935471.262693] FS:  0000000000000000(0000) GS:ffff880007020000(0000) knlGS:0000000000000000.
[9935471.262726] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b.
[9935471.262747] CR2: 0000000000000000 CR3: 00000001999ca000 CR4: 00000000000006e0.
[9935471.262779] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000.
[9935471.262811] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400.
[9935471.262844] Process swapper (pid: 0, threadinfo ffff8801bf0c0000, task ffff8801bf073780).
[9935471.262879] Stack:.
[9935471.262894]  000091e6ffff6e19 ffff880007023c10 ffff8801b38e8400 ffff88013f1c9f00.
[9935471.262921] <0> 000000005e3f040a 0000000000000005 ffff8801b3400000 ffffffff8129dff7.
[9935471.262962] <0> 0000000000000000 ffff880007023c10 0000000000000000 0000000000000006.
[9935471.263016] Call Trace:.
[9935471.263031]  <IRQ> .
[9935471.263051]  [<ffffffff8129dff7>] ? fib_lookup+0x2d/0x3e.
[9935471.263073]  [<ffffffff8126ae8c>] ? ip_route_input_slow+0x122/0x80d.
[9935471.263096]  [<ffffffffa015a67b>] ? nf_nat_packet+0x93/0xb2 [nf_nat].
[9935471.263117]  [<ffffffff8126b9d9>] ? ip_route_input+0x462/0x478.
[9935471.263140]  [<ffffffff8126cdac>] ? ip_rcv_finish+0x0/0x34b.
[9935471.263161]  [<ffffffff8126cde0>] ? ip_rcv_finish+0x34/0x34b.
[9935471.263181]  [<ffffffff8126d362>] ? ip_rcv+0x26b/0x2a6.
[9935471.263203]  [<ffffffff812493aa>] ? napi_skb_finish+0x1c/0x31.
[9935471.263228]  [<ffffffffa0250abb>] ? ixgbe_poll+0x4db/0x1740 [ixgbe].
[9935471.263251]  [<ffffffff8108dc98>] ? handle_edge_irq+0xf6/0x120.
[9935471.263272]  [<ffffffff812498ca>] ? net_rx_action+0xa9/0x1cb.
[9935471.263295]  [<ffffffff810499e6>] ? __do_softirq+0xe0/0x1a2.
[9935471.263316]  [<ffffffff81049a60>] ? __do_softirq+0x15a/0x1a2.
[9935471.263336]  [<ffffffff8108c1e4>] ? handle_IRQ_event+0x55/0x109.
[9935471.263358]  [<ffffffff8100991c>] ? call_softirq+0x1c/0x30.
[9935471.263378]  [<ffffffff8100b03f>] ? do_softirq+0x3f/0x79.
[9935471.263399]  [<ffffffff81049847>] ? irq_exit+0x36/0x79.
[9935471.263418]  [<ffffffff8100a7a2>] ? do_IRQ+0xa3/0xb9.
[9935471.263439]  [<ffffffff812f60d3>] ? ret_from_intr+0x0/0x11.
[9935471.263459]  <EOI> .
[9935471.263479]  [<ffffffff8100fd62>] ? mwait_idle+0x6d/0x78.
[9935471.263499]  [<ffffffff8100fd14>] ? mwait_idle+0x1f/0x78.
[9935471.263520]  [<ffffffff81007b7f>] ? cpu_idle+0xa3/0xdd.
[9935471.263540] Code: 75 a6 eb 24 3c 03 74 20 4c 89 e9 44 89 f2 48 89 ee 48 89 df 41 ff 54 24 28 83 f8 f5 74 0a f0 ff 43 10 49 89 5d 10 eb 17 48 8b 1b <48> 8b 03 4c 39 fb 0f 18 08 0f 85 71 ff ff ff b8 fd ff ff ff 5a .
[9935471.263703] RIP  [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.263726]  RSP <ffff880007023b70>.[9935471.263743] CR2: 0000000000000000.
[9935471.263942] BUG: unable to handle kernel .
[9935471.263944] ---[ end trace e0a1f8d62a4b8511 ]---.
[9935471.263945] Kernel panic - not syncing: Fatal exception in interrupt.
[9935471.263946] Pid: 0, comm: swapper Tainted: G      D    2.6.33.20 #2.
[9935471.263947] Call Trace:.
[9935471.263947]  <IRQ>  [<ffffffff812f3e4a>] ? panic+0x78/0x13d.
[9935471.263950]  [<ffffffff81044b13>] ? kmsg_dump+0xa1/0x145.
[9935471.263951]  [<ffffffff812f6eef>] ? oops_end+0xa9/0xb6.
[9935471.263954]  [<ffffffff8102b36a>] ? no_context+0x1f4/0x201.
[9935471.263955]  [<ffffffff812f63b5>] ? page_fault+0x25/0x30.
[9935471.263957]  [<ffffffff81257c77>] ? fib_rules_lookup+0xaa/0xca.
[9935471.263958]  [<ffffffff8129dff7>] ? fib_lookup+0x2d/0x3e.
[9935471.263959]  [<ffffffff8126ae8c>] ? ip_route_input_slow+0x122/0x80d.
[9935471.263961]  [<ffffffffa015a67b>] ? nf_nat_packet+0x93/0xb2 [nf_nat].
[9935471.263963]  [<ffffffff8126b9d9>] ? ip_route_input+0x462/0x478.
[9935471.263964]  [<ffffffff8126cdac>] ? ip_rcv_finish+0x0/0x34b.
[9935471.263966]  [<ffffffff8126cde0>] ? ip_rcv_finish+0x34/0x34b.
[9935471.263967]  [<ffffffff8126d362>] ? ip_rcv+0x26b/0x2a6.
[9935471.263968]  [<ffffffff812493aa>] ? napi_skb_finish+0x1c/0x31.
[9935471.263971]  [<ffffffffa0250abb>] ? ixgbe_poll+0x4db/0x1740 [ixgbe].
[9935471.263973]  [<ffffffff8108dc98>] ? handle_edge_irq+0xf6/0x120.
[9935471.263974]  [<ffffffff812498ca>] ? net_rx_action+0xa9/0x1cb.
[9935471.263976]  [<ffffffff810499e6>] ? __do_softirq+0xe0/0x1a2.
[9935471.263977]  [<ffffffff81049a60>] ? __do_softirq+0x15a/0x1a2.
[9935471.263979]  [<ffffffff8108c1e4>] ? handle_IRQ_event+0x55/0x109.
[9935471.263980]  [<ffffffff8100991c>] ? call_softirq+0x1c/0x30.
[9935471.263981]  [<ffffffff8100b03f>] ? do_softirq+0x3f/0x79.
[9935471.263983]  [<ffffffff81049847>] ? irq_exit+0x36/0x79.
[9935471.263984]  [<ffffffff8100a7a2>] ? do_IRQ+0xa3/0xb9.
[9935471.263985]  [<ffffffff812f60d3>] ? ret_from_intr+0x0/0x11.
[9935471.263986]  <EOI>  [<ffffffff8100fd62>] ? mwait_idle+0x6d/0x78.
[9935471.263988]  [<ffffffff8100fd14>] ? mwait_idle+0x1f/0x78.
[9935471.263989]  [<ffffffff81007b7f>] ? cpu_idle+0xa3/0xdd.
[9935471.265347] NULL pointer dereference at (null).
[9935471.265414] IP: [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.265484] PGD 1af560067 PUD 1984cf067 PMD 0 .
[9935471.265600] Oops: 0000 [#2] SMP .
[9935471.265689] last sysfs file: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/ATK0110:00/hwmon/hwmon0/temp7_crit.
[9935471.265749] CPU 7 .
[9935471.265813] Pid: 0, comm: swapper Tainted: G      D    2.6.33.20 #2 Rampage II Extreme/System Product Name.
[9935471.265871] RIP: 0010:[<ffffffff81257c77>]  [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.265953] RSP: 0018:ffff8800070e3b70  EFLAGS: 00010246.
[9935471.265996] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff8801bdb62089.
[9935471.266051] RDX: 00000000bb39ae4f RSI: ffff8800070e3c50 RDI: ffff8801bf393a40.
[9935471.266106] RBP: ffff8800070e3c50 R08: ffffffff8185f0f0 R09: ffff8800070e3d28.
[9935471.266161] R10: 000000000194ce06 R11: ffff8800070e3ae4 R12: ffff8801bf3938c0.
[9935471.266216] R13: ffff8800070e3bb0 R14: 0000000000000000 R15: ffff8801bf393938.
[9935471.266271] FS:  0000000000000000(0000) GS:ffff8800070e0000(0000) knlGS:0000000000000000.
[9935471.266328] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b.
[9935471.266371] CR2: 0000000000000000 CR3: 0000000196d97000 CR4: 00000000000006e0.
[9935471.266426] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000.
[9935471.266481] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400.
[9935471.266536] Process swapper (pid: 0, threadinfo ffff8801bf11a000, task ffff8801bf0ee120).
[9935471.266592] Stack:.
[9935471.266630]  00000000acfe32c2 ffff8800070e3c10 ffff8801b38e8400 ffff88013ff79b00.
[9935471.266750] <0> 00000000bb39ae4f 0000000000000005 ffff8801b3400000 ffffffff8129dff7.
[9935471.266930] <0> 0000000000000000 ffff8800070e3c10 0000000000000000 491dfa8a765f2bfe.
[9935471.267143] Call Trace:.
[9935471.267181]  <IRQ> .
[9935471.267245]  [<ffffffff8129dff7>] ? fib_lookup+0x2d/0x3e.
[9935471.267288]  [<ffffffff8126ae8c>] ? ip_route_input_slow+0x122/0x80d.
[9935471.267334]  [<ffffffffa00ef368>] ? nf_nat_fn+0x11d/0x155 [iptable_nat].
[9935471.267379]  [<ffffffff8126b9d9>] ? ip_route_input+0x462/0x478.
[9935471.267422]  [<ffffffff8126cdac>] ? ip_rcv_finish+0x0/0x34b.
[9935471.267466]  [<ffffffff8126cde0>] ? ip_rcv_finish+0x34/0x34b.
[9935471.267509]  [<ffffffff8126d362>] ? ip_rcv+0x26b/0x2a6.
[9935471.267552]  [<ffffffff812493aa>] ? napi_skb_finish+0x1c/0x31.
[9935471.267597]  [<ffffffffa0250abb>] ? ixgbe_poll+0x4db/0x1740 [ixgbe].
[9935471.267642]  [<ffffffff812498ca>] ? net_rx_action+0xa9/0x1cb.
[9935471.267686]  [<ffffffff810499e6>] ? __do_softirq+0xe0/0x1a2.
[9935471.267729]  [<ffffffff81049a60>] ? __do_softirq+0x15a/0x1a2.
[9935471.267773]  [<ffffffff8108c1e4>] ? handle_IRQ_event+0x55/0x109.
[9935471.270523]  [<ffffffff8100991c>] ? call_softirq+0x1c/0x30.
[9935471.270566]  [<ffffffff8100b03f>] ? do_softirq+0x3f/0x79.
[9935471.270609]  [<ffffffff81049847>] ? irq_exit+0x36/0x79.
[9935471.270652]  [<ffffffff8100a7a2>] ? do_IRQ+0xa3/0xb9.
[9935471.270695]  [<ffffffff812f60d3>] ? ret_from_intr+0x0/0x11.
[9935471.270737]  <EOI> .
[9935471.270800]  [<ffffffff8100fd62>] ? mwait_idle+0x6d/0x78.
[9935471.270844]  [<ffffffff8100fd14>] ? mwait_idle+0x1f/0x78.
[9935471.270887]  [<ffffffff81007b7f>] ? cpu_idle+0xa3/0xdd.
[9935471.270930] Code: 75 a6 eb 24 3c 03 74 20 4c 89 e9 44 89 f2 48 89 ee 48 89 df 41 ff 54 24 28 83 f8 f5 74 0a f0 ff 43 10 49 89 5d 10 eb 17 48 8b 1b <48> 8b 03 4c 39 fb 0f 18 08 0f 85 71 ff ff ff b8 fd ff ff ff 5a .
[9935471.272615] RIP  [<ffffffff81257c77>] fib_rules_lookup+0xaa/0xca.
[9935471.272684]  RSP <ffff8800070e3b70>.
[9935471.272724] CR2: 0000000000000000.

 

подскажите?

Изменено пользователем killonik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

killonik,

Для начала обновитесь на что-нибудь посвежее. Debian 7.2 на дворе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.