четверг, 23 августа 2012 г.

Добавляем дрова на RAID контроллер для Adaptec RAID 6805 в FreeNAS (Nas4free, FreeBSD)

Для NAS4Free (FreeBSD 9) драйверов к Adaptec RAID 6805 пока нет, но когда появятся принцип подключения будет тотже.

2-а Варианта внедрения драйверов:

1-ый ВАРИАНТ - полуавтоматический:


Плюсы:
    +++ не приходится каждый раз копировать и прогружать модули драйверов для контроллера
    +++ не требуется дополнительных носителей и морочится с монтирование разных систем для дальнейшего копированаия модулей

Минусы:
    --- Нужно редактировать оригинальный ISO образ, хотя там все просто :)


На мой взгляд попроще и попрактичней - добавляем драйвера в установочный образ.
Чтобы в дальнейшем по сто раз не монтировать к примеру флешку и не вытягивать с нее модули.

1) Добавляем в образ файлики в папку /boot/kernel (к примеру программой ISO Master):
aacu.ko
aacu64.ko

2) Редактируем /boot/loader.conf (добавлем на автозагрузку модули)
aacu_load="YES"
aacu64_load="YES"

3) Ставим FreeNAS (NAS4Free)

4) Еще раз запускаемся с LiveCD и теперь добавляем драйвера на автозагрузка в установленную систему или сразу после установки опять входим в "Shell":
# mkdir /mnt/hdd

Монтируем установленную систему (если пишет что-то типа "GEOM: ufsid/3c3103ad62baad03: geometry does not match label (16h,63s != 16h,255s)." - вероятней всего вы монтируете не тот раздел, посмотреть возможные разделы можно примерно так "ls -l /dev/aac*")
# mount -t ufs /dev/aacd0s1a /mnt/hdd
# cp /cdrom/boot/modules/acc* /mnt/hdd/boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /mnt/hdd/boot/loader.conf
aacu_load="YES"
aacu64_load="YES"



2-ой ВАРИАНТ - Ручной:



Плюсы:
    +++ Оригинальный образ и все делаеться средствами системы, кроме дров ничего не надо.

Минусы:
    --- все делается ручками
    --- требуются дополнительные носители, на которых располагаются драйвера.


1) Скидываем на наш носитель драйвера а конкретно нас интересует только два файлика:
aacu.ko
aacu64.ko

2) Грузимся с LiveCD и заходим в "Shell"

3) Вставляем и монтируем нашу флешку, у меня FAT32 (если у Вас NTFS, соответственно тип пишем "-t ntfs"):

Чтобы определить букву флешки можно заглянуть в dmesg или на консоль плюнет сообщение (перемещаться вверх вниз по консоли можно нажав кнопку "ScrLk").
Не забываем, что монтируем разделы а не устройства.
# mkdir /mnt/flash
# mount -t msdosfs /dev/da0s1 /mnt/flash
# cp /mnt/flash/acc* /boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /boot/loader.conf
aacu_load="YES"
aacu64_load="YES"

4) Подгружаем драйвера на живую в зависимости от вашей архитектуры:
# kldload aacu64
или
# kldload aacu

5) Теперь выходим из "Shell":
"Ctrl" + "D"
или
# exit

6) Ставим систему.

7) Еще раз запускаемся с LiveCD (повтороно прейдется проделать пункты с 3-его по 5-ый) или сразу после установки опять входим в "Shell"и теперь добавляем драйвера на автозагрузка в установленную систему :
# mkdir /mnt/hdd

Монтируем установленную систему (если пишет что-то типа "GEOM: ufsid/3c3103ad62baad03: geometry does not match label (16h,63s != 16h,255s)." - вероятней всего вы монтируете не тот раздел, посмотреть возможные разделы можно примерно так "ls -l /dev/aac*")
# mount -t ufs /dev/aacd0s1a /mnt/hdd
# cp /mnt/flash/acc* /mnt/hdd/boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /mnt/hdd/boot/loader.conf
aacu_load="YES"
aacu64_load="YES"

8) Ребутимся
# reboot

5 комментариев:

  1. http://www.adaptec.com/en-us/speed/raid/aac/unix/aacraid_freebsd_b30017_tgz.htm
    работающий драйвером под 6 и 7 линейку для FreeBSD 9.0

    т.е. контроллер 6405 6805 будут работать

    ОтветитьУдалить
  2. Наконецто вышел "2 ноября 2012".
    Правда не написано что совместим с 6 серией ... но я думаю так оно и есть, сяп ;)

    ОтветитьУдалить
  3. Коллеги, поскажите плиз, кто-нибудь пробовал использовать RAID-контроллер в качестве обычного контроллера дисков?
    Есть NAS4Free, adaptec 3805 и пяток дисков, если собрать массив, то ОС его видит,
    но если диски в массив не собирать, то сама ос их не видит, только через arcconf...
    Есть желание попробовать собрать софтовый массив минуя возможности описанной выше карты.

    ОтветитьУдалить
  4. По-моему должен видеть, но вот только смысла не вижу в софтварном рейде ... софтварный рейд хорош тем, что он не зависит от железа, а у вас полюбому получается, чтобы виделись харды нужны дрова на адаптек и, соответственно, перенести эти харды на другое железо не получится ...

    Итог, либо втыкайте харды в мать, либо собирайте нужный рейд на адаптеке ...

    ОтветитьУдалить
  5. Это пока только тест.
    Суть в том, что ранее на этом сервере стоял 5805,
    он сдох утащив за собой 2 диска...
    Тк это backup-сервер, то ничего страшного не произошло,
    но сам процесс запукса сервера в работу затянулся,
    как раз из-за сдохшей карты. Изучение этого вопроса привело
    к этой статье: http://habrahabr.ru/company/server-unit/blog/163451/ и коментариям к ней(особенно пользователь amarao), а в итоге к идеи отказа от железячного рейда и переход на софт-рейд.
    ---
    Различные статьи в инете говорят о переводе всех дисков в Jbod, а затем на их сбор в софт-массив через ОС.

    В любом случае, спасибо.

    ОтветитьУдалить