Объединение сетевых интерфейсов в linux

Так уже получилось что писал статью для howtoforge. И естественно тут же все это оказалось в русском варианте на других сайтах. Только вот незадача: в статье были допущены неточности, и публицисты с других «сайтов» вставили as-is.
Хочу попробовать исправить это оплошность.
Для чего это надо?
Объясню на примере: был у меня фтп с 2мя сетевыми картами, но использовалась одна. Со временем весь 1Гб/с начал забиваться по вечерам — и людям плохо, и у меня iowait растет. Но есть вторая сетевая карта. Так вот такое объединение позволит использовать 2 (3, 4, 5…) как одну с 2Гб/с.
Но это не «потолок», вот полный список режимов:
mode=0 (balance-rr)
Последовательно кидает пакеты, с первого по последний интерфейс.
mode=1 (active-backup)
Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора
mode=2 (balance-xor)
Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
mode=3 (broadcast)
Все пакеты на все интерфейсы
mode=4 (802.3ad)
Link Agregation — IEEE 802.3ad, требует от коммутатора настройки.
mode=5 (balance-tlb)
Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Не требует настройки коммутатора.
mode=6 (balance-alb)
Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC.
Настройка
Очень простая. Вы выбираете режим, втыкаете в коммутатор второй кабель.
Дальше в зависимости от системы, я делал это на Debian Lenny
#apt-get install ifenslave-2.6
Дальше есть 2 варианта:
Вариант №1 Подправить /etc/network/interfaces к примеру так.
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1

и подправить /etc/modprobe.d/arch/i386 примерно так
alias bond0 bonding
options bonding mode=5 miimon=100 downdelay=200 updelay=200

Естественно указать свой режим и настройки сети.
# update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart

Вариант №2 Все настройки через /etc/network/interfaces
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth0 eth1

Сохраняем и пишем:
update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart

После этого должен появится один интерфейс bond0. Далее можно плодить интерфейсы bon0:0 и т.д.

Источник: http://habrahabr.ru/post/58218/

Установка PostgreSQL на FreeBSD

PostgreSql — очень мощная свободная объектно-реляционная система управления базами данных (СУБД).
Существует в реализациях для следующих платформ: Linux, Solaris/OpenSolaris, Win32, Mac OS X, FreeBSD, QNX 4.25, QNX 6
PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2003

Читать далее

Работа с виртуальными машинами KVM. Лимитирование ресурсов виртуальной машины

В предыдущих сериях публикациях мы рассмотрели с вами вопросы подготовки хост-машины, создания и клонирования виртуальных машин. Сегодня я поведаю о не менее важном вопросе — об ограничении использования ресурсов виртуальными машинами.
Читать далее

Антивирус ClamAV

Вирусы в Linux
Linux считается одной из самых безопасных операционных систем. Вирусы под linux есть, но не один не создал масштабной эпидемии. Надо просто придерживаться правила — не работать под именем пользователя root и тогда вам ничего грозить не будет (можно даже обойтись и без антивирусной программы )(любой). Даже если к вам проникнет злобный вирус)) Читать далее

Краткая шпаргалка по tmux

Краткая шпаргалка по tmux (менеджеру терминалов)

tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).image

Читать далее

Unbound — настройка кеширующего DNS-сервера

Unbound логотип

В релизе FreeBSD 10.0 DNS-сервер BIND заменен на связку из кеширующего DNS-сервера Unbound и библиотеки LDNS. Разбираясь с нововведениями, решил заодно ознакомиться и с настройкой Unbound.

Читать далее

Настройки ip и ipv6 в FreeBSD 9.0

К рождеству пришел подарок – объявлен релиз FreeBSD 9.0

В cvs появился tag RELENG_9. Пересборка мира и ядра прошла как всегда чисто и гладко. Mergemaster в процессе работы поудалял некоторые скрипты настройки сети, в частности ipv6. Что бы это значило…

Ну пойдем посмотрим. В релноутсах много интересного, что-то уже было давно в стейбле, что-то нет. Очень интересным оказался пункт про изменения настроек сети. Вот оно наконец! Кажется пришло время навести порядок в rc.conf с настройкой ipv6 на интерфейсах и 6to4.
Читать далее