Ситуация в 3-х словах такая. Есть система, которая обрабатывает изображения. Система состоит из сервара-хранилища, на котором каталоги с данными расшарены по NFS, и есть машины, на которых работают клиенты (демоны), которые обрабатывают эти данные по запросу, т.е. изображение кладется на хранилище, далее обрабатывается на одной из машин-обработчиков.
Ранее, система состояла из сервера-хранилища, программного RAID5 и клиентов. Соединены были между собой сервер и килиенты при помощи 100 мбит сети и коммутатора. Все работало нормально до момента, когда узким местом стала сеть и обьемы хранилища. Железо было - интеловские серверныйе материнки и такие же сетевухи. Камни - ксеоны.
Было куплено железо (на выбор у меня не было возмоности повлиять, но железо мощное и современное) аппаратный RAID контроллер на хранилище адаптек SATA2, Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz, и материнская плата с сетевухами Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02). Сетевые гигибитные. Было куплены для клиентов на базе core i7 (на них ложится по процессору основная нагрузка на обработку), сетевухи на матерях там такие же.
На всех машинка opensuse 11.1 (сервис обработчик наш, ничего от машинок не требуется - никаких других сервисов кроме работы по NFS).
В итоге столкнулся с проблемами
1. На хранилиище регулярно
в начале
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:219 dev_watchdog+0x11c/0x1ad()
NETDEV WATCHDOG: eth1 (r8169): transmit timed out
Modules linked in: af_packet coretemp(N) binfmt_misc nfs nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq fuse loop dm_mod thermal rtc_cmos rtc_core processor rtc_lib i2c_i801 button sr_mod r8169 mii i2c_core cdrom intel_agp pcspkr sg sd_mod crc_t10dif uhci_hcd ehci_hcd usbcore edd fan thermal_sys hwmon ext3 mbcache jbd ide_pci_generic ide_core ata_piix ata_generic pata_it8213 libata dock megaraid_sas scsi_mod
Supported: No
Pid: 0, comm: swapper Tainted: G 2.6.27.25-0.1-default #1
Call Trace:
[<ffffffff8020da29>] show_trace_log_lvl+0x41/0x58
[<ffffffff8049a616>] dump_stack+0x69/0x6f
[<ffffffff8023d445>] warn_slowpath+0xa9/0xd1
[<ffffffff8043a64b>] dev_watchdog+0x11c/0x1ad
[<ffffffff80246099>] run_timer_softirq+0x18d/0x204
[<ffffffff8024264d>] __do_softirq+0x7d/0x107
[<ffffffff8020d2dc>] call_softirq+0x1c/0x28
[<ffffffff8020e583>] do_softirq+0x2c/0x68
[<ffffffff8024237a>] irq_exit+0x3f/0x85
[<ffffffff8021b66a>] smp_apic_timer_interrupt+0x95/0xae
[<ffffffff8020ccb6>] apic_timer_interrupt+0x66/0x70
[<ffffffffa0183fe7>] acpi_idle_enter_c1+0xe1/0x169 [processor]
[<ffffffff8040ac97>] cpuidle_idle_call+0x8b/0xc8
[<ffffffff8020b04a>] cpu_idle+0x88/0xd0
---[ end trace 4e3b5f32b79e78ab ]---
Далее.
nfsd: last server has exited, flushing export cache
------------[ cut here ]------------
WARNING: at net/ipv4/af_inet.c:154 inet_sock_destruct+0x158/0x171()
Modules linked in: xt_tcpudp iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables af_packet coretemp(N) binfmt_misc nfs nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq fuse loop dm_mod thermal rtc_cmos rtc_core processor rtc_lib i2c_i801 button sr_mod r8169 mii i2c_core cdrom intel_agp pcspkr sg sd_mod crc_t10dif uhci_hcd ehci_hcd usbcore edd fan thermal_sys hwmon ext3 mbcache jbd ide_pci_generic ide_core ata_piix ata_generic pata_it8213 libata dock megaraid_sas scsi_mod
Supported: No
Pid: 2851, comm: nfsd Tainted: G W 2.6.27.25-0.1-default #1
Call Trace:
[<ffffffff8020da29>] show_trace_log_lvl+0x41/0x58
[<ffffffff8049a616>] dump_stack+0x69/0x6f
[<ffffffff8023d4be>] warn_on_slowpath+0x51/0x77
[<ffffffff8046f373>] inet_sock_destruct+0x158/0x171
[<ffffffff8042105a>] sk_free+0x1d/0xd4
[<ffffffff8046eeb0>] inet_release+0x4e/0x54
[<ffffffff8041d8ee>] sock_release+0x19/0x72
[<ffffffff8041d973>] sock_close+0x2c/0x30
[<ffffffff802b24a0>] __fput+0xa1/0x165
[<ffffffffa01e2eac>] svc_sock_free+0x33/0x46 [sunrpc]
[<ffffffffa01ec993>] svc_xprt_free+0x31/0x3d [sunrpc]
[<ffffffff803618e1>] kref_put+0x41/0x4c
[<ffffffffa01ebe36>] svc_close_all+0x4a/0x62 [sunrpc]
[<ffffffffa01e2425>] svc_destroy+0x87/0x127 [sunrpc]
[<ffffffffa022e8ab>] nfsd+0x264/0x27e [nfsd]
[<ffffffff8024fa07>] kthread+0x47/0x73
[<ffffffff8020cf79>] child_rip+0xa/0x11
---[ end trace 4e3b5f32b79e78ab ]---
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Сеть тупит по страшному, при этом нет прокачки через гигабитную сетку на скоростях более 150 мбит\сек (пока таких нагрузок нет, т.е. по сравнению со старой системой где всё в 100 мбит упелось, тут нагрузка пока выше немного). Прокачка в период обработки идет с фиксированной скоростью в течении длительного периода и зависит только от количества запросов, т.е. щас 150 мбит данных только передается.
Порывшись по инету сделал везде так ethtool -K ethХ tso off rx off tx off.
Однако проблема осталась в периодическом отвале NFS шар и последующем и неприсоединении автоматом. При этом на хранилище la 30-40, тогда как на старом было 5-7.
Не знаю куда дальше и копать. Что делать - ума не приложу, железо мощнее, все настройки NFS притащил со старой системой. Но такое ущущение, что при работе сети какие-то сбои, а я их отследить не могу.
Помогите!!!!!!
Помогите!!!!!!
Помогите!!!!!!
Да, ОС регулярно обновляю (раз в 2 недели). Думаю, вдруг в ядре или где глюк.