red hat部署原理(redhat7网卡bond配置主备模式及LACP模式)
red hat部署原理(redhat7网卡bond配置主备模式及LACP模式)# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27 2011) Bonding Mode: fault-tolerance (active-backup) #主备模式 Primary Slave: None Currently Active Slave: eno50332208 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eno50332208 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00
项目中经常碰到网卡绑定的场景,下面记录一下linux7上通过bond实现网卡的高可用,常见的bond模式如下,我们在项目实施过程总常用到的是mode1(主备)不需要交换机端配置及mode4 (lacp)需要交换机端做响应配置。
bonding的七种工作模式:
bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.
balance-rr (mode=0) 默认  有高可用 (容错) 和负载均衡的功能  需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
active-backup (mode=1) 只有高可用 (容错) 功能  不需要交换机配置  这种模式只有一块网卡工作  对外只有一个mac地址。缺点是端口利用率比较低
balance-xor (mode=2) 不常用
broadcast (mode=3) 不常用
802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置
balance-tlb (mode=5) 不常用
balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
    
主备方式的绑定步骤:
- 1、删除原有网卡的profile
 
### on RHEL7.0 use this:
# for connection in $(nmcli -t --fields name device connection | awk -F ":" '($2 ~ "ens{22 33}") {print $1}') ; do \
        nmcli connection delete $connection ; done
# nmcli connection reload
### on RHEL7.2 use this instead  accounting to a different output syntax of "nmcli":
# for connection in $(nmcli -t --fields name device connection | awk -F ":" '($1 ~ "ens[22 33]") {print $1}') ; do \
        nmcli connection delete $connection ; done
# nmcli connection reload
    
或者手动删除 查看当前的连接,本次实验的两块网卡是eno50332208及eno33554984
[root@sourcedb network-scripts]# nmcli connection show
NAME         UUID                                  TYPE            DEVICE      
virbr0       fc80e2e4-63fa-43ee-9937-016b24bd14c4  bridge          virbr0      
eno16777736  01698412-b602-401c-bcfc-d7d2d3d83107  802-3-ethernet  eno16777736 
eno50332208  5b70dc08-5b99-430b-856b-d9706ce17993  802-3-ethernet  --          
eno33554984  0b978ce7-510a-46ab-8a70-e4567e064683  802-3-ethernet  --
如果profile不存在可以不执行删除操作。
此处执行删除操作
# nmcli connection delete eno50332208
# nmcli connection delete eno33554984
    
创建bond(主备模式)
### With a static IP of  192.168.1.10/24 and gateway of 192.168.1.1:
# nmcli connection add type bond ifname bond0 con-name bond0 mode active-backup MIImon 100 ip4 192.168.1.10/24 gw4 192.168.1.1
    
添加slave profile,ifname是真实设备名称 con-name可以自己定义
# nmcli connection add type bond-slave ifname eno50332208 con-name eno50332208 master bond0
# nmcli connection add type bond-slave ifname eno33554984 con-name eno33554984 master bond0
    
查看当前连接
# nmcli connection show
NAME         UUID                                  TYPE            DEVICE      
bond0        f00f0026-49d3-4eee-9b66-9331a007e828  bond            bond0       
eno50332208  5b70dc08-5b99-430b-856b-d9706ce17993  802-3-ethernet  eno50332208 
eno33554984  0b978ce7-510a-46ab-8a70-e4567e064683  802-3-ethernet  eno33554984 
    
查看绑定状态
# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27  2011)
Bonding Mode: fault-tolerance (active-backup)    #主备模式
Primary Slave: None
Currently Active Slave: eno50332208
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eno50332208
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:1c
Slave queue ID: 0
Slave Interface: eno33554984
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:12
Slave queue ID: 0
[root@sourcedb network-scripts]# 
    

ip a查看当前的网卡mac地址已变为一致。
    
以上完成了主备模式的网卡绑定。如果我们想修改网卡的绑定模式为mode4即lacp模式呢?执行如下命令进行修改;
# nmcli connection modify bond0 bond.options mode=4
# service network restart
Restarting network (via systemctl):                        [  OK  ]
# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27  2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation   #已经修改为lacp了
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
	Aggregator ID: 1
	Number of ports: 1
	Actor Key: 9
	Partner Key: 1
	Partner Mac Address: 00:00:00:00:00:00
Slave Interface: eno33554984
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:12
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: monitoring
Partner Churn State: monitoring
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    port key: 9
    port priority: 255
    port number: 1
    port state: 205
details partner lacp pdu:
    system priority: 65535
    oper key: 1
    port priority: 255
    port number: 1
    port state: 3
Slave Interface: eno50332208
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:1c
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: monitoring
Partner Churn State: monitoring
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    port key: 9
    port priority: 255
    port number: 2
    port state: 197
details partner lacp pdu:
    system priority: 65535
    oper key: 1
    port priority: 255
    port number: 1
    port state: 3
    
配置lacp模式命令如下,指定关键字mode为802.3ad
# nmcli connection delete bond0   #删除原有配置
#nmcli connection delete eno50332208
# nmcli connection delete eno33554984
# nmcli connection add type bond ifname bond0 con-name bond0 mode 802.3ad miimon 100 ip4 192.168.1.10/24 gw4 192.168.1.1
# nmcli connection add type bond-slave ifname eno50332208 con-name eno50332208 master bond0
# nmcli connection add type bond-slave ifname eno33554984 con-name eno33554984 master bond0
# nmcli connection up bond0 
# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27  2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
	Aggregator ID: 3
	Number of ports: 1
	Actor Key: 9
	Partner Key: 1
	Partner Mac Address: 00:00:00:00:00:00
Slave Interface: eno33554984
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:12
Slave queue ID: 0
Aggregator ID: 3
Actor Churn State: monitoring
Partner Churn State: monitoring
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    port key: 9
    port priority: 255
    port number: 1
    port state: 205
details partner lacp pdu:
    system priority: 65535
    oper key: 1
    port priority: 255
    port number: 1
    port state: 3
Slave Interface: eno50332208
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:25:08:1c
Slave queue ID: 0
Aggregator ID: 4
Actor Churn State: monitoring
Partner Churn State: monitoring
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    port key: 9
    port priority: 255
    port number: 2
    port state: 197
details partner lacp pdu:
    system priority: 65535
    oper key: 1
    port priority: 255
    port number: 1
    port state: 3
          




