Ubuntu объединение сетевых интерфейсов Bonding – это просто

И опять – здравствуйте!
Назрела короткая заметка про агрегировании сетевых интерфейсов в Ubuntu.
С помощью которой можно существенно увеличить сетевую скорость сервера при наличии свободных сетевых интерфейсов.
Итак, дано:

  1. Сервер Ubuntu 14.04
  2. Сетевая карта eth0
  3. Сетевая карта eth1
  4. Сеть 10.200.6.0/24
  5. IP адрес сервера 10.200.6.8

  1. Устанавливаем необходимые пакеты:
    # apt-get install ifenslave ethtool
  2. Прописываем загрузку модуля bonding
    # vi /etc/modules
    bonding
  3. Далее судя по how-to нужно погасить сеть, но это если вы делаете настройку с физической консоли, в противном случае придется перезагрузить сервер в конце настройки.
    /etc/init.d/networking stop
  4. Подгружаем модуль ядра bounding
    # modprobe bonding

    проверяем:
    # lsmod | grep bonding
    bonding               147456  0
  5. На всякий случай делаем копию сетевых настроек, на тот случай, если что-то пойдет не так и мы сможем быстро откатить настройки сети:
    # cp /etc/network/interfaces /etc/network/interfaces.old
  6.  Редактируем настройки сети:
    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 балансировку
    [spoiler effect=”blind” show=”Все возможные варианты bond-mode:“]

    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 входящий трафик получается только активным интерфейсом, исходящий – распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.

    Описание скопировано отсюда 

    [/spoiler]
  7. Запускаем сеть:
    # /etc/init.d/networking start

    Или перезагружаем сервер, если мы делали настройки на удаленном терминале
    # reboot

     
  8. Логинимся на сервере, проверяем настройки
    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)

    Собственно все, мы настроили  агрегирование двух сетевых интерфейсов.

     

0 0 голосовать
Рейтинг статьи
Подписаться
Уведомление о
guest
0 Комментарий
Встроенные отзывы
Просмотр всех комментариев