Оптимизация Gentoo для NAS
Перво-наперво позвольте поздравить всех с наступающим Новым Годом!
Так получилось что перед НГ мне пришлось поработать вот над какой задачкой - создать NAS сервер.
Железо имеется неслабое - 2 x Xeon 2.8 + 2Gb памяти и внешний SCSI RAID массив пока на 2Тб (дальше - больше).
Поскольку работаю я в FreeBSD и с Linux не знаком - решил поставить Gentoo (собственно source-based + portage меня и привлекло). Linux до этого видел пару раз на уровне "на экране у знакомого".
Все успешно установил, заюзав genkernel --menuconfig - добавил немного драйверов модулями (все дрова только из исходников ядра). Параллельно опробовал графический инсталлер. Штука прикольная, но увы, пока нерабочая :-(
Делал все как в руководстве, ручками...
Но возникли некоторые проблемы:
1. Как делать тюнинг SCSI контроллера (LSI Logic Fusion MPT) - никак не пойму - есть ли у драйвера какие-то параметры и как их настраивать. Есть тихое подозрения что интерфейс не поднимается в 320, хотя и контроллер и массив на это рассчитаны.
2. Автомонтирование файловой системы прописанной в fstab - если драйвер контроллера грузиться как модуль (это я сделал потому как если его вкомпилить то он обзывается /dev/sda а если как модуль - то /dev/sdc - а еще имеется 2 SATA системных диска и не хочется чехарды с названиями устройств - меняешь ядро а они скачут :-) ). Диск RAID-а приходится пока монтировать в ручную :-)
3. Оптимизация дисковой системы в целом и XFS в частности - где читать, какие параметры крутить. Как проверить и включить NCQ на системных SATA дисках?
4. Оптимизация сетевого стека и драйвера сетевых карт (интегрированные на мамке 2-гигабитных контроллера) - где читать, что крутить.
5. Оптимизация SAMBA - нигде ничего толкового вообще нет, только рекомендации по настройке ядра 2.2 и дибильный совет включить wide links (якобы проверка симлинков иначе занимает много времени).
6. Как загружать модули для управления SpeedStep я разобрался (подробная инструкция есть на сайте Intel как ни странно) а вот как установить governor "on_demand" для процессоров прямо при загрузке не понимаю - не могу понять как вообще в linux устроена автозагрузка (во фрюхе был /usr/local/etc/rc.d а тут /etc/init.d и непонятный rc-update) - хочется чтобы сервер в отсутствии нагрузки меньше грелся и как следствие шумел. Быть может есть какие-то модули для управления винтокрылами серверных плат Intel?
Вся оптимизация преследует одну цель - как можно более быстрая прием-передача по гигабитной сети файлов размером в несколько гигабайт. Такой внутренний сервер для оперативного обмена видео-материалами внутри здания.
Пока скорости не поднимаются выше 45Мб/сек, типовое значение 30Мб/сек ну и провалы до 20Мб/сек (но это рабочие станции видимо тормозят уже).
netperf показывает что на пакетах в 64к - 85мб/сек ходит по сети, RAID-массив на дает примерно 90-100Мб/сек в пике.
Буду рад любым полезным советам. В Linux вообще и Gentoo в частности первый раз просто, хотя начал, вроде, приличным темпом :-)
- Для комментирования войдите или зарегистрируйтесь
На мой взгляд, можно прописать правила Udev, чтобы устройства имели постоянные имена на основе серийного номера самого устройства.
http://www.gentoo.org/doc/en/udev-guide.xml
echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Эту строчку надо прописать в /etc/conf.d/local.start