Product SiteDocumentation Site

38.4.4. Агрегированный bond-интерфейс в качестве порта моста

Чтобы сделать гостевую сеть отказоустойчивой можно использовать bond напрямую в качестве порта моста:
Агрегированный bond-интерфейс в качестве порта моста

38.4.4.1. Настройка в веб-интерфейсе

Для настройки Linux Bond необходимо выполнить следующие действия:
  1. Перейти в раздел Сеть, выбрать существующий мост vmbr0 и нажать кнопку Редактировать:
    Мост vmbr0
  2. В открывшемся окне удалить содержимое поля Порты сетевого моста и нажать кнопку ОК:
    Редактирование параметров моста vmbr0
  3. Нажать кнопку Создать и в выпадающем меню выбрать пункт Linux Bond.
  4. В открывшемся окне в выпадающем списке Режим выбрать режим агрегации (в примере LACP), в поле Устройства указать сетевые интерфейсы, которые будут входить в объединение, в выпадающем списке Политика хэширования выбрать политику хэширования и нажать кнопку Создать:
    Редактирование параметров объединения bond0

    Примечание

    В зависимости от выбранного режима агрегации будут доступны разные поля.
  5. Выбрать мост vmbr0 и нажать кнопку Редактировать.
  6. В открывшемся окне в поле Порты сетевого моста вписать значение bond0 и нажать кнопку ОК:
    Редактирование параметров моста vmbr0
  7. Для применения изменений нажать кнопку Применить конфигурацию.
  8. Получившаяся конфигурация:
    bond в качестве порта моста
Для настройки OVS Bond необходимо выполнить следующие действия:
  1. Перейти в раздел Сеть, выбрать существующий мост vmbr0 и нажать кнопку Редактировать:
    Мост vmbr0
  2. В открывшемся окне удалить содержимое поля Порты сетевого моста и нажать кнопку ОК:
    Редактирование параметров моста vmbr0
  3. Нажать кнопку Создать и в выпадающем меню выбрать пункт OVS Bond.
  4. В открывшемся окне указать имя агрегированного интерфейса, в выпадающем списке Режим выбрать режим агрегации, в поле Устройства указать сетевые интерфейсы, которые будут входить в объединение, в выпадающем списке OVS Bridge выбрать мост, в который должен добавиться созданный интерфейс и нажать кнопку Создать:
    Редактирование параметров OVS Bond
  5. Для применения изменений нажать кнопку Применить конфигурацию.
  6. Получившаяся конфигурация:
    OVS Bond в качестве порта моста

38.4.4.2. Настройка в командной строке

Исходное состояние: мост vmbr0 на интерфейсе enp0s3. Необходимо создать агрегированный интерфейс bond0 (enp0s3 и enp0s8) и включить его в мост vmbr0.
Для создания Linux Bond, необходимо выполнить следующие действия:
  1. Создать агрегированный интерфейс bond0 на интерфейсах enp0s3 и enp0s8, выполнив следующие команды:
    # mkdir /etc/net/ifaces/bond0
    # cat <<EOF > /etc/net/ifaces/bond0/options
    BOOTPROTO=static
    CONFIG_WIRELESS=no
    CONFIG_IPV4=yes
    HOST='enp0s3 enp0s8'
    ONBOOT=yes
    TYPE=bond
    BONDOPTIONS='xmit-hash-policy=layer2+3 lacp_rate=1 miimon=100'
    BONDMODE=4
    EOF
    
    где:
    • BONDMODE=4 — режим агрегации LACP (802.3ad);
    • HOST='enp0s3 enp0s8' — интерфейсы, которые будут входить в объединение;
    • xmit-hash-policy=layer2+3 — определяет режим выбора каналов;
    • lacp_rate=1 — определяет, что управляющие пакеты LACPDU отправляются по каналу LACP каждую секунду;
    • miimon=100 — определяет, как часто производится мониторинг MII (Media Independent Interface).
  2. В настройках Ethernet-моста vmbr0 (файл /etc/net/ifaces/vmbr0/options) в опции HOST указать интерфейс bond0:
    BOOTPROTO=static
    BRIDGE_OPTIONS="stp_state 0"
    CONFIG_IPV4=yes
    HOST='bond0'
    ONBOOT=yes
    TYPE=bri
    
  3. Перезапустить службу network, чтобы изменения вступили в силу:
    # systemctl restart network
    
Для создания OVS Bond, необходимо выполнить следующие действия:
  1. Начальная конфигурации:
    # ovs-vsctl show
    6b1add02-fb20-48e6-b925-260bf92fa889
        Bridge vmbr0
            Port enp0s3
                Interface enp0s3
            Port vmbr0
                Interface vmbr0
                    type: internal
        ovs_version: "2.17.6"
    
  2. Привести настройки сетевого интерфейса enp0s3 (файл /etc/net/ifaces/enp0s3/options) к виду:
    TYPE=eth
    CONFIG_WIRELESS=no
    BOOTPROTO=static
    CONFIG_IPV4=yes
    
  3. Создать агрегированный интерфейс bond0 на интерфейсах enp0s3 и enp0s8, выполнив следующие команды:
    # mkdir /etc/net/ifaces/bond0
    # cat <<EOF > /etc/net/ifaces/bond0/options
    BOOTPROTO=static
    BRIDGE=vmbr0
    CONFIG_IPV4=yes
    HOST='enp0s3 enp0s8'
    OVS_OPTIONS='other_config:bond-miimon-interval=100 bond_mode=balance-slb'
    TYPE=ovsbond
    EOF
    
    где:
    • bond_mode=balance-slb — режим агрегации;
    • HOST='enp0s3 enp0s8' — интерфейсы, которые будут входить в объединение;
    • BRIDGE=vmbr0 — мост, в который должен добавиться созданный интерфейс;
    • other_config:bond-miimon-interval=100 — определяет, как часто производится мониторинг MII (Media Independent Interface).
  4. В опции HOST настроек моста vmbr0 (файл /etc/net/ifaces/vmbr0/options) указать bond0:
    BOOTPROTO=static
    CONFIG_IPV4=yes
    HOST=bond0
    ONBOOT=yes
    TYPE=ovsbr
    
  5. Перезапустить службу network, чтобы изменения вступили в силу:
    # systemctl restart network
    
  6. Проверка конфигурации:
    # ovs-vsctl show
    6b1add02-fb20-48e6-b925-260bf92fa889
        Bridge vmbr0
            Port bond0
                Interface enp0s3
                Interface enp0s8
            Port vmbr0
                Interface vmbr0
                    type: internal
        ovs_version: "2.17.6"