12 февр. 2013 г.

Настройка Interface Teaming (bonding) и привязка к VLAN тегам в RHEL6 (Oracle Linux 6)

Для начала создадим конфигурационный файл для modprobe, в котором расскажем какой интерфейс мы будет обрабатываться модулем bonding:

nano /etc/modprobe.d/bond.conf

alias bond0 bonding
alias ipv6 "disable=1"

Заодно отключим IPv6 (если вы его не используете).

Далее переходим в директорию /etc/sysconfig/network-scripts/ где хранятся конфиги всех сетевых интерфейсов в формате ifcfg-<interface>

Создаем здесь конфиг для нашего нового bond интерфейса:

ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
#IPADDR=192.168.1.2
BONDING_OPTS="mode=4 miimon=1000"
VLAN=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no

Здесь можете не указывать адрес, если хотите получать трафик только по VLAN тегам.
По опциям:
  • mode - определяет режим, который выбирается из соображений, чего вы хотите от бонда и вашей сетевой инфраструктуры. Описание режимов здесь.
  • miimon - нужен для failover'а - в мс как часто модуль mii будет мониторить карточки на их доступность. Если феиловер не нужен, то можно ставить побольше, если нужен, то 10, 20
Правим конфиги для физических адаптеров в бонде (например, eth0, eth1 etc.), добавляя к каждому параметры Master и Slave (<> - ваши данные)


ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=<>
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID=<>
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes

Теперь для интерфейсов VLAN'ов (интерфейс в этом случае называется в формате bond0.тег):

ifcfg-bond0.300

DEVICE=bond0.300
BOOTPROTO=static
ONBOOT=yes
IPADDR=<>
NETMASK=255.255.255.0
GATEWAY=<>
VLAN=yes
TYPE=Ethernet
IPV6INIT=no

Рестартуем сеть и проверяем.

Для просмотра статуса бонда импользуем команду:

cat /proc/net/bonding/bond0