1. 程式人生 > >CentOS 雙網卡綁定實現平衡負載

CentOS 雙網卡綁定實現平衡負載

需要 pac dfa glob class 模式 pan bsp 常用

綁定兩塊網卡主要為了解決網卡故障、負載均衡等問題。

1、在vm加一塊網卡,登錄後檢查網卡是否識別。

分別用ip addr和nmcli查看網卡的情況
[root@bigdata-senior01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:ea:31:47 brd ff:ff:ff:ff:ff:ff inet 192.168.31.10/24 brd 192.168.31.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feea:
3147/64 scope link valid_lft forever preferred_lft forever 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:ea:31:51 brd ff:ff:ff:ff:ff:ff
新加入的網卡接口是ens37

2、常見的綁定模式

常用的有三種
mode=0:平衡負載模式,有自動備援,但需要交換機支持及設定,
兩個交換機端口需要做聚合,該模式下bond所綁定的網卡的IP都被修改成相同的mac地址,交換機做了聚合後,聚合下的幾個端口也被捆綁成一個mac地址
mode
=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。 mode=6:平衡負載模式,有自動備援,不用交換機支持,綁定的是不同的MAC地址。

3、用例,環境CentOS7.x(CentOS6是另外的配置)

#在/etc/sysconfig/network-scripts目錄下配置ens33,ens37,bond0三個網卡接口,bond0是抽象網卡
[root@bigdata-senior01 network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens33
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BONDING_MASTER=yes [root@bigdata
-senior01 network-scripts]# cat ifcfg-ens37 TYPE=Ethernet BOOTPROTO=none DEVICE=ens37 ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes
BONDING_MASTER=yes
#實際是把原來網卡1的ip配置放入了bond0裏
BOOTPROTO=none
DEVICE=bond0
TYPE=Bond
ONBOOT=yes
ZONE=public
IPADDR=192.168.31.10
NETMASK=255.255.255.0
GATEWAY=192.168.31.2
DNS1=192.168.31.2
USERCTL=no
NM_CONTROLLED=no
BONDING_MASTER=yes
BONDING_OPTS="mode=6 miimon=100"
重啟網絡systemctl restart network,如果原來network就沒啟動,那麽使用systemctl start network

#ens33和ens37應該是沒有配置IP的。
[root@bigdata-senior01 modprobe.d]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:0c:29:ea:31:47 brd ff:ff:ff:ff:ff:ff
3: ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:0c:29:ea:31:47 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0c:29:ea:31:47 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.10/24 brd 192.168.31.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feea:3147/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever


查看bonding的狀態
[root@localhost ~]# 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: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ea:31:47
Slave queue ID: 0

Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ea:31:51
Slave queue ID: 0

#測試,在ping的過程中中斷一個網卡的連接(可以在VM的屬性裏取消連接勾選),丟包2%,網卡從ens33自動切成ens34
--- 192.168.1.103 ping statistics ---
86 packets transmitted, 84 received, 2% packet loss, time 85275ms
rtt min/avg/max/mdev = 0.471/1.057/1.684/0.348 ms



CentOS 雙網卡綁定實現平衡負載