---
title: 'Резервированное подключение MC-LAG'
sidebar_label: 'Резервированное подключение MC-LAG'
sidebar_position: 12
description: 'Принцип работы, скорость подключения, настройка'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'

# Резервированное подключение MC-LAG

MC-LAG (Multi-chassis link aggregation group) — агрегирование каналов мульти-шасси.
Резервирует подключение к коммутаторам доступа локальной сети и интернет, [повышает отказоустойчивость инфраструктуры](/dedicated/about/increase-fault-tolerance/).
Для серверов готовой конфигурации можно зарезервировать только подключение к локальной сети. Резервирование доступно не для всех конфигураций.

[Настроить MC-LAG](#configure-mc-lag) можно только для серверов, в конфигурации которых есть сетевая карта с резервированием и MC-LAG.

Для серверов с резервированным подключением MC-LAG, Selectel гарантирует постоянную доступность одного из коммутаторов доступа, в том числе во время плановых работ.

## Принцип работы \{#principle-of-operation}

Сервер подключается к двум независимым коммутаторам по агрегированному Ethernet-каналу (LAG, Etherchannel).
Для подключения используется протокол LACP 802.3ad и на стороне сервера настраивается агрегация каналов.
При этом два линка от коммутаторов доступа до сервера будут активны одновременно.

![](https://423.selcdn.ru/kb/dedic-mlag-logic-LANG-THEME.png)

## Скорость подключения \{#connection-speed}

Для серверов [произвольной конфигурации](/dedicated/order/dedicated-configurations.mdx#custom-servers):

* 1 Гбит/с — для подключения используется медная кроссировка;
* 10 Гбит/с — для подключения используется оптическая кроссировка;
* 25 Гбит/с — только для локальной сети, для подключения используется оптическая кроссировка.

Для серверов [готовой конфигурации](/dedicated/order/dedicated-configurations.mdx#prebuilt-servers):

* 10 Гбит/с — для публичной сети, для подключения используется оптическая кроссировка;
* 10 Гбит/с — для локальной сети, для подключения используется оптическая кроссировка;
* 25 Гбит/с — для локальной сети, для подключения используется оптическая кроссировка.

## Стоимость \{#price}

Стоимость резервированного подключения MC-LAG зависит от выбранной скорости подключения.

Посмотреть стоимость можно в конфигураторе [на сайте](https://selectel.ru/services/dedicated/), или при выборе комплектующих сервера в [панели управления](https://my.selectel.ru/servers/order/pre-built/).

## Настроить MC-LAG \{#configure-mc-lag}

1. Убедитесь, что в конфигурации выделенного сервера есть сетевая карта с резервированием и добавлен MC-LAG.
   Если сетевой карты с резервированием нет, можно заказать новый сервер с резервированием или изменить комплектующие для сервера произвольной конфигурации.
2. Дождитесь сообщения о готовности сервера от технической поддержки. Порты коммутаторов будут собраны в бонд.
3. [Настройте агрегацию каналов (LAG) на сервере](#configure-channel-aggregation-on-server).

### Настроить агрегацию каналов на сервере \{#configure-channel-aggregation-on-server}

Не подключайтесь к серверу по сетевым интерфейсам, которые будут включаться в агрегацию.
Во время настройки их нужно будет отключить.

<Tabs queryString="configure-channel-aggregation-on-server">
  <TabItem value="ubuntu" default>
    <TabItemLabel>
      Ubuntu (netplan)
    </TabItemLabel>

    1. Подключитесь к серверу по сетевому интерфейсу, который не будет включаться в агрегацию, или через [KVM-консоль](/dedicated/manage/connect-to-server.mdx#connect-via-kvm-console).

    2. Выведите информацию о сетевых интерфейсах:

       ```bash
       ip link
       ```

    3. Откройте файл `/etc/netplan/01-netcfg.yaml`:

       ```bash
       nano /etc/netplan/01-netcfg.yaml
       ```

    4. Приведите настройки для сетевых интерфейсов, которые будут включены в агрегацию, к следующему виду:

       ```yaml
       network:
         version: 2
         renderer: networkd
         ethernets:
           <eth_name_1>:
             dhcp4: false
           <eth_name_2>:
             dhcp4: false

         bonds:
           bond0:
             addresses:
               - <ip_address>/<mask>
             gateway4: <gateway_4>
             gateway6: <gateway_6>
             interfaces:
               - <eth_name_1>
               - <eth_name_2>
             # https://netplan.io/reference#properties-for-device-type-bonds
             parameters:
               mode: 802.3ad
               lacp-rate: fast
               transmit-hash-policy: layer3+4
               mii-monitor-interval: 100
               down-delay: 100
               up-delay: 100
       ```

       Укажите:

       * `<eth_name_1>`, `<eth_name_2>` — имена сетевых интерфейсов, которые включаются в агрегацию;
       * `<ip_address>` — IP-адрес, который нужно использовать на агрегированном интерфейсе;
       * `<mask>` — маска подсети;
       * `<gateway_4>`, `<gateway_6>` — шлюз.

    5. Примените новую конфигурацию:

       ```bash
       netplan --debug apply
       ```

    6. Проверьте, что сетевой интерфейс `bond0` собрался корректно:

       ```bash
       cat /proc/net/bonding/bond0
       ```
  </TabItem>

  <TabItem value="debian">
    <TabItemLabel>
      Debian 9, 10 (lacp)
    </TabItemLabel>

    1. Подключитесь к серверу по сетевому интерфейсу, который не будет включаться в агрегацию, или через [KVM-консоль](/dedicated/manage/connect-to-server.mdx#connect-via-kvm-console).

    2. Проверьте, что на сервере установлен модуль ядра `bonding`:

       ```bash
       lsmod | grep bond
       ```

       Если в ответе нет информации — модуль ядра `bonding` не установлен.

    3. Если модуль ядра `bonding` не установлен, установите его:

       ```bash
       sudo modprobe bonding
       ```

    4. Установите пакет для управления и настройки интерфейсов для параллельной маршрутизации (`bonding`):

       ```bash
       apt-get install ifenslave
       ```

    5. Выведите данные о сетевых интерфейсах:

       ```bash
       ifconfig -a
       ```

    6. Последовательно выключите каждый сетевой интерфейс, который будет включен в агрегацию:

       ```bash
       ifdown <eth_name>
       ```

       Укажите `<eth_name>` — имя интерфейса, которое вы получили на шаге 5.

    7. Откройте файл `/etc/network/interfaces.d/50-cloud-init`:

       ```bash
       nano /etc/network/interfaces.d/50-cloud-init
       ```

    8. Приведите настройки для сетевых интерфейсов, которые будут включены в агрегацию, к следующему виду:

       ```text
       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-mode 802.3ad
           bond-miimon 100
           bond-downdelay 100
           bond-updelay 100
           bond-xmit-hash-policy layer3+4
           address <ip_address>
           netmask <mask>
           gateway <gateway>
           dns-nameservers <dns_servers>
       ```

       Укажите:

       * `<eth_name_1>`, `<eth_name_2>` — имена сетевых интерфейсов, которые включаются в агрегацию;
       * `<ip_address>` — IP-адрес, который нужно использовать на агрегированном интерфейсе;
       * `<mask>` — маска подсети;
       * `<gateway>` — шлюз;
       * `<dns_servers>` — адрес DNS-сервера. Мы рекомендуем использовать [рекурсивные DNS-серверы Selectel](/infrastructure/dns/dns-recursive-servers-list.mdx), но вы можете указать любые доступные DNS-серверы.

    9. Примените изменения конфигурации сети:

       ```shell
       source /etc/network/interfaces.d/50-cloud-init
       ```

    10. Поднимите сетевой интерфейс `bond0`:

        ```bash
        ifup bond0
        ```

    11. Перезапустите сетевые службы:

        ```bash
        /etc/init.d/networking start
        ```

    12. Проверьте, что сетевой интерфейс `bond0` собрался корректно:

        ```bash
        cat /proc/net/bonding/bond0
        ```
  </TabItem>

  <TabItem value="windows-2019">
    <TabItemLabel>
      Windows Server 2019
    </TabItemLabel>

    В Windows Server 2019 можно объединить несколько сетевых интерфейсов в один логический с помощью NIC Teaming.

    <Tabs queryString="nic-teaming">
      <TabItem value="server-manager" default>
        <TabItemLabel>
          Server Manager
        </TabItemLabel>

        1. Подключитесь к серверу по сетевому интерфейсу, который не будет включаться в агрегацию, или через [KVM-консоль](/dedicated/manage/connect-to-server.mdx#connect-via-kvm-console).

        2. Запустите **Server Manager**.

        3. Откройте раздел **Local Server** → блок **Properties**.

        4. Нажмите **NIC Teaming**.

        5. В блоке **Servers** выберите сервер для настройки.

        6. В блоке **Groups** нажмите **Tasks** и выберите **New Team**.

        7. В поле **Team name** введите имя группы.

        8. В блоке **Member adapters** отметьте сетевые адаптеры, которые нужно добавить в группу.

        9. В поле **Teaming mode** выберите — LACP.

        10. В поле **Load balancing mode** выберите алгоритм балансировки нагрузки.

        11. Опционально: в поле **Primary team interface** введите VLAN ID для группового интерфейса, если он используется в приватной сети и у вас включен [Q-in-Q](/dedicated/networks/q-in-q.mdx). Не используйте VLAN ID для интерфейса публичной сети.

        12. Нажмите **ОК**.

        13. [Настройте объединенный сетевой интерфейс](/dedicated/networks/configure-network-interface-on-server.mdx).
      </TabItem>

      <TabItem value="powershell">
        <TabItemLabel>
          PowerShell
        </TabItemLabel>

        1. Подключитесь к серверу по сетевому интерфейсу, который не будет включаться в агрегацию, или через [KVM-консоль](/dedicated/manage/connect-to-server.mdx#connect-via-kvm-console).

        2. Запустите PowerShell от имени администратора.

        3. Создайте VMSwitch:

           ```bash
           New-NetLbfoTeam -Name <group_name> -TeamMembers "<eth_name_1>","<eth_name_2>" -TeamingMode <teaming_mode> -LoadBalancingAlgorithm <algorithm>
           ```

           Укажите:

           * `<group_name>` — имя группы;
           * `<eth_name_1>`, `<eth_name_2>` — имена интерфейсов, которые требуется добавить в группу;
           * `<teaming_mode>` — режим агрегации каналов;
           * `<algorithm>` — алгоритм балансировки нагрузки.

        4. [Настройте объединенный сетевой интерфейс](/dedicated/networks/configure-network-interface-on-server.mdx).
      </TabItem>
    </Tabs>
  </TabItem>

  <TabItem value="windows-2022">
    <TabItemLabel>
      Windows Server 2022
    </TabItemLabel>

    Начиная с Windows Server 2022, технология NIC Teaming заменена на Switch Embedded Teaming (SET).
    SET может быть настроена только при создании виртуального коммутатора Hyper-V.

    1. Подключитесь к серверу по сетевому интерфейсу, который не будет включаться в агрегацию, или через [KVM-консоль](/dedicated/manage/connect-to-server.mdx#connect-via-kvm-console).

    2. Запустите PowerShell от имени администратора.

    3. Создайте VMSwitch:

       ```bash
       New-VMSwitch -Name <switch_name> -NetAdapterName "<eth_name_1>","<eth_name_2>" -EnableEmbeddedTeaming $true
       ```

       Укажите:

       * `<switch_name>` — имя виртуального коммутатора;
       * `<eth_name_1>`, `<eth_name_2>` — имена интерфейсов, которые требуется добавить в группу.

    4. [Настройте объединенный сетевой интерфейс](/dedicated/networks/configure-network-interface-on-server.mdx).
  </TabItem>
</Tabs>

<Formbricks />
