Skip to main content
MC-LAG redundant connection
Last update:

MC-LAG redundant connection

MC-LAG (Multi-chassis link aggregation group) — Multi-chassis link aggregation. It redundantly connects to LAN and Internet access switches, increases infrastructure resilience. Only LAN connectivity can be reserved for off-the-shelf configuration servers. Reservations are not available for all configurations.

Customize MC-LAG can only be used for servers that have a redundant NIC and MC-LAG in their configuration.

For servers with redundant MC-LAG connectivity, Selectel ensures that one of the access switches is always available, including during scheduled maintenance.

Principle of operation

The server is connected to two independent switches via a LAG (Link Aggregated Ethernet Channel). LACP 802.3ad protocol is used for connection and channel aggregation is configured on the server side. In this case, two links from the access switches to the server will be active simultaneously.

Connection speed

For servers arbitrary configuration:

  • 1 Gbit/sec — copper crossover is used for the connection;
  • 10 Gbit/sec — optical crossover is used for the connection;
  • 25 Gbit/sec — LAN only, optical crossover is used for connection.

For servers ready-made configuration:

  • 10 Gbit/sec — for LAN only, optical crossover is used for connection.

Cost

The cost of the MC-LAG redundant connection depends on the selected connection speed.

You can see the price in the configurator on the site or when selecting server components in control panels.

Customize MC-LAG

  1. Make sure that the dedicated server configuration has a redundant NIC and MC-LAG added. If there is no redundant NIC, you can order a new redundant server or modify the components for a randomly configured server.
  2. Wait for the server readiness message from technical support. The switch ports will be bonded together.
  3. Configure link aggregation (LAG) on the server.

Configure channel aggregation on the server

Do not connect to the server on network interfaces that will be included in the aggregation. You will need to disconnect them during configuration.

  1. Connect to the server on a network interface that will not be included in the aggregation, or through a KVM console.

  2. Check that the bonding kernel module is installed on the server:

    lsmod | grep bond

    If there is no information in the response — the bonding kernel module is not installed.

  3. If the bonding kernel module is not installed, install it:

    sudo modprobe bonding
  4. Install a package to manage and configure interfaces for parallel routing (bonding):

    apt-get install ifenslave
  5. Output the data about the network interfaces:

    ifconfig -a
  6. Consecutively shut down each network interface that will be included in the aggregation:

    ifdown <eth_name>

    Specify <eth_name> — interface name.

  7. Open the file /etc/network/interfaces:

    nano /etc/network/interfaces
  8. Bring the settings for the network interfaces that will be included in the aggregation to the following:

    source /etc/network/interfaces
    auto lo
    iface lo inet loopback

    auto <eth_name_1>
    iface <eth_name_1> inet static
    bond-master bond0
    bond-primary <eth_name_1> <eth_name_2>

    auto <eth_name_2>
    iface <eth_name_2> inet manual
    bond-master bond0
    bond-primary <eth_name_1> <eth_name_2>

    auto bond0
    iface bond0 inet static
    bond-slaves <eth_name_1> <eth_name_2>
    bond-miimon 100
    bond-mode 802.3ad
    bond-downdelay 100
    bond-updelay 100
    bond-xmit-hash-policy layer2+3
    address <ip_address>
    netmask <mask>
    gateway <gateway>
    dns-nameservers <dns_servers>

    Specify:

    • <eth_name_1>, <eth_name_2> — The network interface that is included in the aggregation;
    • <ip_address> — The IP address to use on the aggregated interface;
    • <mask> — subnet mask;
    • <gateway> — gateway;
    • <dns_servers> — DNS server address. We recommend using Selectel recursive DNS servers But you can specify any available DNS servers.
  9. Bring up the bond0 network interface:

    ifup bond0
  10. Restart the network services:

    /etc/init.d/networking start
  11. Verify that the bond0 network interface is assembled correctly:

    cat /proc/net/bonding/bond0