FreeBSD em драйвера от Yandex, пересборка ядра с поддержкой pf, ipfw

Каждый кто занимается администрированием серверов , знает что нет ничего лучше чем сетевое оборудование компании Intel. Благодаря им система держит более высокую нагрузку, т.к. чип сетевой карты сам обрабатывает многие операции не привлекая системные ресурсы, и думаю каждый уважающий себя админ, хоть раз в жизни слышал про драйвера от Яндекса для моей любимой фряшки.
Чем же они хороши? Тем что они ориентированны на работу в много процессорных системах и более оптимально используют процессор.
Скачать можно отсюда
Начнемс (для FreeBSD 8.2):

# wget http://people.yandex-team.ru/~wawa/e1000-7.0.5-RELENG8-yandex-1.36.2.17.2.18.tar.gz

Распакуем:

# tar xvfz e1000-7.0.5-RELENG8-yandex-1.36.2.17.2.18.tar.gz

и скопируем вместо стандартных дров:

# cd e1000-7.0.5-RELENG8-yandex-1.36.2.17.2.18
# cp * /usr/src/sys/dev/e1000

теперь можно пересобрать ядро, плюс ко всему мне понадобилось добавить в него pf и ipfw, что собственно говоря и сделаю :))
У меня amd64 платформа:

# cd /usr/src/sys/amd64/conf/
# cp GENERIC ROUTER
# ee ROUTER

и в него добавляем:
для ipfw и даминета (шейпер)

options         IPFIREWALL
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET

для pf и altq

#ALTQ
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
#PF
device          pf
device          pflog
device          pfsync

плюс ко всему, я поубирал лишнее из ядра, то чем думаю никогда не буду пользоваться.
Займемся сборкой ядра:

# config ROUTER
Kernel build directory is ../compile/ROUTER
Don't forget to do ``make cleandepend && make depend''

топаем в ../compile/ROUTER и собираем все это дело:

# cd ../compile/ROUTER
# make cleandepend && make depend

после депендов прописываем следующие команды и идем пить чай, т.к. это займет немного времени:

# make
# make install

как только все собралось, ребутим машинку и наслаждаемся :))

# reboot

P.S. Если вы тоже добавляли в ядро фаервол, то было бы неплохо иметь доступ к серверу по ipmi или физический, т.к. после ребута если вы не прописали в rc.conf путь к правилам или не поставили тип фаерволла open, доступ по ssh будет отсутсвовать!
И вообще все опыты с ядром Вы делаете на свой страх и риск, то что я описал выше делалось на реальном тазике, и после ребута все поднялось нормально )))) если что-то у вас не получилось, прошу в коменты, только без наездов :))))

Похожие посты

27 комментариев

  • username
    7 лет назад

    а дрова от Яши стоят?

  • Sergei
    7 лет назад

    А у меня проблема , у меня стоит 2 портовая интел карта и при больших нагрузках падает скорость ,
    а имеено когда трафик поднимается где то до 1,4 гигабита и после скорость падает
    винты не нагружены в свап тоже не переходит , если только не считать пару кб.
    веб сервер nginx
    в чем может быть проблема ?

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

Комментировать email не будет опубликован