linux下lvs Keepalived实现高可用服务器集群
什么是LVS? LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.LVS集群采用IP负载均衡技术和基于内容请求分发技术,可以将请求均衡地转移到不同的服务器上执行,从而将一组服务器构成一个高性能的、高可用的虚拟服务器. LVS由章文嵩开发.章文嵩1973年出生,于国防科技大学获得博士学位.1998年,章文嵩创立LVS并成为主要开发人员,此前亦曾出任TelTel首席科学家,从事大规模分布式的通信系统的设计和开发. LVS有ip隧道模式,有nat模式,有DR模式.我的实验为NAT模式. LVS实验,实验开始前先看下我用的系统版本,我用的是Linux redhat 4.6 系统,ipvs包版本为ipvsadm-1.24.tar.gz,keepalived的版本为keepalived-1.1.20.tar.gz,内核版本如下图
实验的拓扑如下图: Lvs发展出一个名为IPVS(ip virtual server)的核心模组,直接于linux的核心中运作,进行连线的导引与调度,IPVS模组于2.4.23内核开始正式纳如linux的内核中.输入命令grep “CONFIG_IP_VS” /boot/config-`uname -r`可以查看是否包含IP_VS模组,如下图: 在192.168.3.2的主机上,安装ipvsadm-1.24.tar.gz包,在安装这个包的时候有点小插曲,在Makefile文件里,include项中的路径不存在,我们用软连接的方式,创建这个路径.如下图: 如下图:在/usr/src下面根本没有Linux这么个目录,
可以用软连接来完成,如下图: 接下来我们就可以直接安装了.如下图 等待装完之后,我们要查看下安装是否成功,验证的方法就是看有没有ipvsadm这个命令打ipvs按TAB键补全下,看是否能补全,是否能出来ipvsadm,或者执行下ipvsadm 拥有帝国一切,皆有可能。欢迎访问phome.net 安装成功之后,我们要开启防火墙.并且配置防火墙规则,开启forward机制.如下图: 接下来我们配置,lvs规则 注意:在192.168.0.38上配置完后,记得要把后端真实服务器的网关指向192.168.0.38的内网网口192.168.3.2如下图:
然后用另一台机器来访问192.168.0.38,如下图:
从上面访问的结果我们可以看的出,结果很成功,但是如果有一台真实服务器挂掉了,再看看结果:
出现上面的结果,如果在真实环境下,有客户正好访问到这个点,我的网站就不能再为一部分客户服务了,这样就失去了,服务器的高可用性.出现了这种的情况,我们该怎么办呢?解决办法的思路是,如果当一台主机挂了之后,让LVS程序知道哪台服务器挂了,并从规则中剔除,那到底怎么实现呢?哈哈!这就是要即将要讨论的Keepalived. Keepalived的工作原理:
安装完之后,先不着急启动Keepalived把Keepalived配置文件先搞定,在Keepalived解压目录下,可以看到很多的模版,找一个适合的模版,做配置文件:如下图: 取keepalived,conf.fwmark模版,进行修改原配置文件,改完后如下图: 在启动Keepalived前,我们先把LVS规则清除了,如下图: 启动Keepalived,如下图用-f来指定配置文件路径: 然后用ipvsadm -ln 看下规则:如下图: 规则已经有了,那么在再用另外的主机测试:如下图: 很成功,但是我们要检验的是当一台主机挂了以后,会有什么效果,关闭192.168.3.4的网卡在看结果. 这样就解决了我们的断点问题,实现了服务器的高可用. Keepalived切换的速度很快.如果一但当掉的主机活,它会立马切回来. 本文出自 “网络技术” 博客,谢绝转载! 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |