Jump to content
Калькуляторы

FreeBSD периодически виснет discard frame w/o packet header

Здравствуйте!

У нас стоит сервер на Freebsd 7.4 STABLE, железо: Dell 710 (2x Xeon E5540 2.53 Ghz), 8 гиг. оперативки.

Сетевые - встроенная на 4 порта bce (Broadcom NetXtreme II BCM5709), дополнительно вставлена 2-х портовая Intel igb.

 

Изначально схема подключения сетевых была такая:

1. igb0 - внешний линк

2. bce1 - линк в городскую сеть

3. bce2 - линк между сервером и биллингом

 

На сервере был поднят IPFW NAT, MPD 5.

Клиенты подключались по pptp. Онлайн около 3х тысяч, трафик - 400 мбит/с. В качестве биллинга был UTM5.

НАС сервер работал нормально, никаких проблем не было.

 

Несколько дней назад перешли на BGbilling. Так же получили пул внешних адресов, и решили отказаться от НАТа.

На НАС сервере убрали правила файрвола отвечающие за NAT. Абонентам адреса начали выдавать из пула. Всё заработало, но с разной периодичностью сервер НАС стал отваливаться. Причем не обязательно в часы пик. Сервер мог зависнуть ночью, когда онлайн маленький и трафика тоже мало. В логах последняя запись была: bce1: discard frame w/o packet header.

 

Никаких изменений на сервере больше не делали. Только убрали НАТ (сервер наоборот должен был разгрузиться), и начали абонентам выдавать адреса динамически из пула (ранее в УТМ каждому абоненту прописывали локальный адрес для НАТа).

 

Вчера попробовали линк в городскую сеть перенести с bce1 на igb1. Но сервер всё равно завис, правда в логах уже писало: bce2: discard frame w/o packet header.

Трафик на bce2 - минимальный, там только обмен между НАС и биллингом.

 

Кто нибудь сталкивался с подобным?

Подскажите что ещё можно предпринять?

 

cat /boot/loader.conf

### intel driver
if_igb_load="YES"
hw.igb.rxd=4096
hw.igb.txd=4096
hw.igb.enable_aim=0
hw.igb.low_latency=1000
hw.igb.ave_latency=2000
hw.igb.bulk_latency=4000
hw.igb.rx_process_limit=100
hw.igb.fc_setting=0
hw.igb.num_queues=0
hw.igb.lro=0

# mem for kernel
vm.kmem_size=3G
kern.hz=4000

### network
kern.ipc.nmbclusters="524288"
kern.ipc.maxsockets="524288"
net.graph.maxalloc="327680"
net.graph.maxdata="327680"
net.graph.recvspace="128000"
net.inet.tcp.tcbhashsize=32000
kern.ipc.maxpipekva="32000000"
kern.ipc.maxsockbuf=1048576
net.inet.tcp.tcbhashsize="4096"
kern.ipc.somaxconn=300000

#onther
kern.maxfiles="409600"
kern.maxfilesperproc="400000"
kern.maxusers="2048"
kern.maxvnodes=300000

 

cat /etc/sysctl.conf

## ipfw
net.inet.ip.fw.verbose=0
net.inet.ip.fw.debug=0
net.inet.ip.fw.enable=1
net.inet.ip.fw.dyn_max=65535
net.inet.ip.fw.dyn_buckets=4096
### /// otvet na zakriti port
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
#### 
net.inet.ip.fw.one_pass=0
net.isr.direct=1
net.inet.ip.fastforwarding=1
####
net.inet.tcp.syncookies=0
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.recvbuf_auto=1
kern.ipc.maxsockbuf=26214400
net.inet.tcp.maxtcptw=40960
net.inet.icmp.icmplim=0
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.ip.dummynet.io_fast=1
net.inet.ip.dummynet.hash_size=10240
net.inet.tcp.sendspace=655360
net.inet.tcp.recvspace=655360
net.inet.tcp.sendbuf_max=26777216
net.inet.tcp.recvbuf_max=26777216
net.inet.tcp.slowstart_flightsize=54
net.inet.ip.intr_queue_maxlen=512
net.route.netisr_maxqlen=512
#### igb
dev.igb.0.enable_aim=0
dev.igb.0.flow_control=0
dev.igb.0.rx_processing_limit=2048
dev.igb.1.enable_aim=0
dev.igb.1.flow_control=0
dev.igb.1.rx_processing_limit=2048

Share this post


Link to post
Share on other sites

выкинь ты нах этот брудком и поставь интел.....

Share this post


Link to post
Share on other sites

Есть в запасе карта em, завтра поменяю на неё.

Но поможет ли? Смущает то что при такой же нагрузке, да еще плюс НАТ, броадкомы отрабатывали нормально, а теперь сервак виснет.

Share this post


Link to post
Share on other sites

