суббота, 29 августа 2009 г.

Сервер AltLinux на материнской плате Asustek с RAID контроллером


Недавно собирал сервер для офиса, но использовать стандартные 19'' решения не хотелось, как по причине стоимости, так и из за габаритов и шума. Кроме того, необходимо использовать нормальный RAID контроллер, так как я уже сталкивался с проблемами с поломкой жесткого диска. Выбор пал на LSI SAS3041, как недорогое, но в тоже время достаточное решение, для организации RAID 1 - зеркала с резервным диском. Этот контроллер выпускается в двух модификациях с шиной PCI-X или PCI Express x4. Согласно стандарту на шине PCI Express должна поддерживается обратная совместимость, т.е. в разъем x16 можно вставить карту x4 или x8. Тем не менее, не все производители в бытовом секторе, рассчитывают, что могут существовать карты PCI Express отличные от видеоадаптеров. Разобраться будет ли все четко работать, не купив конкретную материнку практически невозможно. В результате я выбрал PCI-X версию RAID контроллера.
Подобный выбор сокращает количество материнских плат среди плат Asustek для процессоров на 775 сокете, ниже приведен список материнских плат - с указанием интегрированной сетевой карты:
P5E WS Professional - 2 x Marvell88E8056 Dual Gigabit LAN controller
P5E3 WS Professional - 2 x Marvell88E8056 Dual Gigabit LAN controller
P5Q WS - Realtek 2 x 8111C Dual Gigabit LAN
P5WDG2 WS PRO/WIFI-AP - Marvell 88E8052 + 88E8001PCI-E Dual Gigabit/ LAN controller Support Teaming Technology
P5NT WS - NVIDIA built-in dual Gigabit MAC with external Marvell 88E1116 PHY

Информации о поддержке в AltLinux сетевых карт на базе чипсета Marvell, я не нашел, про Nvidia – попадалась вполне конкретная информация про несовместимость. Остается единственный выбор – ASUS P5Q WS.
После сборки компьютера, вылезла первая проблема, со входом в конфигурацию RAID контроллера, так как нахватало памяти, чтобы загрузить BIOS контроллера. Эта проблема решилось выключением ненужного функционала материнской платы, в частности BIOS`а встроенного fake RAID Marvell 88SE6121.
Система подставилась нормально, конфигурация сети прошла отлично ничто не предвещало гимороя. Но, как оказалось, были серьезные проблемы с сетевым контроллером, но я это заметил не сразу, так как конфигурировал бридж на интерфейсе и думал что проблема в моих руках. Проблема оказалась в том, что вместо положенного для Realtek RTL8111/8168B драйвера загружался r8169, в результате, сетевые карты работали только в случае, когда физически, они подключались после загрузки системы. Такое странное поведение заметно усложнило диагностику проблемы.
Решение: установить подходящее ядро, которое можно найти

# apt-cache search 8168.

И включить ненавистный r8169 в черный список:
# cat  /etc/modprobe.d/blacklist | grep 8169
blacklist r8169

После этого все работает замечательно.
Какой вывод я сделал из этой истории? В следующий раз, не нужно е@#$ себе мозг и брать серверную мать от зарекомендовавшей себя компании, такой как Intel из серии S3200SH. S3210SHLX выглядит наиболее оптимально: видеокарту брать не нужно; есть нормальные PCI Express и PCI-X, кстати по линейке контроллеров LSI складывается ощущение, что наличие PCI Express более востребовано. Правда придется заморочится с блоком питания и цена ее повыше.

Комментариев нет: