четверг, 3 октября 2013 г.

Настройка LACP между сервером на Linux (RedHat based), Juniper MX80 и Cisco Catalyst 6509

Иногда настает такой момент, когда пропускной способности сетевой карты становится недостаточно. Но если у нас есть несколько сетевых адаптеров в устройстве, то можно воспользоваться
Link Aggregation Control Protocol (LACP) — протокол, предназначенный для объединения нескольких физических каналов в один логический в сетях Ethernet.

Как это выглядит

Оборудование

  • Сервер под управлением Fedora Core 14, 4 сетевых адаптера (2 на борту, 2 на PCI-e карточке)
  • Маршрутизатор Juniper MX80
  • Коммутатор Cisco Catalyst 6509

Настройка

Сервер

Переименовываем сетевухи
cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x8086:0x10d3 (e1000e) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="onboard0"

# PCI device 0x8086:0x10d3 (e1000e) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="onboard1"

# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="card0"

# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="card1"

Настраиваем network-scripts подчиненные интерфейсы
[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-onboard0
DEVICE=onboard0
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=eth0
 

[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-onboard1
DEVICE=onboard1
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=eth0

[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-card0
DEVICE=card0
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=eth1

[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-card1
DEVICE=card1
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=eth1
Настраиваем агрегированные интерфейсы
[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
BONDING_OPTS="mode=802.3ad miimon=100 xmit_hash_policy=layer2+3"
IPADDR=xxx.xxx.xxx.119
NETMASK=255.255.255.224

[nat0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=no
PEERROUTES=no
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
BONDING_OPTS="mode=802.3ad miimon=100 xmit_hash_policy=layer2+3"
IPADDR=xxx.xxx.xxx.239
NETMASK=255.255.255.0
Необходимо проверить, что в настройках bonding интерфейсов нет параметра HWADDR.
Проверка работы интерфейса:
[ nat0 ~]# cat /proc/net/bonding/eth0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 2
        Actor Key: 17
        Partner Key: 1
        Partner Mac Address: 5c:5e:ab:0f:57:40

Slave Interface: onboard0
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:25:90:33:c1:57
Aggregator ID: 1

Slave Interface: onboard1
MII Status: up
Link Failure Count: 7
Permanent HW addr: 00:25:90:33:c1:56
Aggregator ID: 1

Juniper MX80

> show configuration chassis 
aggregated-devices {
    ethernet {
// Это кол-во агрегированных интерфейсов
        device-count 1;
    }
}

>show configuration interfaces ge-1/1/7 
description "Aggregated interface for NAT-ZERO (ae0)";
gigether-options {
    802.3ad ae0;
}

> show configuration interfaces ge-1/1/9    
description "Aggregated interface for NAT-ZERO (ae0)";
gigether-options {
    802.3ad ae0;
}

> show configuration interfaces ae0
description NAT-ZERO;
aggregated-ether-options {
    minimum-links 1;
    lacp {
        passive;
    }
}
unit 0 {
    family bridge {
        interface-mode access;
        vlan-id XX;
    }
}

Catalyst 6509

#sh ru int g8/5
interface GigabitEthernet8/5
 description "Aggregated link for NAT0 Private"
 switchport
 switchport access vlan YY
 switchport mode access
 no ip address
! 2 - это номер PortChannel интерфейса
 channel-group 2 mode passive
end

#sh ru int g9/11
interface GigabitEthernet9/11
 description "Aggregated link for NAT0 Private"
 switchport
 switchport access vlan YY
 switchport mode access
 no ip address
! 2 - это номер PortChannel интерфейса
 channel-group 2 mode passive
end

#sh ru int Po2        
interface Port-channel2
 description NAT0 Priv
 switchport
 switchport access vlan YY
 switchport mode access
 no ip address
end
Необходимо обратить внимание, чтобы на подчиненных и агрегированном интерфейсе совпадали настройки режима порта (access | trunk) и Vlan'ы

Комментариев нет:

Отправить комментарий