linux高级技巧:集群之keepalived-DevilRex119
Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障。使用多台节点安装keepalived。其他的节点用来提供真实的服务,同样的,他们对外表现一个虚拟的IP。主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。keepalived的原理图如下所示:
http://s2.运维网.com/wyfs02/M02/45/D8/wKiom1PsaeLBE18EAADq2YWQmfs324.jpg
最左边是客户机,它访问我们的虚拟IP。然后我们有master(主控制节点)和backup(备用控制节点)。最右边的就是我们提供服务的真机了。
2.搭建keepalived服务
我们使用四个节点来做这个实验,两个充当控制节点,另外两个提供服务。然后用真机的浏览器访问虚拟IP。
注意事项:
[*] 1.所有节点要做好解析。
[*] 2.时间同步
[*] 3.yum源设置好(除了基本的源,高可用等也要添加)
如图是我们的操作控制台:
http://s4.运维网.com/wyfs02/M01/45/D9/wKioL1PsavyBhXUFAACUVhK7wNc889.jpg
keepalived的安装包为:
keepalived-1.2.13.tar.gz
两个控制节点分别解压和编译、安装keepalived:
http://s4.运维网.com/wyfs02/M02/45/D8/wKiom1PsaeSSac5FAACcdiXafC4228.jpg
在编译keepalived之前我们需要安装一些相关的包:
http://s3.运维网.com/wyfs02/M00/45/D8/wKiom1PsaeTAuvG_AAHkdarjYWo463.jpg
http://s2.运维网.com/wyfs02/M00/45/D9/wKioL1Psav3wwQqZAAD8GCkgLb0980.jpg
编译keepalived源码包:
http://s5.运维网.com/wyfs02/M02/45/D9/wKioL1Psav3iUM5zAAEkFzl-vPI086.jpg
这个是我们的 编译结果:
http://s8.运维网.com/wyfs02/M00/45/D8/wKiom1PsaeWQVYDDAAFZoPGusf4214.jpg
然后我们进行安装:
http://s1.运维网.com/wyfs02/M01/45/D8/wKiom1PsaeXB1qh7AAHHKat-AG4418.jpg
上述的步骤在两个控制节点上都要进行,最后在配置文件中我们再设定主副节点。
建立软链接,把keepalived的配置文件和服务启动文件链接到指定位置:
http://s7.运维网.com/wyfs02/M01/45/D9/wKioL1Psav7jScjUAAB6-ML6LsI922.jpg
设置配置文件:
http://s9.运维网.com/wyfs02/M00/45/D9/wKioL1Psav7yJHQGAABI-oYVb7g374.jpg
我们设置了邮件的发送地址和ip,MASTER制定为主控制节点,虚拟id两个节点必须相同。delay_loop 指定6秒检测服务状态。
http://s6.运维网.com/wyfs02/M01/45/D8/wKiom1PsaeWQ4gBuAADcDcx7K5A788.jpg
设置虚拟ip,这是我们客户机访问的IP。
http://s9.运维网.com/wyfs02/M02/45/D8/wKiom1PsaeXj_ngkAAA_YXCxngI755.jpg
这个是剩余的配置文件内容,我们设置连接方式为直连方式DR,负载策略为轮叫方式rr,协议威TCP。然后我们设置了两个提供服务节点的IP和端口。分别为192.168.2.108和192.168.2.109的80端口。也就是网页访问服务。
http://s5.运维网.com/wyfs02/M02/45/D9/wKioL1Psav7gz4P2AADHNkF8aoo707.jpg
然后我们设置备机的配置文件,模式设置为BACKUP,权重修改为50。这样才可以优先让主控制节点接管。
然后我们打开keepalived服务,并查看日志,发现已经识别了192.168.2.110虚拟IP:
http://s4.运维网.com/wyfs02/M01/45/D9/wKioL1Psav6CmPhqAAII23y0iyk857.jpg
在两个提供真机的服务节点上安装arptable_jf软件:
http://s8.运维网.com/wyfs02/M02/45/D8/wKiom1PsaeaT8SaPAADFSo3Nw6o735.jpg
设置arptables的策略:
http://s6.运维网.com/wyfs02/M00/45/D8/wKiom1PsaebR6s7cAAFhby4DE1o664.jpg
http://s3.运维网.com/wyfs02/M00/45/D9/wKioL1Psav-RhFdeAAFqUtV6D_4879.jpg
然后我们要在两个控制节点上安装ipvsadm软件来监控服务的状态:
http://s5.运维网.com/wyfs02/M02/45/D9/wKioL1Psav_CJZw8AAFKtlDq4ew264.jpg
http://s6.运维网.com/wyfs02/M00/45/D8/wKiom1PsaeejXmroAAFbZBiN9w8188.jpg
如果无法安装的话,查看yum源,设置成如下所示:
http://s2.运维网.com/wyfs02/M01/45/D8/wKiom1PsaeeyGEsSAAE8E5SuU1Y620.jpg
在两个提供服务的真机上安装httpd,设置完默认发布内容后启动服务:
http://s1.运维网.com/wyfs02/M01/45/D9/wKioL1PsawDC8BsoAADKgsy6pxk243.jpg
然后我们在主控制节点上查看当前的监控信息:
http://s1.运维网.com/wyfs02/M00/45/D9/wKioL1PsawCTVMEzAACtGtM-JEQ676.jpg
在真机的浏览器上查看192.168.2.110的信息。因为是轮叫策略,所以会轮换显示192.168.2.108和192.168.2.109的默认发布内容:
http://s5.运维网.com/wyfs02/M01/45/D8/wKiom1PsaefwYWreAACJnNI0QBM719.jpg
3小结:
这样我们就搭建了keepalived下的高可用集群。这个的复杂程度要低于heartbeat,在生产环境中也是非常常见的。
原文链接:http://blog.chinaunix.net/uid-29622064-id-4406581.html
页:
[1]