если трафик - 400 мбит/с. можно разрулить сеть виланами и на одной сетевухе.....

если больше, ставь второго интеля и смотри что, зачем и почему....

ЗЫ: как говорил жаб есть 2 типа сетевых: от интела и другое прочее гавно

Share this post


Link to post
Share on other sites

Убрали карты bce.

Теперь система уходит в kernel panic вообще без сообщения в логе :(

Может попробовать собрать ядро без НАТа, файрвола?

Какие параметры оставить в ядре если нужен только mpd+шейпинг? Клиенты используют шифрование.

Share this post


Link to post
Share on other sites

Систему до stable обновили?

Share this post


Link to post
Share on other sites

Систему до stable обновили?

он в первом посту написал....

 

mpd 5.3+pf+pf-nat+ng_car

 

вот таких два тазика собрал я себе на коленке....особо ничего не тюнил некогда было....

Как то живут они себе в автономке...по 400 мегабит ната и не ната прожовывают только в путь....

 

vpn# dmesg | grep Intel

CPU: Intel(R) Core(TM) i7 CPU         930  @ 2.80GHz (2800.01-MHz K8-class CPU)
 Origin = "GenuineIntel"  Id = 0x106a5  Family = 6  Model = 1a  Stepping = 5
em0: <Intel(R) PRO/1000 Network Connection 7.0.5> port 0xdc00-0xdc1f mem 0xfbce0000-0xfbcfffff,0xfbcdc000-0xfbcdffff irq 16 at device 0.0 on pci6
em1: <Intel(R) PRO/1000 Network Connection 7.0.5> port 0xec00-0xec1f mem 0xfbde0000-0xfbdfffff,0xfbddc000-0xfbddffff irq 17 at device 0.0 on pci7
atapci0: <Intel ICH10 SATA300 controller> port 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,0xc480-0xc483,0xc400-0xc40f,0xc080-0xc08f irq 19 at device 31.2 on pci0
atapci1: <Intel ICH10 SATA300 controller> port 0xbc00-0xbc07,0xb880-0xb883,0xb800-0xb807,0xb480-0xb483,0xb400-0xb40f,0xb080-0xb08f irq 19 at device 31.5 on pci0

 

uname -a
FreeBSD vpn1.xzxz.ru 7.3-STABLE-201010 FreeBSD 7.3-STABLE-201010 #0: Mon Mar 21 16:53:20 MSK 2011     odmin@vpn1.xzxz.ru:/usr/src/sys/amd64/compile/VPNi7new  amd64

 

cpu             HAMMER
ident           VPNi7new

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         SCHED_ULE               # ULE scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
options         SCTP                    # Stream Control Transmission Protocol 
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
#options        UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
options         MD_ROOT                 # MD is a potential root device
#options        NFSCLIENT               # Network Filesystem Client
#options        NFSSERVER               # Network Filesystem Server
#options        NFSLOCKD                # Network Lock Manager
#options        NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat [KEEP THIS!]
options         COMPAT_IA32             # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         STACK                   # stack(9) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         P1003_1B_SEMAPHORES     # POSIX-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         STOP_NMI                # Stop CPUS using NMI instead of IPI
options         AUDIT                   # Security event auditing
#options        KDTRACE_FRAME           # Ensure frames are compiled in
#options        KDTRACE_HOOKS           # Kernel DTrace hooks
options         INCLUDE_CONFIG_FILE     # Include this file in kernel


options         SMP                     # Symmetric MultiProcessor Kernel

options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_IFACE
options NETGRAPH_TEE
options NETGRAPH_UI
options NETGRAPH_VJC
options NETGRAPH_TCPMSS
#options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_BPF
options NETGRAPH_PPTPGRE
options NETGRAPH_PPP
options NETGRAPH_SOCKET
options NETGRAPH_NAT
options NETGRAPH_NETFLOW
options NETGRAPH_SPLIT
options NETGRAPH_KSOCKET
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_LMI
options NETGRAPH_RFC1490
options NETGRAPH_TTY
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC
#options KVA_PAGES=512
device pf
device pflog
device pfsync

Edited by Makariy

Share this post


Link to post
Share on other sites

ЗЫ: как говорил жаб есть 2 типа сетевых: от интела и другое прочее гавно

 

Пычему это "говорил" ? Я жив и продолжаю так говорить. ;-)

 

Убрали карты bce.

Теперь система уходит в kernel panic вообще без сообщения в логе :(

Может попробовать собрать ядро без НАТа, файрвола?

Какие параметры оставить в ядре если нужен только mpd+шейпинг? Клиенты используют шифрование.

 

Что выводит при панике ? Какой backtrace ?

Share this post


Link to post
Share on other sites

Пычему это "говорил" ? Я жив и продолжаю так говорить. ;-)

дык долгих лет тебе о великий и ужасный =) как сам то? как жизь на татуине налаживается? =)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this