И опять — здравствуйте!
Назрела короткая заметка про агрегировании сетевых интерфейсов в Ubuntu.
С помощью которой можно существенно увеличить сетевую скорость сервера при наличии свободных сетевых интерфейсов.
Итак, дано:
- Сервер Ubuntu 14.04
- Сетевая карта eth0
- Сетевая карта eth1
- Сеть 10.200.6.0/24
- IP адрес сервера 10.200.6.8
-
Устанавливаем необходимые пакеты:
# apt-get install ifenslave ethtool
-
Прописываем загрузку модуля bonding:
# vi /etc/modules bonding
-
Cудя по how-to нужно погасить сеть, но это если вы делаете настройку с физической консоли, в противном случае придется перезагрузить сервер в конце настройки:
/etc/init.d/networking stop
-
Подгружаем модуль ядра bounding:
# modprobe bonding
проверяем:
# lsmod | grep bonding bonding 147456 0
-
На всякий случай делаем копию сетевых настроек, на тот случай, если что-то пойдет не так и мы сможем быстро откатить настройки сети:
# cp /etc/network/interfaces /etc/network/interfaces.old
-
Редактируем настройки сети:
vi /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet manual bond-master bond0 auto eth1 iface eth1 inet manual bond-master bond0 auto bond0 iface bond0 inet static address 10.200.6.8 gateway 10.200.6.6 netmask 255.255.255.0 network 10.200.6.0 dns-nameservers 10.200.6.6 bond-mode 0 bond-miimon 100 bond-slaves eth0 eth1
bond-mode 0 — указывает, что мы делаем Round-robin балансировку
mode=0 (balance-rr)
Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются «по кругу» от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.
mode=1 (active-backup)
При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.
mode=2 (balance-xor)
Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
mode=3 (broadcast)
Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.
mode=4 (802.3ad)
Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.
mode=5 (balance-tlb)
Адаптивная балансировка нагрузки. При balance-tlb входящий трафик получается только активным интерфейсом, исходящий — распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.
Описание скопировано отсюда
-
Запускаем сеть:
# /etc/init.d/networking start
Или перезагружаем сервер, если мы делали настройки на удаленном терминале
# reboot
-
Логинимся на сервере, проверяем настройки
ifconfig bond0 Link encap:Ethernet HWaddr 00:30:48:78:5d:fe inet addr:10.200.6.8 Bcast:10.200.6.255 Mask:255.255.255.0 inet6 addr: fe80::230:48ff:fe78:5dfe/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:919 errors:0 dropped:0 overruns:0 frame:0 TX packets:555 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:97529 (97.5 KB) TX bytes:53424 (53.4 KB) eth0 Link encap:Ethernet HWaddr 00:30:48:78:5d:fe UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:451 errors:0 dropped:0 overruns:0 frame:0 TX packets:277 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:48163 (48.1 KB) TX bytes:25456 (25.4 KB) eth1 Link encap:Ethernet HWaddr 00:30:48:78:5d:fe UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:468 errors:0 dropped:0 overruns:0 frame:0 TX packets:278 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49366 (49.3 KB) TX bytes:27968 (27.9 KB)
Собственно все, мы настроили агрегирование двух сетевых интерфейсов.