雄关漫道真如铁,而今迈步从头越。
全部博文(348)
分类: 系统运维
2013-05-13 12:52:22
由于业务需求,我们的业务已经将所有主机做成集群模式现在需要将主机设备做成高可用状态也就是避免网络设备的单点导致业务的中断。目前网络拓扑如下所示:
以上拓扑中在核心交换上做的路由,在接入交换上做的链路聚合。所以在此我们需要将服务器的两个网口同时工作来避免网络设备的单点。
我们在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。bonding技术的最早应用是在集群上,为了提高集群节点间的数据传输而设计的。
一、编辑虚拟网络接口配置文件,指定网卡IP
写入如下信息和原来 ifcfg-eth0 的配置其实差不多。所以可以将ifcfg-eth0复制一份再改
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-bon0
将ifcfg-bond0 的信息修改大致如下:
DEVICE=bond0
BOOTPROTO=static
IPADDR=[IP]
NETMASK=[MASK]
BROADCAST=[BROADCAST]
GATEWAY=[GATEWAY]
ONBOOT=yes
TYPE=Ethernet
二、配置真实网卡
修改ifcfg-eth0如下:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=yes
类似地修ifcfg-eth1如下:
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=yes
三、加载模块,让系统支持bonding
默认情况下,内核已支持bonding,只需要修改/etc/modprobe.conf 这个配置文档在开始添加如下两行内容:
alias bond0 bonding
options bond0 miimon=100 mode=1
说明:
mode指定了bond0的工作模式,常用的是0和1,0表示负载均衡方式,1表示主从方式,可根据需要自行配置。常用的为0,1两种。mode=0表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作。mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。 miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。 如果eth0和eth1都写了MASTER和SLAVE,则上面的步骤做不做都无所谓。
四、重启
reboot你的服务器以使你的交换机和服务器知道目前的接入状态。
五、测试
ping你的网关,然后拔掉其中任何一根网线,如果ping没断,在插回拔掉另一根,如果仍然没有断掉则成功。
fengzhanhai2013-06-09 17:29:04
CU博客助理:嘉宾点评:刚好所负责的一个项目的LINUX系统用到这种技术,就特意关注了。虽然网上已有不少此类的文章,但本文仍然可以以行文流畅、内容明确、结构清晰、目的明确赢得称赞,很值得参考。美中不足的是,在最后的功能验证方面少了例证,有点蛇尾的感觉,略显仓促。(感谢您参与“原创博文评选”获奖结果即将公布)
呵呵,多谢指点,该博文仅限centos5.8以下系统参考,centos6.0以上是不行的啦
回复 | 举报