ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux主机bonding的配置--采用主备模式

2021-05-09 14:51:46  阅读:331  来源: 互联网

标签:mysql1 bond0 -- bonding 主备 Slave root eth2 eth1


记录一些自己的心得以及方法,本着共同学习,互相进步为目的。本次总结了Linux网络bonding的配置,欢迎大家评论留言,当设备的系统部署完成后,需要进行主机网络的配置(以下是双网卡配置,并且在实际工程环境中有验证过,目前配置过的OS有Redhat6.8、Redhat6.9、centos7.7)。
一、环境介绍:
1、系统环境:

root@mysql1:/root>cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.9 (Santiago)
root@mysql1:/root>

2、网卡情况:

root@mysql1:/root>ifconfig -a | awk -F '[ ]' '{print $1}'
eth0
eth1
eth2
lo
root@mysql1:/root>

本次以eth1、eth2进行banding配置,当在IDC机房操作时,可执行ethtool -p eth1/2,然后通过观察网口灯来判断网口具体位置。

3、NetworkManager以及iptables是否已经关闭:

root@mysql1:/root>service NetworkManager status
NetworkManager is stopped
root@mysql1:/root>
root@mysql1:/root>service iptables status
iptables: unrecognized service
root@mysql1:/root>

操作环境中已经关闭了networkmanager并且没有iptable服务,参考命令如下:

service NetworkManager stop
service iptables stop

二、双网卡配置:
在真实环境下,通常为了便于操作,建议先配置一个临时IP,然后在自己电脑上配置一个同网段地址,
最后找根网线端到端通过CRT连接进行配置,操作如下:
1、配置eth1临时地址(重启网络或者重启主机失效):

root@mysql1:/root>ifconfig eth1 192.168.100.10 netmask 255.255.255.0
root@mysql1:/root>ip a |grep eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.100.10/24 brd 192.168.100.255 scope global eth1

2、通过CRT登录后操作如下(写入配置):
1)配置eth1以及eth2,操作如下:

root@mysql1:/root>cd /etc/sysconfig/network-scripts/
root@mysql1:/etc/sysconfig/network-scripts>cp ifcfg-eth1 ifcfg-eth1.bak
root@mysql1:/etc/sysconfig/network-scripts>cp ifcfg-eth2 ifcfg-eth2.bak
root@mysql1:/etc/sysconfig/network-scripts>cat >>ifcfg-eth1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes 
^C
root@mysql1:/etc/sysconfig/network-scripts>
root@mysql1:/etc/sysconfig/network-scripts>cat >>ifcfg-eth2
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes 
^C
root@mysql1:/etc/sysconfig/network-scripts>

分别vi进入eth1、eth2下注释或者删除之前多余的项。

2)配置bond0,操作如下:

root@mysql1:/etc/sysconfig/network-scripts>cat >>ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.100.10
NETMASK=255.255.255.255
GATEWAY=192.168.100.1
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
BONDING_OPTS="miimon=100 mode=1"
^C
root@mysql1:/etc/sysconfig/network-scripts>ls -ltr *bond*
-rw-r--r-- 1 root root 167 May  9 13:18 ifcfg-bond0
root@mysql1:/etc/sysconfig/network-scripts>

BONDING_OPTS是配置bonding的一个必要参数,其中:miimon=系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
mode表示模式,分为七种:
(1)mode=0 轮询策略(默认):
(2)mode=1 主-备策略(常用):
(3)mode=2 平衡策略(不常用);
(4)mode=3 广播策略(不常用);
(5)mode=4 IEEE802.3ad动态链路聚合(不常用);
(6)mode=5 适配器传输负载均衡(不常用);
(7)mode=6 适配器适应性负载均衡(不常用)

3、添加bonding模块到配置文件,目的是开机自动加载bonding模块到内核(centos7.7下可不用配置):

root@mysql1:/root>cat >>/etc/modprobe.d/bond0.conf
alias bond0 bonding
options bond0 miimon=100 mode=1
^C
root@mysql1:/root>ls -ltr /etc/modprobe.d/bond0.conf 
-rw-r--r-- 1 root root 52 May  9 13:32 /etc/modprobe.d/bond0.conf
root@mysql1:/root>

4、系统启动,自动绑定(centos7.7下可不用配置):

root@mysql1:/root>cp /etc/rc.local /etc/rc.local.bak
root@mysql1:/root>cat >>/etc/rc.local
ifenslave bood0 eth1 eth2
^C
root@mysql1:/root>diff /etc/rc.local /etc/rc.local.bak
8d7
< ifenslave bood0 eth1 eth2
root@mysql1:/root>

5、重启网络:

root@mysql1:/root>service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:  Determining if ip address 192.168.100.10 is already in use for device bond0...
                                                           [  OK  ]
Bringing up interface eth0:  Determining if ip address 192.168.100.11 is already in use for device eth0...
                                                           [  OK  ]
root@mysql1:/root>

6、查看是否已经生效:

root@mysql1:/root>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: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:6b:19:e4
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:6b:19:da
Slave queue ID: 0
root@mysql1:/root>

7、测试:
(1)目前主用网卡为eth1:

root@mysql1:/root>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: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
............

(2)宕主eth1,现象为切到eth2正常,如下:

root@mysql1:/root>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: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
..........

(3)启动eth1,目前主用为eth2:如下:

root@mysql1:/root>ifup eth1
root@mysql1:/root>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: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
.......

(4)宕eth2,现象为切到eth1,如下:

root@mysql1:/root>ifdown eth2
root@mysql1:/root>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: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
..........

(5)起eth2,如下:

root@mysql1:/root>ifup eth2
root@mysql1:/root>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: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:6b:19:e4
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:6b:19:da
Slave queue ID: 0
root@mysql1:/root>

到此,切换测试就完成了,在机房环境中,还可以通过拔主机侧的网线或者拔交换侧的网线都可以实现如上测试。

8、常用命令总结:
(1) cat /proc/net/bonding/端口号,如查看bong1:
cat /proc/net/bonding/bond1
(2)ifup+端口号,用于起某个网口,如eth2:
ifup eth2
(3)ifdown+端口号,用于宕某个网口,如eth1:
ifdown eth1
(4)查看网络情况:
ifconfig -a或者ip addr
(5)重启网络:
service network restart

标签:mysql1,bond0,--,bonding,主备,Slave,root,eth2,eth1
来源: https://blog.51cto.com/u_15182035/2763573

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有