Centos7多網絡卡繫結bond快速實踐

一、準備環境

VMware軟體、Centos7虛擬機器

二、新增網絡卡

為虛擬機器再新增兩塊網絡卡,檢視網絡卡資訊,可以看到有ens32、ens34、ens35三塊網絡卡

ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127。0。0。1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens32: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

inet 192。168。30。142/24 brd 192。168。30。255 scope global noprefixroute dynamic ens32

valid_lft 1615sec preferred_lft 1615sec

inet6 fe80::d089:c15:e69a:8ce4/64 scope link noprefixroute

valid_lft forever preferred_lft forever

3: ens34: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff

inet 192。168。30。143/24 brd 192。168。30。255 scope global noprefixroute dynamic ens34

valid_lft 1765sec preferred_lft 1765sec

inet6 fe80::a4af:b843:9032:9dd3/64 scope link noprefixroute

valid_lft forever preferred_lft forever

4: ens35: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff

inet 192。168。30。141/24 brd 192。168。30。255 scope global noprefixroute dynamic ens35

valid_lft 1765sec preferred_lft 1765sec

inet6 fe80::b7cf:76d7:23aa:63c2/64 scope link noprefixroute

valid_lft forever preferred_lft forever

檢視網絡卡配置檔案,可以看到新增網絡卡後,並沒有生成對應的網絡卡檔案

ls /etc/sysconfig/network-scripts/ifcfg*

/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-lo

可以為網絡卡生成配置檔案,但在本文中不需要這樣做

nmcli connection add type ethernet con-name ens34 ifname ens34 autoconnect yes

nmcli connection add type ethernet con-name ens35 ifname ens35 autoconnect yes

再次檢視網絡卡配置檔案,生成成功

ls /etc/sysconfig/network-scripts/ifcfg*

/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens35

/etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-lo

三,選定網絡卡繫結模式

多網絡卡一共有7種bond模式,這裡直接選用mode=6 (balance-alb) Adaptive load balancing(介面卡適應性負載均衡),該模式不需要交換機支援

四、開始配置

1、載入bonding模組,並設定開機啟動

[root@localhost ~]# lsmod | grep bonding[root@localhost ~]# modprobe bonding[root@localhost ~]# lsmod | grep bondingbonding 152979 0

啟用rc。local開機啟動項

chmod +x /etc/rc。d/rc。local

在檔案中寫入modprobe bonding

2、建立bond網口配置檔案並進行配置

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

NAME=bond0

TYPE=Bond

BONDING_MASTER=yes

IPADDR=192。168。30。250

PREFIX=255。255。255。0

GATEWAY=192。168。30。2

DNS1=114。114。114。114

ONBOOT=yes

BOOTPROTO=none

BONDING_OPTS=“mode=6 miimon=100”

3、修改三塊網絡卡的配置

vi /etc/sysconfig/network-scripts/ifcfg-ens32

DEVICE=ens32

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-ens34

DEVICE=ens34

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-ens35

DEVICE=ens35

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

4、重新載入網路配置

注意:這一步會斷網!

nmcli connection reload && systemctl restart network。service

使用新IP連結ssh

五、驗證繫結是否生效

cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3。7。1 (April 27, 2011)

Bonding Mode: adaptive load balancing

Primary Slave: None

Currently Active Slave: ens32

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: ens32

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:06

Slave queue ID: 0

Slave Interface: ens34

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:1a

Slave queue ID: 0

Slave Interface: ens35

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:10

Slave queue ID: 0

檢視網絡卡狀態

ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127。0。0。1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens32: mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

3: ens34: mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff

4: ens35: mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff

5: bond0: mtu 1500 qdisc noqueue state UP group default qlen 1000

link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

inet 192。168。30。250/24 brd 192。168。30。255 scope global bond0

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fe54:206/64 scope link

valid_lft forever preferred_lft forever

檢視介面頻寬,頻寬為3G

ethtool bond0

Settings for bond0:

Supported ports: [ ]

Supported link modes: Not reported

Supported pause frame use: No

Supports auto-negotiation: No

Supported FEC modes: Not reported

Advertised link modes: Not reported

Advertised pause frame use: No

Advertised auto-negotiation: No

Advertised FEC modes: Not reported

Speed: 3000Mb/s

Duplex: Full

Port: Other

PHYAD: 0

Transceiver: internal

Auto-negotiation: off

Link detected: yes

連續ping測試,並禁用第一個網絡卡,此時會丟一個包,網路依然正常執行

來自 192。168。30。250 的回覆: 位元組=32 時間

來自 192。168。30。250 的回覆: 位元組=32 時間

來自 192。168。30。250 的回覆: 位元組=32 時間=1ms TTL=64

請求超時。

來自 192。168。30。250 的回覆: 位元組=32 時間=1ms TTL=64

來自 192。168。30。250 的回覆: 位元組=32 時間

完畢!

TAG: FF00lft網絡卡192