基于Heartbeat V1实现Web服务双机热备

什么是高可用集群

Heartbeat工作原理

基于heartbeat v1实现双机热备

一、简介

Heartbeat是Linux-HA工程的一个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用,随着Linux在关键行业应用的逐渐增多,它必将提供一些原来由IBM和SUN这样的大型商业公司所提供的服务,这些商业公司所提供的服务都有一个关键特性,就是高可用集群。

 

推荐阅读

Linux 高可用(HA)集群之heartbeat基于crm进行资源管理详解

Heartbeat+httpd+NFS 实现高可用的Web服务器

Linux 高可用(HA)集群之Heartbeat详解

Linux高可用性方案之Heartbeat的CRM配置

高可用集群 Heartbeat v1实例

LVS+heartbeat+ldirectord高可用负载均衡集群解决方案

二、什么是高可用集群

高可用集群,英文原文为High Availability Cluster,简称HA Cluster,是指以减少服务中断(如因服务器宕机等引起的服 务中断)时间为目的的服务器集群技术。简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统 就是集群的节点(node)。
高可用集群的出现是为了使集群的整体服务尽可能可用,从而减少由计算机硬件和软件易错性所带来的损 失。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。如果某个节点失效,它的备援节点将在几 秒钟的时间内接管它的职责。因此,对于用户而言,集群永远不会停机。高可用集群软件的主要作用就是实现故障检查和业务切换的自动化。
只有两个节点的高可用集群又称为双机热备,即使用两台服务器互相备份。当一台服务器出现故障时,可由另一台服务器承担服务任务,从而在不需要人工干预的 情况下,自动保证系统能持续对外提供服务。双机热备只是高可用集群的一种,高可用集群系统更可以支持两个以上的节点,提供比双机热备更多、更高级的功能, 更能满足用户不断出现的需求变化。

三、Heartbeat工作原理

heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务

四、基于heartbeat v1实现双机热备

注:

配置高可用的前提:

所有节点的主机名一定要与uname -n的结果一致

所有节点的时间必须一致

各节点间能基于ssh密钥认证通信

1、配置过程:

规划:

node1 essun.node1.com 192.168.1.109

node2 essun.node2.com 192.168.1.123

nfs服务器 192.168.1.118(同时也是集群节点的ping状态检测)

2、node1配置部分

⑴、主机信息部分

vim /ect/hosts

1

 

#uname -n

 

1

 

#vim /etc/sysconfig/network

 

每一个节点都要这类似这样的设置

⑵、时间同步

在每一个节点上执行:

ntpdate cn.pool.ntp.org(要可以上网才可以)

⑶、ssh密钥认证

在第一个节点上执行

1

2

 

#ssh-keygen -t rsa -P ''

#ssh-copy-id -i .ssh/id_rsa.pub root@essun.node2.com

 

将公钥送达到每一个节点上,(每一个节点都要如此做)

2、安装软件包

yum install perl-TimeDate net-snmp-libs libnet PyXML

注:libnet是在epel源中,所以要下载EPEL源安装包即可

Fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html

下载对应的版本就可以的。

rpm -ivh epel-release-6-8.noarch.rpm

之后就可以使用yum安装EPEL中的包了

wKiom1NTK9LDeBWrAAFgJhGcLqU470.jpg

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

 

两个节点都要如此安装。

3、配置heartbeat

信息层

资源管理器

资源代理

第一步:配置HMAC 所使用的密码串算法(使用的是单向加密)

heartbeart 心跳信号信息监听于UDP694端口,心跳信息传输方式:可以是单播,多播和组播,还可以基于串行线缆传输心跳信号

配置文件所在的位置 /etc/ha.d

其实这里并没有配置文件,它仅提供一个配置模板,存放于

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

 

authkeys:用于HMAC信息加密的认证机制与认证密码(此文件的权限必须为600,否则heartbeat 无法启动)

haresources:此文件用于定义资源

将此目录中的三个文件复制到/etc/ha.d目录下

1

 

#cp /usr/share/doc/heartbeat-2.1.4/{authkeys,haresources,ha.cf } /etc/ha.d/ -a

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14d0d2ef3ec531b2e086ea56573f2cb1.html