Ключевые слова:openbsd, disk, raid, driver, (найти похожие документы)
From: Cinos <sonic@sonic.netfort.ru.>
Date: Sat, 23 Apr 2005 21:34:07 +0600 (YEKST)
Subject: Включаем поддержку LSI MegaRaid 320-2X в OpenBSD
Столкнулся я недавно с одной проблемой. Есть у меня сервачок на
котором крутиться OpenBSD (на данный момент 3.7 snapshot).
Пользователи через него по pptp и pppoe в инет ходят. Некоторые
сетки через виланы получают. Статистика в базу собираеться обрабатываеться
и через веб выдаеться. На днях автономку поднял на OpenBGP.
Стоял у меня сервачёк на RedHat AS 3.0 (до меня поставленный) в качестве
фаэрвола. Сайтов много да и серьёзные, вот и решил я заменить его на
свой OpenBSD-шный. Да вот проблема, уговорили мы начальство и
заменили пол года назад все серваки на HP DL380-G3 и G4. А
поддержки контроллеров SmartArray 5i и 6i в опене нет да и
вижу, что не скоро она появиться (год за этим следил, но вот прижало).
И решил я поискать SCSI контроллер чтоб hotswap поддерживал, PCI-X 64/133 был
да RAID 1 умел, и в OpenBSD работал. Перерыл инет, поспрашивал не густо
оказалось. Посмотрел LSI MegaRaid 320-2X, hotswap c hp корзинами в норме
(проверил), RAID умеет двух канальный, то что надо (где-то нашёл, не на
сайте производителя, что и I2O поддерживает). Взял я его потестить
установил сконфигурил RAID 1. Взлял опен из cvs снапшот последний скачал.
Собрал запустиля на опсс OpenBSD мне и говорит человеческим голосом
устройство Symbios Logic ревизия два номер 0x0407 в режиме mass storage.
Расстроился я зашёл на сайт опена и смотрю
American Megatrends Inc. MegaRAID controllers in "Mass Storage" mode (ami), including: (A) (C)
Dell CERC-PATA, PERC 2/DC, PERC 3/DC, PERC 3/DCL, PERC 3/QC, PERC 3/SC, PERC 4/DC, PERC 4/SC, Dell PERC 4/Di, PERC 4/Si
Hewlett-Packard 438, 466, and T[567]
LSI/AMI MegaRAID
LSI/Symbios 523 SATA
Symbios поддерживаеться только SATA 523
в инете нашёл
LSI MegaRAID SATA 150-2 534
LSI MegaRAID SATA 150-4 523
LSI MegaRAID SATA 150-6 523
покапался в ядре и понял что поддержка включена только LSI MegaRAID SATA 150-4 523
Покопался в драйвере ami_pci.
И решил попробовать добавить его хотябы в I2O режиме.
В нём он должен был пойти.
Берём исходники, распаковываем в /usr/src/
В /usr/src/sys/dev/pci/ami_pci
Находим выделенное и добавляем строку
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID, 0 },
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SATA8, 0 },
// Строка указывает на устройство которое мы опишем
>{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID1, 0 },
{ 0 }
{ 0x45231000, "LSI 523" },
// Важны первые 4 цыфры 2- двух канальный 532 номер модели
>{ 0x25321000, "LSI 320-2X" },
{ 0 }
Далее файл в этом же каталоге
pcidevs
product SYMBIOS MEGARAID 0x1960 MegaRAID
product SYMBIOS SATA8 0x0409 MegaRAID SATA 8x
//0x0407 выдала нам опенвсд при загрузке
> product SYMBIOS MEGARAID1 0x0407 MegaRAID 320-2X
Далее
pcidevs.h
#define PCI_PRODUCT_SYMBIOS_MEGARAID 0x1960 /* MegaRAID */
#define PCI_PRODUCT_SYMBIOS_SATA8 0x0409 /* MegaRAID SATA 8x */
>#define PCI_PRODUCT_SYMBIOS_MEGARAID1 0x0407 /* MegaRAID 320-2X*/
И наконец
pcidevs_data.h
{
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID,
"MegaRAID",
},
{
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SATA8,
"MegaRAID SATA 8x",
},
>{
> PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID1,
> "MegaRAID 320-2X",
>},
Ну чтож в ядро поддержку добавили теперь надо запустить инсталяшку с новым ядром.
Заходим в /usr/src/distrib/crunch
там две папки в них
make
make install
В /usr/src/distrib/i386/cdfs
make
получили cd37.iso
записывайте его на болванку
Это загрузочный диск для инсталяции.
Далее в /usr/src/sys/arch/i386/conf
config GENERIC
cd ../compile/GENERIC/
make clean # если раньше собирали GENERIC ядро
make depend
make
получившийся файл bsd копируем на сд /3.7/i386/bsd поверх того что взяли со снапшота
это ядро запуститься после инсталяции системы.
Если вы хотите использовать SMP собираете GENERIC.MP и бросаете его
поверх bsd.mp
Загружаемся С загрузочного (созданого нами ) cd37.iso
Все подхватилось всё работает.
доходим до установки пакетов меняем на второй диск на котором заранее поменяли
bsd, bsd.mp по вкусу.
Контроллер будет работать как в I2O так Mass Storage режиме.
Поскольку у меня будет база данных на контроллере
включил режим записи WRITEBACk добалю BBU и памяти 512.
Скорость в этом режиме отличная.
Аналогичное можно проделать и с другими контроллерами данной серии, я так
и не могу понят почему в OpenBSD их до сих пор не добавили
(правда там не одна такая мелочь чего только стоит
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
return 1; /* can't tell */
> strlcpy(ifr.ifr_name, "ppp0", sizeof(ifr.ifr_name));
ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
А зачем на сервере больше одного модема, хотя я всеравно любля эту
операционку. Приходиться дотачивать :-)), не такие уж они и новые.
Удачи всем.
У кого есть эти модели добавте строки. Ну а кто входит в группу
разработчиков опена добавте в неё.
>>>>> LSI MegaRAID SCSI 320-0 520-0
>>>>> LSI MegaRAID SCSI 320-1 520
>>>>> LSI MegaRAID SCSI 320-2 518
>>>>> LSI MegaRAID SCSI 320-2X 532
>>>>> LSI MegaRAID SCSI 320-4X 531
>>>>> LSI MegaRAID SCSI 320-2 EEP078
>>>>> LSI MegaRAID SATA 150-2 534
>>>>> LSI MegaRAID SATA 150-4 523
>>>>> LSI MegaRAID SATA 150-6 523