基于Heartbeat V1实现Web服务双机热备
--本文大纲
简介
什么是高可用集群
Heartbeat工作原理
基于heartbeat v1实现双机热备
一、简介
推荐阅读:
二、什么是高可用集群
高可用集群,英文原文为High Availability Cluster,简称HA Cluster,是指以减少服务中断(如因服务器宕机等引起的服 务中断)时间为目的的服务器集群技术。简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统 就是集群的节点(node)。
高可用集群的出现是为了使集群的整体服务尽可能可用,从而减少由计算机硬件和软件易错性所带来的损 失。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。如果某个节点失效,它的备援节点将在几 秒钟的时间内接管它的职责。因此,对于用户而言,集群永远不会停机。高可用集群软件的主要作用就是实现故障检查和业务切换的自动化。
只有两个节点的高可用集群又称为双机热备,即使用两台服务器互相备份。当一台服务器出现故障时,可由另一台服务器承担服务任务,从而在不需要人工干预的 情况下,自动保证系统能持续对外提供服务。双机热备只是高可用集群的一种,高可用集群系统更可以支持两个以上的节点,提供比双机热备更多、更高级的功能, 更能满足用户不断出现的需求变化。
三、Heartbeat工作原理
heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务
四、基于heartbeat v1实现双机热备
注:
配置高可用的前提:
- 所有节点的主机名一定要与uname -n的结果一致
- 所有节点的时间必须一致
- 各节点间能基于ssh密钥认证通信
nfs服务器 www.directory.com 192.168.1.118(同时也是集群节点的ping状态检测)
2、node1配置部分
vim /ect/hosts
1 | #uname -n |
1 | #vim /etc/sysconfig/network |
每一个节点都要这类似这样的设置
1 2 | #ssh-keygen -t rsa -P '' #ssh-copy-id -i .ssh/id_rsa.pub [email protected] |
将公钥送达到每一个节点上,(每一个节点都要如此做)
之后就可以使用yum安装EPEL中的包了
1 | #rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm |
信息层
资源管理器
资源代理
其实这里并没有配置文件,它仅提供一个配置模板,存放于
1 2 | [root@essun ha.d] # rpm -ql heartbeat |grep ha.cf /usr/share/doc/heartbeat-2 .1.4 /ha .cf |
在这个目录中我们将用到三个文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@essun heartbeat-2.1.4] #pwd /usr/share/doc/heartbeat-2 .1.4 [root@essun heartbeat-2.1.4] # ls apphbd.cf HardwareGuide.txt authkeys haresources AUTHORS hb_report.html ChangeLog hb_report.txt COPYING heartbeat_api.html COPYING.LGPL heartbeat_api.txt DirectoryMap.txt logd.cf faqntips.html README faqntips.txt Requirements.html GettingStarted.html Requirements.txt GettingStarted.txt rsync .html ha.cf rsync .txt HardwareGuide.html startstop |
1 | #cp /usr/share/doc/heartbeat-2.1.4/{authkeys,haresources,ha.cf } /etc/ha.d/ -a |
相关推荐
环境说明:本环境由两台mysql 数据库和heartbeat 组成,一台的ip 为192.168.10.197,一台为192.168.10.198,对外提供服务的vip 为192.168.10.200