ViacheslavR Posted August 6, 2014 (edited) Добрый день. Имеется сервер который раз в 2-3 дня ядро фряхи на котором паникует, в результате чего сервер перезагружается. Нагрузка судя по cacti с ребутами никак не коррелирует. FreeBSD 10.0-RELEASE-p5 Ядро кастомное добавлен только NetGraph На что подозрения: netstat -m [quote]65555/6955/72510 mbufs in use (current/cache/total) 65542/3682/69224/512000 mbuf clusters in use (current/cache/total/max) 65542/3664 mbuf+clusters out of packet secondary zone in use (current/cache) 0/18/18/256000 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/301750 9k jumbo clusters in use (current/cache/total/max) 0/0/0/169734 16k jumbo clusters in use (current/cache/total/max) 147472K/9174K/156647K bytes allocated to network (current/cache/total) [b]1427/39763/65831 requests for mbufs denied (mbufs/clusters/mbuf+clusters)[/b] 0/0/0 requests for mbufs delayed (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters delayed (4k/9k/16k) 18/0/0 requests for jumbo clusters denied (4k/9k/16k) 0 requests for sfbufs denied 0 requests for sfbufs delayed 0 requests for I/O initiated by sendfile [/quote] vmstat -z [quote]ITEM SIZE LIMIT USED FREE REQ FAIL SLEEP UMA Kegs: 384, 0, 101, 9, 101, 0, 0 UMA Zones: 3712, 0, 101, 0, 101, 0, 0 UMA Slabs: 80, 0, 3154, 46, 24692, 0, 0 UMA RCntSlabs: 88, 0, 34634, 16, 34634, 0, 0 UMA Hash: 256, 0, 1, 14, 8, 0, 0 4 Bucket: 32, 0, 34, 2966, 1331, 0, 0 8 Bucket: 64, 0, 157, 2881, 7424, 0, 0 [b]16 Bucket: 128, 0, 288, 2719, 551, 36, 0 32 Bucket: 256, 0, 262, 1463, 862, 159, 0 64 Bucket: 512, 0, 408, 360, 1109, 119, 0 128 Bucket: 1024, 0, 914, 898, 18165, 26, 0 vmem btag: 56, 0, 19223, 1864, 19223, 298, 0 VM OBJECT: 256, 0, 1567, 1913, 155768, 0, 0 RADIX NODE: 144, 0, 5755, 1886, 301975, 59, 0[/b] MAP: 240, 0, 3, 61, 3, 0, 0 KMAP ENTRY: 128, 0, 6, 273, 6, 0, 0 MAP ENTRY: 128, 0, 823, 4695, 471875, 0, 0 VMSPACE: 448, 0, 25, 794, 11021, 0, 0 fakepg: 104, 0, 0, 0, 0, 0, 0 mt_zone: 4112, 0, 364, 0, 364, 0, 0 16: 16, 0, 9394, 1901, 640000, 0, 0 32: 32, 0, 24170, 3205, 772980, 0, 0 64: 64, 0, 54924, 2178, 320171, 0, 0 128: 128, 0, 133083, 3348, 543027, 0, 0 256: 256, 0, 3258, 1332, 259155, 0, 0 512: 512, 0, 1294, 450, 32583, 0, 0 1024: 1024, 0, 108, 752, 73759, 0, 0 2048: 2048, 0, 246, 162, 16089, 0, 0 4096: 4096, 0, 602, 351, 19095, 0, 0 uint64 pcpu: 8, 0, 6300, 1508, 6732, 0, 0 SLEEPQUEUE: 80, 0, 526, 2357, 526, 0, 0 Files: 80, 0, 135, 3015, 99306, 0, 0 TURNSTILE: 136, 0, 526, 1014, 526, 0, 0 rl_entry: 40, 0, 314, 2686, 314, 0, 0 umtx pi: 96, 0, 0, 0, 0, 0, 0 MAC labels: 40, 0, 0, 0, 0, 0, 0 PROC: 1208, 0, 44, 166, 11039, 0, 0 THREAD: 1168, 0, 397, 128, 2158, 0, 0 cpuset: 72, 0, 206, 1554, 274, 0, 0 audit_record: 1248, 0, 0, 0, 0, 0, 0 [b]mbuf_packet: 256, 13035630, 65527, 3679, 1191484,65831, 0 mbuf: 256, 13035630, 25, 3354, 1054682,1491, 0 mbuf_cluster: 2048, 512000, 69206, 18, 69206,39763, 0 mbuf_jumbo_page: 4096, 256000, 0, 22, 196, 22, 0[/b] mbuf_jumbo_9k: 9216, 301750, 0, 0, 0, 0, 0 mbuf_jumbo_16k: 16384, 169734, 0, 0, 0, 0, 0 mbuf_ext_refcnt: 4, 0, 0, 0, 0, 0, 0 NetGraph items: 72, 65565, 1, 3378, 111256, 0, 0 NetGraph data items: 72, 65565, 1, 3874, 997677, 0, 0 g_bio: 248, 0, 0, 1648, 14061, 0, 0 ttyinq: 160, 0, 180, 920, 765, 0, 0 ttyoutq: 256, 0, 95, 1015, 407, 0, 0 ata_request: 336, 0, 0, 0, 0, 0, 0 vtnet_tx_hdr: 24, 0, 0, 0, 0, 0, 0 FPU_save_area: 832, 0, 0, 0, 0, 0, 0 VNODE: 472, 0, 777, 383, 818, 0, 0 VNODEPOLL: 112, 0, 0, 0, 0, 0, 0 BUF TRIE: 144, 0, 101, 105847, 1045, 0, 0 NAMEI: 1024, 0, 0, 340, 161661, 0, 0 S VFS Cache: 108, 0, 763, 2387, 7058, 0, 0 STS VFS Cache: 148, 0, 0, 0, 0, 0, 0 L VFS Cache: 328, 0, 0, 0, 0, 0, 0 LTS VFS Cache: 368, 0, 0, 0, 0, 0, 0 DIRHASH: 1024, 0, 54, 78, 54, 0, 0 NCLNODE: 528, 0, 0, 0, 0, 0, 0 Mountpoints: 816, 0, 4, 36, 4, 0, 0 pipe: 744, 0, 13, 342, 8399, 0, 0 procdesc: 128, 0, 0, 0, 0, 0, 0 ksiginfo: 112, 0, 201, 2564, 238, 0, 0 itimer: 352, 0, 1, 32, 1, 0, 0 KNOTE: 128, 0, 3, 152, 3, 0, 0 socket: 696, 1046775, 57, 363, 41130, 0, 0 unpcb: 240, 1046784, 12, 1460, 8546, 0, 0 ipq: 56, 16046, 0, 0, 0, 0, 0 udp_inpcb: 392, 1046780, 19, 801, 32328, 0, 0 udpcb: 16, 1046921, 19, 2993, 32328, 0, 0 tcp_inpcb: 392, 1046780, 7, 603, 139, 0, 0 tcpcb: 1024, 1046776, 7, 269, 139, 0, 0 tcptw: 88, 27810, 0, 0, 0, 0, 0 syncache: 160, 15375, 0, 450, 28, 0, 0 hostcache: 136, 15370, 1, 86, 1, 0, 0 tcpreass: 40, 32000, 0, 0, 0, 0, 0 sackhole: 32, 0, 0, 0, 0, 0, 0 sctp_ep: 1408, 1046776, 0, 0, 0, 0, 0 sctp_asoc: 2352, 40000, 0, 0, 0, 0, 0 sctp_laddr: 48, 80012, 0, 2324, 114, 0, 0 sctp_raddr: 728, 80000, 0, 0, 0, 0, 0 sctp_chunk: 136, 400026, 0, 0, 0, 0, 0 sctp_readq: 104, 400026, 0, 0, 0, 0, 0 sctp_stream_msg_out: 104, 400026, 0, 0, 0, 0, 0 sctp_asconf: 40, 400000, 0, 0, 0, 0, 0 sctp_asconf_ack: 48, 400060, 0, 0, 0, 0, 0 ripcb: 392, 1046780, 0, 670, 89, 0, 0 rtentry: 200, 0, 466, 894, 506, 0, 0 IPFW dynamic rule: 120, 4125, 0, 0, 0, 0, 0 divcb: 392, 1046780, 0, 0, 0, 0, 0 selfd: 56, 0, 279, 2774, 978745, 0, 0 SWAPMETA: 288, 4073641, 0, 0, 0, 0, 0 FFS inode: 168, 0, 726, 1045, 765, 0, 0 FFS1 dinode: 128, 0, 0, 0, 0, 0, 0 FFS2 dinode: 256, 0, 726, 1044, 765, 0, 0 NetFlow IPv4 cache: 88, 1048606, 3471, 3783, 32086, 0, 0 NetFlow IPv6 cache: 128, 1048606, 0, 0, 0, 0, 0 [/quote] Тюнинг loader.conf [quote]hw.igb.rxd=4096 hw.igb.txd=4096 hw.ix.rxd=4096 hw.ix.txd=4096 net.graph.maxdata=65536 net.graph.maxalloc=65536 hw.igb.max_interrupt_rate=32000 hw.ix.max_interrupt_rate=32000 net.isr.defaultqlimit=4096 net.link.ifqmaxlen=10240 kern.ipc.semmnu=256 kern.ipc.semmns=32000 kern.ipc.shmmni=4096 net.isr.maxthreads=18 kern.ipc.nmbufs=0 kern.ipc.nmbclusters=512000 kern.ipc.nmbjumbop=256000 [/quote] sysctl.conf net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 kern.ipc.somaxconn=32768 net.inet.tcp.syncookies=1 net.inet.icmp.bmcastecho=0 net.inet.tcp.drop_synfin=1 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.ip.redirect=0 net.inet6.ip6.redirect=0 net.inet.ip.sourceroute=0 net.inet.ip.sourceroute=0 net.inet.icmp.maskrepl=0 net.inet.icmp.icmplim=10000 net.inet.tcp.msl=7500 net.inet.ip.portrange.first=1024 net.inet.ip.portrange.last=65535 net.inet.ip.intr_queue_maxlen=10240 net.route.netisr_maxqlen=10240 #kern.ipc.maxsockets=512000 net.inet.tcp.sack.enable=1 hw.intr_storm_threshold=9000 net.graph.maxdgram=8388608 net.graph.recvspace=8388608 kern.ipc.maxsockbuf=83886080 kern.maxfiles=512000 kern.maxfilesperproc=131072 #kern.ipc.nmbufs=0 kern.ipc.nmbclusters=512000 kern.ipc.nmbjumbop=256000 kern.ipc.nmbjumbo9=128000 kern.ipc.nmbjumbo16=64000 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.point_to_point=0 kern.random.sys.harvest.interrupt=0 net.inet.raw.maxdgram=16384 net.inet.raw.recvspace=16384 kern.threads.max_threads_per_proc=16384 net.inet.ip.fastforwarding=1 net.inet.tcp.fast_finwait2_recycle=1 ########################### dev.igb.0.rx_processing_limit=4096 dev.igb.1.rx_processing_limit=4096 dev.ix.0.rx_processing_limit=4096 dev.ix.1.rx_processing_limit=4096 Сетевые карты igb Intel I350 Edited August 6, 2014 by ViacheslavR Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted August 6, 2014 (edited) FreeBSD х86 или х64? В мпд используете нетфлоу? Какое кол-во соединений в момент падания? Edited August 6, 2014 by GrandPr1de Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ViacheslavR Posted August 6, 2014 x64, да использую, количество всегда разное может даже и при минимальной нагрузке рухнуть. Минимум на нем 150 сессий максимум до 1000. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted August 6, 2014 (edited) У меня была очень большая беда с netflow + mpd5. set netflow peer localhost 42111 set netflow timeouts 15 1800 set netflow version 5 Примерно такие строки, да? Дело в том, что нужно уносить оттуда netflow, ибо на каждый новый коннект оно создает ещё 2 доп. ноды. Когда подвисает сессия нетфлоу - машина может вести себя по разному. У меня паник не было, он просто замирал. Даже консоль замирала, никакой реакции не отдавала. Попробуйте выключить сперва netflow на mpd. У меня после выключения пошли стабильные аптаймы, а до этого за месяц могло раз 10 вываливаться. + ещё 2 ссылки, почитайте, может найдете чего полезного Обсуждение по сабжу Мои попытки сделать нетфлоу на одной ноде Да и не мешало б откатится на 9.2, т.к. 10 ещё сыровата. Какой функционал из 10-ки вам нужен? Может проще просто на 9.2 перейти и не заниматься гемороем. Edited August 6, 2014 by GrandPr1de Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ViacheslavR Posted August 7, 2014 mpd.conf #netflow export set netflow peer aa.bb.cc.dd 2009 set netflow timeouts 60 120 ............................... set iface enable netflow-in netflow-out ................................... честно говоря не уверен насчет нетфлоу, т.к. есть еще сервера с абсолютно теми же настройками правда под 8.1, 8.2 Собственно до 10-ки этот же сервак крутился на 9.2, глюки те же. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted August 7, 2014 А вы уверенны что вам нужен такой тюнниг системы? Столько всего в sysctl\loader.conf Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ViacheslavR Posted August 7, 2014 А что там лишнего? на мой взгляд вполне себе обычные настройки для таких задач. UPD 1) убрал с интерфейсов igb lrob tso, добавил vlanhwfilter, txcsum, rxcsum 2) Заметил что ошибки mbuf, mbuf+cluster начинают расти только при отключении/включении интерфейсов igb немного снизился load average, вторые сутки полет нормальный. ------------------- Т.к. ната нет, то планирую убрать нетфлоу с каждой ноды, а снимать только с внешнего интерфейса, кроме того наверное отключу HT Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted August 7, 2014 kern.ipc.somaxconn=32768 net.inet.tcp.syncookies=1 net.inet.tcp.drop_synfin=1 net.inet.tcp.msl=7500 net.inet.tcp.sack.enable=1 net.inet.tcp.fast_finwait2_recycle=1 Чем этот роутер у вас занимается что вы применили выше написанное? По поводу выносу нетфлоу - правильное решение. txcsum,rxcsum - не нужно, ещё нужно проверить наличие flowcontrol - и тоже повыключать, лично у меня в сети с флоуконтролом проблемы. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ViacheslavR Posted August 7, 2014 kern.ipc.somaxconn=32768 - защита от synflood. "Large listen queues do a better job of avoiding Denial of Service (DoS) attacks".(FreeBSD Handbook) net.inet.tcp.syncookies=1 Включение механизма syncookie когда syncache переполнен, тоже защита от ddos net.inet.tcp.drop_synfin=1 - T/TCP не нужен net.inet.tcp.msl=7500 -60 сек в состоянии TIME_WAIT долго(default 30000) 15 сек хватит net.inet.tcp.sack.enable=1 TCP Selective Acknowledgements RFC2018 http://tools.ietf.org/html/rfc2018 net.inet.tcp.fast_finwait2_recycle=1 -быстрое закрытие соединений в состоянии fin_wait2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 7, 2014 net.inet.tcp Это касается только трафика между хост системой и клиентами и совершенно никак не касается транзитного трафика. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
snvoronkov Posted August 7, 2014 net.inet.tcp Это касается только трафика между хост системой и клиентами и совершенно никак не касается транзитного трафика. Как, собственно, и оставшийся somaxconn Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...