Isa*_*aac 8 virtualbox networkmanager centos network-teaming
在 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
Run Code Online (Sandbox Code Playgroud)
我现在有以下连接:
[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
Run Code Online (Sandbox Code Playgroud)
这将正确启动所有接口:
[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 --
Run Code Online (Sandbox Code Playgroud)
我从 dhcp 获得了我的虚拟团队界面的 IP:
[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
Run Code Online (Sandbox Code Playgroud)
(我知道在典型的团队用例中,可能没有使用 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 -
Run Code Online (Sandbox Code Playgroud)
现在可以通过先连接 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)
Run Code Online (Sandbox Code Playgroud)
但我的团队现在只有一台设备:
[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 --
Run Code Online (Sandbox Code Playgroud)
我的问题是,我目前看不到如何在不重启的情况下启动 enp0s9,因为设备处于“不可用”状态。我的理解是否正确,我应该能够在不重新启动的情况下启动 enp0s9,就像 enp0s10 一样?对我来说,我的设备 enp0s9 看起来有些可疑,但我不太明白是什么。我已经尝试分配新的 MAC 地址,但没有帮助。此外,使用传统的 ifcfg 配置,我可以毫无问题地打开和关闭我的 team0 界面。
或者可能是我的虚拟交换机(我使用的是 VirtualBox 主机网络)不支持(? - 或需要配置为支持)组队?
编辑:我尝试建立一个只有一个奴隶的团队。那行得通,我使用 enp0s9 和 enp0s10 得到了相同的行为 - 我必须先连接设备,然后才能建立连接。这是否意味着我的虚拟交换机正在断开一个设备的连接(偶然是 enp0s9 - 但因为它的确定性,它总是 enp0s9)?
我真的不需要“解决”这个问题 - 我很乐意将赏金提供给帮助我了解正在发生的事情的人。
我们经常使用绑定/组合,主要是在 Oracle Unbreakable Linux (RH CLONE) 上。我们通常使用 NMTUI 因为我们很懒......但我在你所做的事情中注意到的是:
我们不必这样做。如果我们关闭团队界面,当我们打开它时,它会检查从站上的连接并激活它们,而无需任何进一步的命令。你从来没有真正“击倒”任何奴隶,所以你也不应该“提升”他们。
你等奴隶上来的时间够长吗?我们的几乎立即就出现了,我在许多服务器上都有这个,包括裸机上的 vsphere 以及 Oracle Unbreakable Linux。
“绑定”(团队)接口应该管理所有绑定成员(从属)。是的,您也可以将其与 DHCP 一起使用。
一些输出示例:
[root@goliath etc]# nmcli connection show
NAME UUID TYPE DEVICE
Ethernet connection 1 d676e7bb-4612-4946-b5c9-6afd694ec754 802-3-ethernet em1
Ethernet connection 3 8c6b99d1-e8c0-494d-9795-4fec4f5ba871 802-3-ethernet em3
Bond connection 1 1e7952cf-2b62-4494-8b3c-2b7bdde786c8 bond bond0
Ethernet connection 4 7c79016c-95a8-4e19-9a9b-30ea20d5455c 802-3-ethernet em4
Ethernet connection 2 b8c82461-9fae-4912-adc8-fc40fb13125b 802-3-ethernet em2
[root@goliath etc]#
[root@goliath etc]# nmcli dev status
DEVICE TYPE STATE CONNECTION
bond0 bond connected Bond connection 1
em1 ethernet connected Ethernet connection 1
em2 ethernet connected Ethernet connection 2
em3 ethernet connected Ethernet connection 3
em4 ethernet connected Ethernet connection 4
lo loopback unmanaged --
[root@goliath etc]#
Run Code Online (Sandbox Code Playgroud)
nmtui 的样子如下:
我还从其他服务器之一获取了数据,所以也许这会有所帮助:
]# nmcli dev show
GENERAL.DEVICE: bond0
GENERAL.TYPE: bond
GENERAL.HWADDR: 80:18:44:E5:39:E8
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: etherchannel 13 on CISCO
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/4
IP4.ADDRESS[1]: 192.168.10.10/0
IP4.GATEWAY: 192.168.10.129
IP4.ROUTE[1]: dst = 192.168.10.129/32, nh = 0.0.0.0, mt = 300
IP4.ROUTE[2]: dst = 192.168.10.10/32, nh = 0.0.0.0, mt = 0
IP4.ROUTE[3]: dst = 192.168.10.129/32, nh = 0.0.0.0, mt = 0
IP4.ROUTE[4]: dst = 0.0.0.0/0, nh = 192.168.10.129, mt = 0
IP4.ROUTE[5]: dst = 0.0.0.0/0, nh = 192.168.10.129, mt = 300
IP4.DNS[1]: 192.168.10.203
IP4.DNS[2]: 10.1.8.9
IP6.ADDRESS[1]: fe80::8218:44ff:fee5:39e8/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = fe80::/64, nh = ::, mt = 256
GENERAL.DEVICE: em2
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 80:18:44:E5:39:E8
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Ethernet connection 2
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: on
IP4.GATEWAY: --
IP6.GATEWAY: --
GENERAL.DEVICE: em3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 80:18:44:E5:39:E8
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Ethernet connection 3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.GATEWAY: --
IP6.GATEWAY: --
GENERAL.DEVICE: em4
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 80:18:44:E5:39:E8
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Ethernet connection 4
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: on
IP4.GATEWAY: --
IP6.GATEWAY: --
GENERAL.DEVICE: em1
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 80:18:44:E5:39:EA
GENERAL.MTU: 1500
GENERAL.STATE: 30 (disconnected)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: on
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
IP6.ADDRESS[1]: ::1/128
[root@loki xyz]# nmcli dev status
DEVICE TYPE STATE CONNECTION
bond0 bond connected etherchannel 13 on CISCO
em2 ethernet connected Ethernet connection 2
em3 ethernet connected Ethernet connection 3
em4 ethernet connected Ethernet connection 4
em1 ethernet disconnected --
lo loopback unmanaged --
Run Code Online (Sandbox Code Playgroud)
我最初遇到的最困难的部分是确保服务器和网络交换机之间的绑定配置正确,以便双方都能理解绑定。然后我们通过拔掉电缆进行测试。
我真的希望这有帮助。
谢谢,大卫
| 归档时间: |
|
| 查看次数: |
4497 次 |
| 最近记录: |