使用nmcli配置主備模式鏈路聚合

夢共裡醉發表於2020-08-22
主備模式的鏈路聚合將其中一個介面置於備份狀態,並且僅當活動介面斷開連結時才會使其處於活動狀態。

現在讓我們在 CentOS 7中配置網路卡繫結,執行 ip link 命令檢視可以使用的網路卡

[root@localhost ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:7b:d3:32 brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:81:d3:be brd ff:ff:ff:ff:ff:ff

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
在這裡使用enp0s3和enp0s8兩個網路卡配置 主備模式的鏈路聚合。

建立Team介面
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' 
Connection 'team0' (4df78635-b9fc-4539-ab02-27db11c656fe) successfully added.

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
執行 nmcli con show檢視team0的配置

[root@localhost ~]# nmcli con show
NAME                UUID                                  TYPE      DEVICE 
team0               4df78635-b9fc-4539-ab02-27db11c656fe  team      team0  
enp0s3              5005942f-a7fd-4e55-b8e7-77928d8da72d  ethernet  enp0s3 
Wired connection 1  45dee64a-53b3-3e2a-b2d4-e377f3e668a2  ethernet  enp0s8

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合

新增Slave介面

在這裡使用enp0s3和enp0s8兩個網路卡作為team0的slave介面:

[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname enp0s3 master team0 
Connection 'team0-port1' (15183c4a-2053-4b53-ad58-de5a07ae3ae9) successfully added.
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname enp0s8 master team0
Connection 'team0-port2' (a34e20b0-3422-46e5-a947-bb2eaa6c0622) successfully added.

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
檢視埠配置資訊:

[root@localhost ~]# nmcli connection show 
NAME                UUID                                  TYPE      DEVICE 
team0               4df78635-b9fc-4539-ab02-27db11c656fe  team      team0  
enp0s3              5005942f-a7fd-4e55-b8e7-77928d8da72d  ethernet  enp0s3 
Wired connection 1  45dee64a-53b3-3e2a-b2d4-e377f3e668a2  ethernet  enp0s8 
team0-port1         15183c4a-2053-4b53-ad58-de5a07ae3ae9  ethernet  --     
team0-port2         a34e20b0-3422-46e5-a947-bb2eaa6c0622  ethernet  --

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合

分配IP地址

給team0分配一個靜態的IP地址並啟動team0配置:

[root@localhost ~]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.0.200/24 ipv4.gateway 192.168.0.1 ipv4.dns 202.102.128.68
[root@localhost ~]# nmcli connection up team0 
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

檢視連線配置資訊,發現team0-port1沒有繫結在enp0s3這個網路卡介面上

[root@localhost ~]# nmcli connection

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
這是以內ifcfg-team0-port1配置檔案和ifcfg-enp0s3兩個配置檔案都設定為開機啟動了
使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
所以我們需要關閉enp0s3的開機啟動,在這裡我們把 enp0s3Wired connection 1這兩個配置都關掉開機啟動

[root@localhost ~]# nmcli connection modify enp0s3 autoconnect no
[root@localhost ~]# nmcli connection modify Wired\ connection\ 1 autoconnect no

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
然後重啟一下網路服務,檢視連結配置:

[root@localhost ~]# systemctl restart network
[root@localhost ~]# nmcli connection
[root@localhost ~]# ip ad

可以看到team0-port1和team0-port2都繫結在對應的網路卡上面了,team0的ip地址顯示的是手動設定的192.168.0.200
使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合

驗證

檢視team0的狀態:

[root@localhost ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  enp0s3
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  enp0s8
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: enp0s8

使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合
現在活動的埠是enp0s8,我們斷開這個埠,看一下主備模式配置是否工作:

[root@localhost ~]# nmcli device disconnect enp0s8 
Device 'enp0s8' successfully disconnected.
[root@localhost ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  enp0s3
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: enp0s3

看到活動介面切換到enp0s3上面了。
使用nmcli配置主備模式鏈路聚合使用nmcli配置主備模式鏈路聚合

總結

主備模式的鏈路聚合將其中一個介面置於備份狀態,並且僅當活動介面斷開連結時才會使其處於活動狀態。

原文地址: https://www.linuxprobe.com/nmcli-team-port.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2675960/,如需轉載,請註明出處,否則將追究法律責任。

相關文章