Bug 48598 - Ошибка при конфирурировании ovsbr
Summary: Ошибка при конфирурировании ovsbr
Status: CLOSED NOTABUG
Alias: None
Product: Branch p10
Classification: Unclassified
Component: pve-manager (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrew Vasilyev
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-27 14:37 MSK by Mikhail Shepelev
Modified: 2023-12-21 09:25 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Shepelev 2023-11-27 14:37:32 MSK
Я установил сервер в конфигурации PVE с использованием OVS.
Сразу после инсталляции сеть работает, но, когда я пытаюсь добавить внутренний порт mgmt0 к vmbr0, после применения изменений через GUI PVE связь с хостом пропадает.
Из интерфейсов остаются только lo и ens18
В конфигурационных файлах полная каша, которая совсем не соответствует требуемой конфигурации.
Я вручную изменил конфигурационные файлы интерфейсов в папке /etc/net/ifaces как по моему мнению должно быть, но сеть вообще не поднималась.
Методом ТЫК удалось выяснить, что почему-то не воспринимается параметр HOST с несколькими интерфейсами у интерфейса vmbr0. По идее, должно быть так: HOST="ens18 mgmt0". Оставив в нем только один интерфейс ens18 сеть заработала, но после перезагрузки хоста неправильно генерируется файл /etc/network/interfaces.
Я сравнил этот файл с оригинальным PVE и вручную исправил его как должно быть. У меня получилось так:
auto lo
iface lo inet loopback

auto ens18
iface ens18 inet manual
        ovs_type OVSPort
        ovs_bridge vmbr0

auto mgmt0
iface mgmt0 inet manual
        ovs_type OVSIntPort
        ovs_bridge vmbr0

auto vmbr0
iface vmbr0 inet static
        address 10.1.0.151/24
        gateway 10.1.0.1
        ovs_type OVSBridge
        ovs_ports ens18 mgmt0
Теперь и в GUI PVE сетевые интерфейсы отображаются правильно. Но это только до перезапуска хоста. И все равно редактировать сеть через GUI нельзя.
Вот какая конфигурация файлов у меня получилась:
# cat /etc/net/ifaces/ens18/options
TYPE=ovsport
CONFIG_WIRELESS=no
BOOTPROTO=static
SYSTEMD_BOOTPROTO=static
CONFIG_IPV4=no
DISABLED=no
NM_CONTROLLED=no
SYSTEMD_CONTROLLED=no
ONBOOT=yes
CONFIG_IPV6=no
BRIDGE=vmbr0

# cat /etc/net/ifaces/mgmt0/ipv4address
10.1.0.151/24

# cat /etc/net/ifaces/mgmt0/ipv4route
default via 10.1.0.1

# cat /etc/net/ifaces/mgmt0/options
TYPE=ovsport
CONFIG_WIRELESS=no
BOOTPROTO=static
SYSTEMD_BOOTPROTO=static
CONFIG_IPV4=yes
DISABLED=no
NM_CONTROLLED=no
SYSTEMD_CONTROLLED=no
ONBOOT=yes
CONFIG_IPV6=no
BRIDGE=vmbr0

# cat /etc/net/ifaces/mgmt0/resolv.conf
nameserver 91.216.53.22
search local

# cat /etc/net/ifaces/vmbr0/options
TYPE=ovsbr
ONBOOT=yes
CONFIG_IPV4=no
BOOTPROTO=static
HOST="ens18"
CONFIG_WIRELESS=no
SYSTEMD_BOOTPROTO=static
DISABLED=no
NM_CONTROLLED=no
SYSTEMD_CONTROLLED=no
Comment 1 Evgeny Shesteperov 2023-12-12 18:01:30 MSK
Добрый день!

Пожалуйста, дополнительно предоставьте следующую информацию:

1.  Операционная система, версия, на которой воспроизвелась ошибка.

2.  Выводы следующих команд:

         $ uname -a
         $ cat /etc/os-release
         $ apt-repo

3.  Обновлена ли система до текущего состояния репозитория?
Comment 2 Mikhail Shepelev 2023-12-13 19:44:40 MSK
[root@pve01 /]# uname -a
Linux pve01 5.10.203-std-def-alt1 #1 SMP Tue Dec 12 14:49:08 UTC 2023 x86_64 GNU/Linux
[root@pve01 /]# cat /etc/os-release
NAME="ALT Server-V"
VERSION="10.1"
ID=altlinux
VERSION_ID=10.1
PRETTY_NAME="ALT Virtualization Server 10.1 (Actinoform)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:server-v:10.1"
BUILD_ID="ALT Server-V 10.1"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
[root@pve01 /]# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

Последние обновления установлены
Comment 3 Evgeny Shesteperov 2023-12-16 21:18:57 MSK
Версии:

- pve-manager-7.4.3-alt6
- etcnet-0.9.28-alt1

В Sisyphus не проверялось.
Comment 4 Andrew Vasilyev 2023-12-20 16:50:13 MSK
  Такая конфигурация не поддерживается.
  Для использования моста vmbr0 сначала в него добавляются все
  необходимые интерфейсы, а IP адреса вешаются на мост.

  В вашем случае логично разделить служебный трафик и трафик от
  виртуальных машин, а именно: порт mgmt0 с адресом 10.1.0.151
  использовать для доступа к веб-интерфейсу и по ssh, а ens18
  подключить к мосту vmbr0, на котором будут IP адреса виртуальных
  машин.
Comment 5 Mikhail Shepelev 2023-12-21 09:25:21 MSK
(In reply to Andrew Vasilyev from comment #4)
>   Такая конфигурация не поддерживается.
>   Для использования моста vmbr0 сначала в него добавляются все
>   необходимые интерфейсы, а IP адреса вешаются на мост.
> 
Так я и создал тикет потому что данная конфигурация не поддерживается (не работает). Но должна поддерживаться. По крайней мере, в оригинальном Проксмоксе она работает. Да и просто она вполне логична.
>   В вашем случае логично разделить служебный трафик и трафик от
>   виртуальных машин, а именно: порт mgmt0 с адресом 10.1.0.151
>   использовать для доступа к веб-интерфейсу и по ssh, а ens18
>   подключить к мосту vmbr0, на котором будут IP адреса виртуальных
>   машин.
Конфиг в тикете приведен с тестового сервера, поэтому все на одном интерфейсе. В продуктиве управление и ВМ будут разнесены по разным физическим сетям.
Вот пример конфига с рабочего кластера Proxmox.

auto eno3
iface eno3 inet manual

auto eno4
iface eno4 inet manual

auto ens2f0np0
iface ens2f0np0 inet manual
        mtu 9000

auto ens2f1np1
iface ens2f1np1 inet manual
        mtu 9000

auto mgmt0
iface mgmt0 inet static
        address 10.6.5.61/24
        gateway 10.6.5.1
        ovs_type OVSIntPort
        ovs_bridge vmbr0
        ovs_options tag=80
#Management

auto cluster1
iface cluster1 inet static
        address 172.20.25.226/28
        ovs_type OVSIntPort
        ovs_bridge vmbr1
        ovs_options tag=1000
#Cluster

auto bkp1
iface bkp1 inet static
        address 172.20.22.51/24
        ovs_type OVSIntPort
        ovs_bridge vmbr1
        ovs_mtu 9000
        ovs_options tag=50
#Backup

auto bond1
iface bond1 inet manual
        ovs_bonds ens2f0np0 ens2f1np1
        ovs_type OVSBond
        ovs_bridge vmbr1
        ovs_mtu 9000
        ovs_options bond_mode=balance-slb

auto bond0
iface bond0 inet manual
        ovs_bonds eno3 eno4
        ovs_type OVSBond
        ovs_bridge vmbr0
        ovs_options bond_mode=balance-slb

auto vmbr1
iface vmbr1 inet manual
        ovs_type OVSBridge
        ovs_ports bond1 cluster1 bkp1
        ovs_mtu 9000

auto vmbr0
iface vmbr0 inet manual
        ovs_type OVSBridge
        ovs_ports bond0 mgmt0

Здесь физические интерфейсы eno3 и eno4 объединены в bond0, а ens2f0np0 и ens2f1np1 в bond1.
Мосты vmbr0 и vmbr1 - это виртуальные коммутаторы, в которые подключены внешние интерфейсы (bond0, bond1) и внутренние виртуальные инетрфейсы (mgm0, cluster1, bkp1). Кроме того, к vmbr1 так же подключаются интерфейсы ВМ.

P.S. И даже если данная конфигурация не поддерживается в вашей реализации Проксмокса, изменение шататным образом через GUI не должно приводить к полному разрушению конфигурации сети и отключению узла кластера.