网卡HA是什么意思,顾名思义, 就是通过特点的技术来实现网卡的高可用性。
linux 自带的bond技术可以实现 linux 双网卡绑定和负载均衡。
本文就以笔者自己的实验环境为例来搭建 网卡的HA,以及如果去除bond.
一、搭建 HA
第一步:配置设定文件
1) 建立虚拟网络接口ifcfg-bond0的配置文件。
vim /etc/sysconfig/network-scripts/ifcfg-bond0
然后加入以下的内容:
#虚拟设备的名称
DEVICE=bond0
IPADDR=192.168.110.22
NETMASK=255.255.255.0
NETWORK=192.168.110.0
GATEWAY=192.168.110.1
#BONDING_OPTS="mode=1 arp_interval=60 arp_ip_target=+192.168.110.1"
#miimon是指定隔多长时间进行链路监测,单位是ms
#mode是表示绑定口的工作模式,有0-6共7种,常用的是0和1 ,后面几种不太清楚是干什么的, 怎么用
#mode=1表示是acitve-backup的方式, 两张卡一用一备的状态
#mode=0表示是round-robin的方式, 同时工作工作在负载均衡状态
#mode=2 表示是balance-xor,表示提供负载均衡和和耐故障功能
#mode=3表示是broadcast,广播策略,耐故障功能。把数据以广播的方式,发给包含在该bond口内的所有网口
#mode=4表示是802.3ad IEEE 802.3ad动态链接集合
#mode=5表示是balance-tlb
自动适应传输负载均衡策略。
#mode=6表示是balance-alb
自动适应负载均衡策略
BONDING_OPTS="mode=1 miimon=100"USERCTL=noONBOOT=yesBOOTPROTO=none
2). 修改/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#这个最好是显式的给出
BOOTPROTO=none #启动时不使用任何的协议
3). 修改/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#这个最好是显式的给出
BOOTPROTO=none #启动时不使用任何的协议
4). 修改/etc/modprobe.conf
加入以下的两行
alias bond0 bonding
alias eth0 e1000
第二步:加载bonding模块
1) 加载模块
modprobe bonding
2)确认模块是否加载成功
第三步:确认网络
1. 重启网络
service network restart
或者是/etc/init.d/network restart
2. 查看状态
由上面可以看出,
1) 现在的bonding 的模式是active-backup, mode=1
2) 现在active 的网口 是eth0
3) 他们使用的物理地址是一样的。
如下的内容,引用自Linux网口绑定 Litvip Linux 爱好者
如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和eth3组成bond1,
那么网口设置文件的设置方法和上面第1步讲的方法相同,只是/etc/modprobe.d/bonding.conf的设定就不能像下面这样简单的叠加了:
1
2
3
4
|
alias
bond0 bonding
options bonding mode=1 miimon=200
alias
bond1 bonding
options bonding mode=1 miimon=200
|
正确的设置方法有2种:
第一种,你可以看到,这种方式的话,多个bond口的模式就只能设成相同的了:
1
2
3
|
alias
bond0 bonding
alias
bond1 bonding
options bonding max_bonds=2 miimon=200 mode=1
|
第二种,这种方式,不同的bond口的mode可以设成不一样:
1
2
3
|
alias
bond0 bonding
options bond0 miimon=100 mode=1
install
bond1
/sbin/modprobe
bonding -o bond1 miimon=200 mode=0
|
仔细看看上面这2种设置方法,现在如果是要设置3个,4个,甚至更多的bond口,你应该也会了吧!
引用结束
二、去除HA
这部分的内容好像在网上没有找到, 以下是笔者自己的摸索,记录下来的内容,方便以后自己的使用。
1) 停用bond0
ifdown bond0

2) 删除
/etc/sysconfig/network-scripts/ifcfg-bond0
3) 将eth0与 eth1 设置 回去
DEVICE=eth0
USERCTL=no
ONBOOT=yes
#MASTER=bond0
#SLAVE=yes
HWADDR=00:50:56:09:01:05
BOOTPROTO=static
IPADDR=192.168.110.15
NETMASK=255.255.255.0
4) 去除bonding的相关设定
5) 重启机器
就可以