linux bonding技术,Linux主机bonding的配置-采用主备模式-服务器系统-开发文档

记录一些自己的心得以及方法,本着共同学习,互相进步为目的。本次总结了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: 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值