前言
高可用性集群,简称HA集群,是指旨在减少服务中断时间的服务器集群技术。从上面可以看出,LVS集群本身无法实现高可用性。例如,Director服务器无法检测真实服务器的运行状况。一旦一个或所有真实服务器关闭,Director服务器将继续转发请求,这将使站点无法访问。同样,如果Director服务器停机,站点就更不可能正常运行。本文将阐述如何基于heartbeatv1实现LVS集群的高可用性。
心跳
简介
Heartbeat是Linux-HA项目的一个组件。自1999年以来,已经发布了许多版本。它是开源Linux-HA项目最成功的例子,在业界得到了广泛的应用。
工作原理
心跳包括两个核心部分:心跳监控部分和资源接管部分。可以通过网络链路和串口进行心跳监测,支持冗余链路。他们互相发信息告诉对方自己的现状。如果在规定时间内没有收到对方发送的消息,则认为对方无效。此时,需要启动资源接管模块来接管其他主机上运行的资源或服务。
基于心跳v1的LVS集群的高可用性
实验拓扑
实验环境
node1:node1.scholar.com172.16.10.123centos6.6
node2:node2.scholar.com172.16.10.124centos6.6
真实服务器1:192.168.1.10(VIP)172.16.10.125(RIP)centos6.6
真实服务器2:192.168.1.10(VIP)172.16.10.126(RIP)centos6.6
注释
配置高可用性集群的前提:(以双节点心跳为例)
①时间必须保持同步。
使用ntp服务器
②节点之间必须通过名称进行通信。
解析节点名称
/etc/主机
集群中使用的主机名是由“uname-n”表示的主机名
③平结
仅偶数节点需要。
④用于通信的ssh密钥认证
配置过程
时间同步
请保证两个节点的时间同步,这里不做详细描述。
名称解析配置
Ssh密钥配置
[root@node1 ~]# ssh-keygen -t rsa -P '' [root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2 [root@node2 ~]# ssh-keygen -t rsa -P '' [root@node2 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node1 [root@node1 ~]# date; ssh node2 'date' #测试 Sun Jun 7 17:46:03 CST 2015 Sun Jun 7 17:46:03 CST 2015安装所需的软件包。
#解决依赖关系 [root@node1 ~]# yum install perl-TimeDate net-snmp-libs libnet PyXML -y #需epel源支持 [root@node1 ~]# cd heartbeat2 [root@node1 heartbeat2]# ls heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-gui-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm [root@node1 heartbeat2]# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm [root@node1 heartbeat2]# yum install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm -y #两个节点都执行以上 *** 作配置心跳
准备配置文件
算法密钥
主配置文件
配置资源管理器
[root@node1 ~]# vim /etc/ha.d/haresources node1.scholar.com 192.168.1.10/32/eth0/192.168.1.10 ldirectord::/etc/ha.d/ldirectord.cf将配置文件传递给备用节点
配置ldirectord
准备配置文件并配置
将配置文件发送到备用节点,禁止每个节点的ldirectord启动
准备后备文件
RS设置
配置内核参数
准备健康检测文件和站点文件。
测试页
开始心跳
检查资源是否有效。
高可用性测试
刷新页面
模拟RS2停机时间
不管你怎么刷新页面,都是RS1
接下来,让我们也停止RS1。
返回回退页面。
让我们停止节点1,看看节点2是否可以接管资源。
[root@node1 ~]# service heartbeat stop如果成功接管资源,上述访问将不受影响。当然,如果node1的资源会在下一次启动时再次被抢,我就不在这里演示了。
基于心跳v1的LVS高中的实现可以在这里完成。
结尾
好了,以上就是基于heartbeatv1实现LVS高可用的全部内容。整个过程还挺好玩的。如果在配置过程中遇到任何问题,您可以留言。下一部分将解释基于heartbeatv2的高可用性集群。有兴趣可以继续关注。以上仅供个人学习。如有错漏,请勿喷~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)