При работе возникают странные тормоза - вот например список последовательных выполнений скриптика, который дважды пишет на диск файлик со случайными данными размером 64 мегабайта и читает его, а потом ждет 10 секунд и все сначала:
16.331s
4.313s
4.691s
16.008s
4.829s
5.017s
4.958s
28.511s
4.987s
(получено примерно так: while true; do time slow 1 64 && sleep 10; done и из сохраненного вывода уже грепом время вытащено).
Slow - это программа на C, второй параметр - размер файла, исходник упомянут тут:
http://www.namesys.com/benchmarks.html# ... .6.8.1-mm3
взят отсюда:
http://www.jburgess.uklinux.net/slow.c
обсуждался тут:
http://marc.theaimsgroup.com/?l=linux-k ... 608384&w=2
То время, которое около 5 секунд - нормальное. При таких запусках огоньки на трех дисках горят все время записи, на HotSpare ничего не горит.
Когда время 16 и 28 секунд происходит следующее: некоторое время могут гореть такие же 3 LED'а, потом они гаснут и некоторое время ничего не происходит. С точки зрения ОС процессы выполняются, те, которые пытаются обращаться к диску висят в WAIT, огоньки не мигают, диски не шуршат, чтения-записи на диски с точки зрения ОС не происходит.
Потом мигают все четыре (!) LED'а (и HotSpare тоже! - как при начальной инициализации контроллера при включении сервера) и после небольшой задержки начинают гореть обычные 3 LED'а, данные передаются, все работает.
Если писать более крупными блоками, это может произойти несколько раз. Иногда может "повезти" и более крупный блок запишется без тормозов. Однако вероятность такой записи блока размером, например, 512 мегабайт - не более 1%.
Сначала думали, что дело в ОС. Когда-то стояло ядро 2.4 с неким старым драйвером, потом стояло 2.6.7 с новым драйвером, потом этот новый драйвер включили в ядро в октябре этого года - поставили 2.6.9 уже с ним, сейчас в ноябре в 2.6.10.pre появилась новый вариант драйвера и стоит как раз ядро с таким, последним вариантом.
До перехода на 2.6.9 подобных тормозов было совсем много, сейчас стало немного лучше, но нормальной работой это все равно не назовешь.

Разнообразные варианты файловых систем тоже пробовали, везде одна и таже картина. В логах ничего, как будто никаких проблем, устройство просто "думает". Общая скорость (ориентировочно) 25 мегабайт в "нормальном случае" и 5 мегабайт в случае с тормозами (в секунду). Увы, такая разница для нас критична.
Пробовали FreeBSD (Live CD, newfs на один из разделов, копирование туда больших файликов) - таже картина, иногда тормозит, иногда нормально копирует, такая же картина с LED'ами.
Перерыли инет, есть упоминание:
https://lists.sdsc.edu/pipermail/npaci- ... 01846.html
о похожих проблемах с этим контроллером и "елкой" (Riser Card), но материнка и "елка" там другие. К сожалению, в наше шасси без елки контроллер не влезает, мешает разъем сети на материнке.
Любые попытки найти концы в логах ни к чему не привели. Массив "мониторим" MegaMGRом (аналогом того, что в bios), никаких проблем, все Optimal, Online, отключение HotSpare никаких изменений не принесло.
Информация по котроллеру и драйверу:
megaraid cmm: 2.20.2.2 (Release Date: Thu Nov 4 17:46:29 EST 2004)
megaraid: 2.20.4.1 (Release Date: Thu Nov 4 17:44:59 EST 2004)
megaraid: probe new device 0x1000:0x1960:0x1000:0x0520: bus 2:slot 1:func 0
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 48 (level, low) -> IRQ 48
megaraid: fw version:[1L37] bios version:[G119]
scsi0 : LSI Logic MegaRAID driver
scsi[0]: scanning scsi channel 0 [Phy 0] for non-raid devices
Vendor: SUPER Model: GEM318 Rev: 0
Type: Processor ANSI SCSI revision: 02
scsi[0]: scanning scsi channel 1 [virtual] for logical drives
Vendor: MegaRAID Model: LD0 RAID5 70004R Rev: 1L37
Type: Direct-Access ANSI SCSI revision: 02
Единственная идея, которая еще осталось - убить все, поставить винду и посмотреть, как оно будет вести себя под ней. Но на сервере в любом случае должен будет стоять Linux, так что такие эксперименты хочется оставить напоследок.
Может быть кто-нибудь сталкивался с подобными проблемами или может истолковать, что может означать такое поведение контроллера, или посоветовать какие-нибудь еще методики тестирования или отладки, которые позволят получить информацию о происходящем и найти решение?