30_7_ link aggregation and failover

Upload: si-tampan-restu

Post on 06-Jan-2016

218 views

Category:

Documents


1 download

DESCRIPTION

Link Agregation

TRANSCRIPT

  • 30.7. Link Aggregation and FailoverPrev Chapter 30. Advanced Networking Next

    30.7. Link Aggregation and FailoverWritten by Andrew Thompson.

    FreeBSD provides the lagg(4) interface which can be used to aggregate multiple networkinterfaces into one virtual interface in order to provide failover and link aggregation.Failover allows traffic to continue to flow as long as at least one aggregated networkinterface has an established link. Link aggregation works best on switches which supportLACP, as this protocol distributes traffic bi-directionally while responding to the failureof individual links.

    The aggregation protocols supported by the lagg interface determine which ports are usedfor outgoing traffic and whether or not a specific port accepts incoming traffic. Thefollowing protocols are supported by lagg(4):

    failover

    This mode sends and receives traffic only through the master port. If the masterport becomes unavailable, the next active port is used. The first interface added tothe virtual interface is the master port and all subsequently added interfaces areused as failover devices. If failover to a non-master port occurs, the original portbecomes master once it becomes available again.

    fec / loadbalance

    Cisco Fast EtherChannel (FEC) is found on older Cisco switches. It providesa static setup and does not negotiate aggregation with the peer or exchange framesto monitor the link. If the switch supports LACP, that should be used instead.

    lacp

    The IEEE 802.3ad Link Aggregation Control Protocol (LACP) negotiates a set ofaggregable links with the peer into one or more Link Aggregated Groups (LAGs).Each LAG is composed of ports of the same speed, set to full-duplex operation,and traffic is balanced across the ports in the LAG with the greatest total speed.Typically, there is only one LAG which contains all the ports. In the event ofchanges in physical connectivity, LACP will quickly converge to a newconfiguration.

    LACP balances outgoing traffic across the active ports based on hashed protocolheader information and accepts incoming traffic from any active port. The hashincludes the Ethernet source and destination address and, if available, the VLANtag, and the IPv4 or IPv6 source and destination address.

    roundrobin

    This mode distributes outgoing traffic using a round-robin scheduler through allactive ports and accepts incoming traffic from any active port. Since this modeviolates Ethernet frame ordering, it should be used with caution.

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    1 of 6 09/10/2015 10:27

  • 30.7.1. Configuration Examples

    This section demonstrates how to configure a Cisco switch and a FreeBSD system forLACP load balancing. It then shows how to configure two Ethernet interfaces in failovermode as well as how to configure failover mode between an Ethernet and a wirelessinterface.

    Example 30.1. LACP Aggregation with a Cisco Switch

    This example connects two fxp(4) Ethernet interfaces on a FreeBSD machine tothe first two Ethernet ports on a Cisco switch as a single load balanced andfault tolerant link. More interfaces can be added to increase throughput and faulttolerance. Replace the names of the Cisco ports, Ethernet devices, channelgroup number, and IP address shown in the example to match the localconfiguration.

    Frame ordering is mandatory on Ethernet links and any traffic between twostations always flows over the same physical link, limiting the maximum speedto that of one interface. The transmit algorithm attempts to use as muchinformation as it can to distinguish different traffic flows and balance the flowsacross the available interfaces.

    On the Cisco switch, add the FastEthernet0/1 and FastEthernet0/2interfaces to channel group 1:

    interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp!interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp

    On the FreeBSD system, create the lagg(4) interface using the physicalinterfaces fxp0 and fxp1 and bring the interfaces up with an IP address of10.0.0.3/24:

    # ifconfig fxp0 up# ifconfig fxp1 up# ifconfig lagg0 create # ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1 10.0.0.3/24

    Next, verify the status of the virtual interface:

    # ifconfig lagg0lagg0: flags=8843 metric 0 mtu 1500 options=8 ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    2 of 6 09/10/2015 10:27

  • laggproto lacp laggport: fxp1 flags=1c laggport: fxp0 flags=1c

    Ports marked as ACTIVE are part of the LAG that has been negotiated with theremote switch. Traffic will be transmitted and received through these activeports. Add -v to the above command to view the LAG identifiers.

    To see the port status on the Cisco switch:

    switch# show lacp neighborFlags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode

    Channel group 1 neighbors

    Partner's information:

    LACP port Oper Port PortPort Flags Priority Dev ID Age Key Number StateFa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3DFa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D

    For more detail, type show lacp neighbor detail.

    To retain this configuration across reboots, add the following entries to/etc/rc.conf on the FreeBSD system:

    ifconfig_fxp0="up"ifconfig_fxp1="up"cloned_interfaces="lagg0"ifconfig_lagg0="laggproto lacp laggport fxp0 laggport fxp1 10.0.0.3/24

    Example 30.2. Failover Mode

    Failover mode can be used to switch over to a secondary interface if the link islost on the master interface. To configure failover, make sure that the underlyingphysical interfaces are up, then create the lagg(4) interface. In this example,fxp0 is the master interface, fxp1 is the secondary interface, and the virtualinterface is assigned an IP address of 10.0.0.15/24:

    # ifconfig fxp0 up# ifconfig fxp1 up# ifconfig lagg0 create# ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1

    The virtual interface should look something like this:

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    3 of 6 09/10/2015 10:27

  • # ifconfig lagg0lagg0: flags=8843 metric 0 mtu 1500 options=8 ether 00:05:5d:71:8d:b8 inet 10.0.0.15 netmask 0xffffff00 broadcast 10.0.0.255 media: Ethernet autoselect status: active laggproto failover laggport: fxp1 flags=0 laggport: fxp0 flags=5

    Traffic will be transmitted and received on fxp0. If the link is lost on fxp0, fxp1will become the active link. If the link is restored on the master interface, it willonce again become the active link.

    To retain this configuration across reboots, add the following entries to/etc/rc.conf:

    ifconfig_fxp0="up"ifconfig_fxp1="up"cloned_interfaces="lagg0"ifconfig_lagg0="laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24

    Example 30.3. Failover Mode Between Ethernet and Wireless Interfaces

    For laptop users, it is usually desirable to configure the wireless device as asecondary which is only used when the Ethernet connection is not available.With lagg(4), it is possible to configure a failover which prefers the Ethernetconnection for both performance and security reasons, while maintaining theability to transfer data over the wireless connection.

    This is achieved by overriding the physical wireless interface's MAC addresswith that of the Ethernet interface.

    In this example, the Ethernet interface, bge0, is the master and the wirelessinterface, wlan0, is the failover. The wlan0 device was created from iwn0wireless interface, which will be configured with the MAC address of theEthernet interface. First, determine the MAC address of the Ethernet interface:

    # ifconfig bge0bge0: flags=8843 metric 0 mtu 1500

    options=19bether 00:21:70:da:ae:37inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2nd6 options=29media: Ethernet autoselect (1000baseT )status: active

    Replace bge0 to match the system's Ethernet interface name. The ether line

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    4 of 6 09/10/2015 10:27

  • will contain the MAC address of the specified interface. Now, change the MACaddress of the underlying wireless interface:

    # ifconfig iwn0 ether 00:21:70:da:ae:37

    Bring the wireless interface up, but do not set an IP address:

    # ifconfig wlan0 create wlandev iwn0 ssid my_router up

    Make sure the bge0 interface is up, then create the lagg(4) interface with bge0as master with failover to wlan0:

    # ifconfig bge0 up# ifconfig lagg0 create# ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0

    The virtual interface should look something like this:

    # ifconfig lagg0lagg0: flags=8843 metric 0 mtu 1500 options=8 ether 00:21:70:da:ae:37 media: Ethernet autoselect status: active laggproto failover laggport: wlan0 flags=0 laggport: bge0 flags=5

    Then, start the DHCP client to obtain an IP address:

    # dhclient lagg0

    To retain this configuration across reboots, add the following entries to/etc/rc.conf:

    ifconfig_bge0="up"ifconfig_iwn0="ether 00:21:70:da:ae:37"wlans_iwn0="wlan0"ifconfig_wlan0="WPA"cloned_interfaces="lagg0"ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"

    Prev Up Next30.6. Bridging Home 30.8. Diskless Operation withPXE

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    5 of 6 09/10/2015 10:27

  • All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

    Questions that are not answered by the documentation may be sent to .Send questions about this document to .

    30.7. Link Aggregation and Failover https://www.freebsd.org/doc/handbook/network-aggregation.html

    6 of 6 09/10/2015 10:27