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 будет отсутсвовать!
И вообще все опыты с ядром Вы делаете на свой страх и риск, то что я описал выше делалось на реальном тазике, и после ребута все поднялось нормально )))) если что-то у вас не получилось, прошу в коменты, только без наездов :))))
Поделись с друзьями:
Рубрики: FreeBSD, Сеть · Теги: dummynet, em, firewall, FreeBSD, Intel, ipfw, pf, Yandex, драйвера, компиляция, сборка, ядро, яндекс
07.09.2011 в 06:54
· Ссылка
а дрова от Яши стоят?
05.09.2011 в 19:37
· Ссылка
А у меня проблема, у меня стоит 2 портовая интел карта и при больших нагрузках падает скорость,
а имеено когда трафик поднимается где то до 1,4 гигабита и после скорость падает
винты не нагружены в свап тоже не переходит, если только не считать пару кб.
веб сервер nginx
в чем может быть проблема ?
19.06.2011 в 09:33
· Ссылка
трафа маловато конечно, на таком тазике можно в разы больше прогнать, у мя чуть больше бегает, пока что 500-600 мегабит, но и ресурсов пока что хватает на серваке, нагрузка всего 10-13 процентов
18.06.2011 в 14:20
· Ссылка
Ну тут как бы тоже не слабо — 2 2-ядерных Ксеона на 3 Ггц и 4 Гб памяти. А трафа гоняем до 300 Мбит всего, правда здесь и шлюз, и нат, и биллинг с шейпером
13.06.2011 в 17:43
· Ссылка
решать тебе)) или твоему руководству, много трафа надо гонять? не забудь про нормальный процик 😉 а то какбэ без норм процика много каши не переваришь)))
13.06.2011 в 17:30
· Ссылка
Ну значит придется покупать сервер с PCI-Express и ставить igb-карточки
12.06.2011 в 20:51
· Ссылка
вполне возможно))
12.06.2011 в 20:47
· Ссылка
Как раз так и делал. Удалял все содержимое папки, и заливал яндексовское. Скорей всего яндекс не менял ничего в интеловских драйверах для моей карточки. А я губу раскатал)))
12.06.2011 в 08:10
· Ссылка
ядро новое стоит, я пересобирал ядро именно на 8.2, и все было норм, попробуй папку /usr/src/sys/dev/e1000 почистить, удалить все нах, или перенести куда-нить, а потом залить дрова яндекса, и пересобрать ядро, хотя вполне возможно что твоя сетевка ими не поддерживается, но надо попробовать
11.06.2011 в 23:00
· Ссылка
FreeBSD euronet.local 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Wed Jun 8 22:01:37 EEST 2011 [email protected]:/usr/src/sys/amd64/compile/NODENY_EM amd64
10.06.2011 в 07:57
· Ссылка
новое, с Intel Pro/1000 MT Dualport Server Adapter не работал пока что, может не поддерживается дровами, хотя должно, надо спрашивать у разработчика дров
сбрось вывод uname -a
10.06.2011 в 07:19
· Ссылка
make install разве не новое ядро устанавливает?
08.06.2011 в 19:27
· Ссылка
по идее должны схаваться драйверами, надо искать суть проблемы, а ядро точно новое устанавливаешь?
08.06.2011 в 18:40
· Ссылка
Intel Pro/1000 MT Dualport Server Adapter
08.06.2011 в 13:06
· Ссылка
а что за сетевка у тебя?
08.06.2011 в 12:43
· Ссылка
Бред какой-то. Нифига не получается — Intel (R) PRO/1000 Legacy Network Connection 1.0.1 и хоть ты его тресни.
08.06.2011 в 11:44
· Ссылка
7.1.9 это последний драйвер интела, на сколько мне известно, у Яши пока что 7.0.5
я вообще делаю так
на примере моей статьи, грохаю папку ../compile/ROUTER
потом по новой
config ROUTER
и далее по отработанной схеме,
make cleandepend && make depend
make
make install
и все работает
08.06.2011 в 11:30
· Ссылка
А может стоит удалить в compile папки от старых сборок ядер? И удалить в /usr/src/sys/dev папку «em», оставив только «e1000» от Яндекса? Кстати, последний драйвер вроде уже 7.1.9
08.06.2011 в 11:18
· Ссылка
интересненько, менял содержимое папки e1000? если да, то все должно было пройти нормально, лично проверял когда собирал себе их
08.06.2011 в 11:15
· Ссылка
Значит не поставились. Смущает в сорцах наличие двух папок — «em» и теперь вот еще «е1000». Заменил содержимое папок из папки Яндекса — пересобрал ядро, один фиг пишет Intel (R) PRO/1000 Legacy Network Connection 1.0.1 — теперь даже не 1.0.3
08.06.2011 в 11:11
· Ссылка
для последних дров яндекса будет следующее:
Intel (R) PRO/1000 Network Connection 7.0.5.Yandex
08.06.2011 в 11:05
· Ссылка
А как узнать, что дрова поставились?
08.06.2011 в 10:54
· Ссылка
cat /var/run/dmesg.boot | grep em0
em0: <Intel(R) PRO/1000 Network Connection 7.1.9>
но на этом сервере не стоят драйвера Яндекса
Intel (R) PRO/1000 Network Connection относится к Intel PRO/1000 Gigabit Ethernet Family
08.06.2011 в 10:39
· Ссылка
dmesg | grep em0 — у вас что показывает?
08.06.2011 в 10:34
· Ссылка
Движок не пропускает символы «больше/меньше» 🙂
Имелось в виду вот такое — Intel (R) PRO/1000 Legacy Network Connection 1.0.3
08.06.2011 в 10:31
· Ссылка
даже если установить драйвера от Яндекса, то все равно будет em0
em это идентификатор Intel PRO/1000 Gigabit Ethernet Family
даже в конфиге ядра если посмотреть, то написано:
device em # Intel PRO/1000 Gigabit Ethernet Family
08.06.2011 в 10:23
· Ссылка
em0: — это значит, что дрова НЕ от Яндекса?