Назад | Перейти на главную страницу

объединение с nmcli: сбой подключения и повторного подключения

На виртуальном ящике centos 7 я создаю такую ​​команду:

nmcli connection add type team con-name team0  ifname veteam0
nmcli connection modify team0 team.config roundrobin.conf
[root@rhce1 ~]# cat roundrobin.conf
{
        "device":               "team0",
        "runner":               {"name": "roundrobin"},
        "ports":                {"enp0s9": {}, "enp0s10": {}}
}
# add slave interfaces
nmcli connection add type team-slave con-name team0-port0 ifname enp0s9 master team0
nmcli connection add type team-slave con-name team0-port1 ifname enp0s10 master team0

Теперь у меня есть следующие связи:

[root@rhce1 ~]# nmcli con s
NAME                UUID                                  TYPE            DEVICE
team0               77869010-af1a-48a5-b10b-c05b3035837f  team            veteam0
team0-port1         99f54013-b20b-41d2-9661-d654b89870bd  802-3-ethernet  enp0s10
team0-port0         3f5e5924-f7f3-409a-b4cb-661904ddbf60  802-3-ethernet  enp0s9
Wired connection 1  acc2747d-9576-4ac5-a06a-d45d3a9a4ff4  802-3-ethernet  enp0s3
enp0s3              b4db7dd8-8735-4590-b12f-621d1003841a  802-3-ethernet  --
hostonly            8993c4c0-fa90-455d-ae83-d1a644c36886  802-3-ethernet  enp0s8

Это правильно отображает все интерфейсы:

[root@rhce1 ~]# nmcli dev status
DEVICE   TYPE      STATE      CONNECTION
enp0s10  ethernet  connected  team0-port1
enp0s3   ethernet  connected  Wired connection 1
enp0s8   ethernet  connected  hostonly
enp0s9   ethernet  connected  team0-port0
veteam0  team      connected  team0
lo       loopback  unmanaged  --

и я получаю IP от dhcp для интерфейса моей виртуальной команды:

[root@rhce1 ~]# ip addr show veteam0
6: veteam0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 08:00:27:c7:15:f1 brd ff:ff:ff:ff:ff:ff
    inet 10.23.23.104/24 brd 10.23.23.255 scope global dynamic veteam0
       valid_lft 1073sec preferred_lft 1073sec
    inet6 fe80::a00:27ff:fec7:15f1/64 scope link tentative dadfailed
       valid_lft forever preferred_lft forever

(Я знаю, что в типичном случае использования команды dhcp, вероятно, не используется, но основная проблема также существует со статическими IP-адресами.)

Теперь я хотел бы иметь возможность разорвать соединение, а затем снова включить его без перезагрузки:

[root@rhce1 ~]# nmcli con down team0
[root@rhce1 ~]# nmcli dev status
DEVICE   TYPE      STATE         CONNECTION
enp0s3   ethernet  connected     Wired connection 1
enp0s8   ethernet  connected     hostonly
enp0s10  ethernet  disconnected  --
enp0s9   ethernet  disconnected  --
lo       loopback  unmanaged     --
[root@rhce1 ~]# nmcli con up team0
Error: Device 'veteam0' is waiting for slaves before proceeding with activation.
[root@rhce1 ~]# nmcli dev status
DEVICE   TYPE      STATE                                  CONNECTION
enp0s3   ethernet  connected                              Wired connection 1
enp0s8   ethernet  connected                              hostonly
veteam0  team      connecting (getting IP configuration)  team0
enp0s10  ethernet  disconnected                           --
enp0s9   ethernet  unavailable                            --
lo       loopback  unmanaged                              -

Теперь можно заставить интерфейс команды работать наполовину, сначала подключив enp0s10:

[root@rhce1 ~]# nmcli dev connect enp0s10
Device 'enp0s10' successfully activated with '99f54013-b20b-41d2-9661-d654b89870bd'.
[root@rhce1 ~]# nmcli con up team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

Но моя команда сейчас состоит только из одного устройства:

[root@rhce1 ~]# nmcli dev st
DEVICE   TYPE      STATE        CONNECTION
enp0s10  ethernet  connected    team0-port1
enp0s3   ethernet  connected    Wired connection 1
enp0s8   ethernet  connected    hostonly
veteam0  team      connected    team0
enp0s9   ethernet  unavailable  --
lo       loopback  unmanaged    --

Моя проблема в том, что в настоящее время я не вижу, как запустить enp0s9 без перезагрузки, так как устройство находится в состоянии «недоступно». Я правильно понимаю, что я должен можно ли запустить enp0s9 без перезагрузки, как и enp0s10? Мне кажется, что с моим устройством enp0s9 что-то не так, но я не совсем понимаю, что. Я уже пробовал назначать новые MAC-адреса, но безрезультатно. Кроме того, используя традиционную конфигурацию ifcfg, я могу без проблем запускать и отключать свой интерфейс team0.

Или мой виртуальный коммутатор (я использую только сеть VirtualBox) не поддерживает (? - или должен быть настроен для поддержки) группировки?

РЕДАКТИРОВАТЬ: Я пытался создать команду только с одним рабом. Это сработало, и я получил такое же поведение, используя enp0s9 и enp0s10 - мне пришлось сначала подключить устройство, прежде чем я смог установить соединение. Означает ли это, что мой виртуальный коммутатор отключает одно устройство (которым случайно является enp0s9, но из-за его детерминированности всегда enp0s9)?

Мне действительно не нужно «решать» это - я был бы счастлив назначить награду тому, кто поможет мне понять, что происходит.