Site Tools


software:freebsd:lagg_on_netgraph

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
software:freebsd:lagg_on_netgraph [2015/07/19 14:43]
– [rc.d скрипт] root
software:freebsd:lagg_on_netgraph [2015/07/19 23:17]
– [ng_lagg - if_lagg on netgraph] root
Line 1: Line 1:
 ====== ng_lagg - if_lagg on netgraph ====== ====== ng_lagg - if_lagg on netgraph ======
-По неизвестной причине использование **if_lagg** и двух сетевых адаптеров igb на FreeBSD 10.1 amd64 приводило к большой нагрузке на CPU, потере пакетов и потере связи.\\+По неизвестной причине использование **if_lagg** и двух сетевых адаптеров igb на FreeBSD 10.1 amd64 приводило к большой нагрузке на CPU, потере пакетов и потере связи при приёме мультикаста с битрейтом свыше 100 мегабит.\\
 Реализация объединения сетевых адаптеров средствами netgraph не подвержена подобной проблеме.\\ Реализация объединения сетевых адаптеров средствами netgraph не подвержена подобной проблеме.\\
 Результат совместим с **if_vlan** и по сути мало чем отличается от других интерфейсов в системе.\\ Результат совместим с **if_vlan** и по сути мало чем отличается от других интерфейсов в системе.\\
 **Cкрипт**: [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg.sh]]\\ **Cкрипт**: [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg.sh]]\\
-**rc.d скрипт**: [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg]]\\+**rc.d скрипт**: [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg|ng_lagg]]\\
  
  
Line 18: Line 18:
  
 == ВАЖНО! == == ВАЖНО! ==
-1. Имя интерфейса не должно содержать: "." и ":".\\ +  - Имя интерфейса не должно содержать: "." и ":". Это ограничение netgraph, подробнее: [[https://www.freebsd.org/cgi/man.cgi?query=netgraph&sektion=4&apropos=0&manpath=FreeBSD+10.1-stable|man 4 netgraph]] 
-Это ограничение netgraph.\\ +  - Максимальное количество интерфейсов в LAGG - 64Это ограничение обусловлено константой **NG_ONE2MANY_MAX_LINKS** в файле /usr/src/sys/netgraph/ng_one2many.h. Если вам требуется больше, то измените значение константы и пересоберите **ng_one2many**. 
-Подробнее: [[https://www.freebsd.org/cgi/man.cgi?query=netgraph&sektion=4&apropos=0&manpath=FreeBSD+10.1-stable|man 4 netgraph]]\\ +  - В LAGG на базе netgraph можно добавлять только сетевые интерфейсы к которые работают с нодой **ng_ether**. Список доступных интерфейсов можно увидеть так:
- +
-2. В LAGG на базе netgraph можно добавлять только сетевые интерфейсы к которые работают с нодой **ng_ether**.\\ +
-Список доступных интерфейсов можно увидеть так:+
 <code>ngctl list | grep ether</code> <code>ngctl list | grep ether</code>
 Если ничего нет, то убедитесь что нода **ng_ether** загружена, или загрузите: Если ничего нет, то убедитесь что нода **ng_ether** загружена, или загрузите:
Line 50: Line 47:
 ==== rc.d скрипт ==== ==== rc.d скрипт ====
 Для того чтобы интерфейс создавался при загрузке автоматически нужно: Для того чтобы интерфейс создавался при загрузке автоматически нужно:
-  - сохранить rc.d скрипт [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg]] в /usr/local/etc/rc.d/ +  - сохранить rc.d скрипт [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg|ng_lagg]] в /usr/local/etc/rc.d/ 
-  - сохранить скрипт [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg.sh]] в /usr/sbin/+  - сохранить скрипт [[http://netlab.linkpc.net/download/software/FreeBSD/ng_lagg/ng_lagg.sh|ng_lagg.sh]] в /usr/local/sbin/
   - разрешить выполнение обоих скриптов (chmod +x)   - разрешить выполнение обоих скриптов (chmod +x)
   - добавить в /etc/rc.conf или /etc/rc.conf.local разрешение на его запуск и настройки:   - добавить в /etc/rc.conf или /etc/rc.conf.local разрешение на его запуск и настройки:
 <code>ng_lagg_enable="YES" <code>ng_lagg_enable="YES"
-ng_lagg_command="/usr/sbin/ng_lagg.sh" 
 ng_lagg_interfaces="lagg0 xyzlagg" ng_lagg_interfaces="lagg0 xyzlagg"
 ng_lagg_lagg0="em0 em1" ng_lagg_lagg0="em0 em1"
Line 68: Line 64:
  
  
 +=== Замечания ===
 +  - Можно создавать сколько угодно интерфейсов, в каждом из них должен быть хотя бы один сетевой адаптер
 +  - Нельзя давать имена интерфейсам "auto", так можно создать не более одного интерфейса, но по команде **stop** такой интерфейс не будет уничтожен.
  
  
software/freebsd/lagg_on_netgraph.txt · Last modified: 2022/02/05 04:36 by root