配置雙網卡的目的:==========================
1、你想做路由器,網關
2、實現冗余
3、負載均衡
linux 主機安裝雙網卡,共享一個IP地址,對外提供訪問,實際 同樣 連接兩條物理線路到交換機
實現平時 雙網卡同時工作,分流網絡壓力,同時提供冗余備份,監控,防止物理線路的單點故障。
用於關鍵性節點服務器,高網絡IO服務器,網絡共享存儲服務器等。。。。。
Linux bonding 驅動模塊 提供了一種方法,用以把多個網絡接口(network interface)組合成一個 邏輯的 "bonded" 接口。
Bonded 接口的工作方式取決於驅動的模式:不同的模式提供了熱備份或負載均衡等不同的服 務。
實現平時 雙網卡同時工作,分流網絡壓力,同時提供冗余備份,監控,防止物理線路的單點故障。
用於關鍵性節點服務器,高網絡IO服務器,網絡共享存儲服務器等。。。。。
Linux bonding 驅動模塊 提供了一種方法,用以把多個網絡接口(network interface)組合成一個 邏輯的 "bonded" 接口。
Bonded 接口的工作方式取決於驅動的模式:不同的模式提供了熱備份或負載均衡等不同的服 務。
此外,驅動還會監控鏈路的可用性。大多數目前發布的Linux內核都以模塊(module)方式帶了bonding驅動,
ifenslave工具(主要配置工具)也都已經安裝好。
CentOS雙網卡綁定,實現負載均衡
確保關閉 SElinux Networkmanager , 給虛擬機添加一張網卡 ens37 , 確保兩張虛擬網卡都是 相同的連接模式 NAT 。
bind0 IP 地址: 192.168.10.54
先關閉兩張網卡
[root@uplooking ~]# ifdown ens33
[root@uplooking ~]# ifdown ens38
[root@uplooking ~]# ifdown ens38
新建網卡配置文件
[root@uplooking /etc/sysconfig/network-scripts]#vim ifcfg-bond0
[root@uplooking /etc/sysconfig/network-scripts]#vim ifcfg-bond0
ifcfg-bond0 配置文件 ==============
TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
IPADDR="192.168.10.54"
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=6" ##bonding 參數直接在網卡配置文件中指派,並且開機可以自動生效
## mode=1 1為儲備模式, 推薦為 6 ,不會浪費資源。
TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
IPADDR="192.168.10.54"
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=6" ##bonding 參數直接在網卡配置文件中指派,並且開機可以自動生效
## mode=1 1為儲備模式, 推薦為 6 ,不會浪費資源。
ifcfg-ens33 配置文件==============
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ifcfg-ens38 配置文件==============
TYPE=Ethernet
BOOTPROTO=none
NAME=ens38
DEVICE=ens38
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
NAME=ens38
DEVICE=ens38
ONBOOT=yes
MASTER=bond0
SLAVE=yes
重啟網絡 ============================
[root@uplooking ~]# systemctl restart network
觀察驗證: ==========================
[root@uplooking ~]# ifconfig

###查看 bind0 的狀態 #####################################
### 命令驗證 ip addr 或者 ifconfig 查看驗證===================================
### 狀態信息驗證 cat /proc/net/bonding/bond0 文件可以顯示 雙網卡 配置信息。
### 狀態信息驗證 cat /proc/net/bonding/bond0 文件可以顯示 雙網卡 配置信息。
ens 33 和 ens 37 的 啟用狀態。
cat /proc/net/bonding/bond0 通過查閱該文件,獲取bond0 網卡的工作狀態信息
通過斷開不同網卡,觀察改文件的信息變化。
[root@server-18 ~]# watch -n 1 "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: ens37
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Primary Slave: None
Currently Active Slave: ens37
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: 3
Permanent HW addr: 00:0c:29:e6:3b:9d
Slave queue ID: 0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:9d
Slave queue ID: 0
Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:a7
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:a7
驗證負載均衡的效果:
http-02 ping 192.168.10.54
arp -a 查詢 arp 表:發現 192.168.10.54 在 00:0C:29:58:4C:31 (ens33) 網卡上
arp -a 查詢 arp 表:發現 192.168.10.54 在 00:0C:29:58:4C:31 (ens33) 網卡上

http-03 ping 192.168.10.54
arp -a 查詢 arp 表:發現 192.168.10.54 在 00:0C:29:58:4C:3B (ens33) 網卡上

取消 bond0 網卡的方法 ##############################
1、ifdown bond0 ##此時網絡斷開
2、移除ifcfg-bond0 網卡的配置文件,建議不要直接刪除,而是移到別的位置,備份起來、
[root@server-18 /etc/sysconfig/network-scripts]#mv ifcfg-bond0 /root
echo -bond0 > /sys/class/net/bonding_masters ## 移除系統中的 bonding狀態。
3、修改 ens33 ens38 網卡配置,解除 與 bond0 網卡的從屬關系
BOOTPROTO=static
MASTER=bond0 去掉
SLAVE=yes 去掉
加上自己網卡的原先配置。
4、 systemctl restart network
5、 ifconfig再次觀察