Итак.. Есть проблема, которая связана с работой Adaptec 2120S во FreeBSD разных версий. Эта проблема - скорость.
Имеется два сервера след. конфигурации:
server1: P4 3Ghz, Intel 875, 1Gb RAM, Promise + RAID 0(из 2-х IDE Seagate 80Gb) Операционка: FreeBSD 5.1
server2: P4 3,2Ghz, Intel 865, 1Gb RAM, Adaptec 2120S + RAID 0(из 8-ми!!! SCSI Fujitsu 70Gb) Операционки: FreeBSD(4.11, 5.2, 5.3, 5.4) Windows XP SP2 Corporate
Тестирование производительности проводил максимально просто: ставлю голую ОС, компилю ядро без всяких лишних вещей, скачиваю ports.tar.gz и распаковываю все это дело в /usr. При установки ОС специально создаю отдельный раздел /usr1. Затем запускаю:
time cp -pR /usr/ports /usr1/
и на другой консоли смотрю загрузку дисков через iostat или systat -vmstat
Самое интересное в этой истории, что результаты получаются приблизительно одинаковые на всех серваках(180-200 сек. при средней скорости 4МБ/сек ). Причем я специально собирал RAID 0 из 2-х, 4-х, 8-ми SCSI дисков и результаты почти одинаковые!!!
Т.е. получается, что RAID 0 из 2-х IDE = RAID 0 из 8 SCSI !!!
Про RAID 5+0 (ради которого покупался данный контроллер) вообще молчу - там скорость была еще в 2 раза меньше.
Я конечно понимаю, что такое тестирование слишком далеко от идеала, т.к. и пишется все с одного диска на тот же, и кеширование включено и sync, но ведь даже если грубо прикинуть и сравнить в уме скорость работы 2-х шпинделей и 8-ми, то оно должно отличаться, ну хотя бы в 2 раза.
В результате поставил винду с родными адаптековскими дровами - там все летало на действительно большой скорости.
Перечитал все что только мог (или нет???) и пришел к выводу, что дело в драйвере aac для адаптековских контроллеров, а точнее в его кривой реализации для FBSD.
Если я не прав, то подскажите плиз, в какую сторону рыть, или хотя бы посмотрите сколько занимает у вас подобное копирование портов с одного раздела на другой в рамках одного диска.
p.s. Есть подозрение, что если такая проблема и впрямь существует, то она должна проявляться и на других адаптековских адаптерах, т.к. драйвер один для всех.