`
yangzb
  • 浏览: 3503261 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

配置Heartbeat

阅读更多

Heartbeat是linux的HA插件,它可以通过主备的互相检测来到达主服务器倒了,自动切换备服务器。不仅可以用于lvs,其他服务也可以使用。
Ldirectord是lvs的启动工具,可以根据配置来启动对应LVS的服务。

由于资源的问题只在2台服务器上配置Heartbeat可以自动切换,没有测试Ldirectord。这部分介绍网上有很多。实际就是在两个配置了一样的LVS Director机器上实现主备的自动切换。

主 eth0:202.106.184.251外网IP,eth1:10.55.37.220内网IP
备 eth0:202.106.184.145外网IP,eth1:10.55.37.145内网IP。
2台服务器都要安装Heartbeat,并配置节点,Heartbeat可以通过串口或网络来检查主节点服务器是否存在,因此2个机器内网IP提供给Heartbeat使用。
在主备两个机器上都要在配置一个VIP,VIP提供用户访问。
VIP:202.106.184.132

Heartbeat的配置
在两个主备D机器上:
安装
yum install heartbeat-ldirectord.i386

yum install heartbeat.i386

配置VIP
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=202.106.184.132
broadcast=202.106.184.255
NETMASK=255.255.255.255
ONBOOT=yes#开机就启动

/etc/rc.d/init.d/network restart #重启网卡

route add -host 202.106.184.132 dev eth0:0

在两台机器的hosts上把两个主机名 对应的IP地址增加上。
XD_Blog_Web_184_251 202.106.184.251
XD_Blog_Web_184_145 202.106.184.145

配置Heartbeat:

在/usr/share/doc/heartbeat-2.1.3下有配置文件的模板
authkeys 是主备服务器验证配置文件,需要上传到/etc/ha.d/ 权限600
格式
auth 2 #选择哪种认证
#1 crc #crc方式
2 sha1 HI! #sha1加密 后面的”HI!”是密码
#3 md5 Hello! #md5方式

haresources 是Heartbeat主节点和监控服务的配置文件
格式:
XD_Blog_Web_184_251 IPaddr::202.106.184.251/24/202.106.184.255 ipvsadm ldirectord::www
#XD_Blog_Web_184_251主节点的主机名,需要在/etc/hosts下增加主机名 对应的ip地址;
#IPaddr::vip/24/网关;
#ipvsadm ldirectord::www 要切换的服务 及ldirectord读取www这个配置文件

我测试的是httpd服务
XD_Blog_Web_184_251 IPaddr::202.106.184.132/24/202.106.184.255 httpd

ha.cf是Heartbeat的配置文件,主要是在主机down的时候备机如何处理。
bcast    eth1 # 其他参数基本用默认的,这个参数是两台服务器的Heartbeat用什么形式连接,用内网端口eth1连接

node    XD_Blog_Web_184_251#一共有多少个节点就写多少个
node    XD_Blog_Web_184_145
其他参数解释:
serial /dev/ttyS0

使用串口heartbeat - 如果你不使用串口heartbeat, 你必须选择其它的介质,比如以太网bcast (ethernet) heartbeat。如果你使用其它串口heartbeat,修改/dev/ttyS0 为其它的串口设备。

watchdog /dev/watchdog

可选项:watchdog功能提供了一种方法能让系统在出现故障无法提供”heartbeat”时, 仍然具有最小的功能,能在出现故障1分钟后重启该机 器。这个功能可以帮助服务器在确实停止心跳后能够重新恢复心跳。如果你想使用该特性,你必须在内核中装入”softdog” 内核模块用来生成实际的设备文件。想要达到这个目的, 首先输入 “insmod softdog” 加载模块。然后,输入”grep misc /proc/devices” 注意显示的数字 (should be 10).然后, 输入”cat /proc/misc | grep watchdog” 注意输出显示出的数字(should be 130)。现在你可以生成设备文件使用如下命令:”mknod /dev/watchdog c 10 130″ 。

bcast eth1

指定使用的广播heartbeat 的网络接口eth1(修改为eth0, eth2, 或你所使用的接口)

keepalive 2

设置心跳间隔时间为2两秒。

warntime 10

在日志中发出最后心跳”late heartbeat” 前的警告时间设定。

deadtime 30

在30秒后明确该节点的死亡。

initdead 120

在一些配置中,节点重启后需要花一些时间启动网络。这个时间与”deadtime”不同,要单独对待。 至少是标准死亡时间的两倍。

hopfudge 1

可选项: 用于环状拓扑结构,在集群中总共跳跃节点的数量。

baud 19200

串口波特率的设定(bps).

udpport 694

bcast和ucast通讯使用的端口号694 。这是缺省值,官方IANA 使用标准端口号。

nice_failback on

可选项:对那些熟悉Tru64 Unix, 心跳活动就像是”favored member”模式。主节点获取所有资源直到它宕机,同时备份节点启用。一旦主节点重新开始工作, 它将从备份节点重新获取所有资源。这个选项用来防止主节点失效后重新又获得集群资源。

node linuxha1.linux-ha.org

强制选项:通过`uname -n`命令显示出的集群中的机器名。

node linuxha2.linux-ha.org

强制选项:通过`uname -n`命令显示出的集群中的机器名。

respawnuseridcmd

可选项:列出可以被spawned 和监控的命令。例如:To spawn ccm 后台进程,可以增加如下内容:
respawn hacluster /usr/lib/heartbeat/ccm
通知heartbeat 重新以可信任userid身份运行(在我们的例子中是hacluster) 同时监视该进程的”健康”状况,如果进程死掉,重启它。例如ipfail, 内容如下:
respawn hacluster /usr/lib/heartbeat/ipfail
NOTE: 如果进程以退出代码100死掉, 这个进程将不会respawned。

pingping1.linux-ha.orgping2.linux-ha.org ….

可选项:指定ping 的节点。 这些节点不是集群中的节点。它们用来检测网络的连接性,以便运行一些像ipfail的模块。

两个服务器启动Heartbeat
/etc/init.d/heartbeat start

当主服务器关闭时,服务会自动切换到备服务器。
备服务器检查到主服务器没有相应的Log:
heartbeat[9836]: 2008/05/30_15:07:47 WARN: node xd_blog_web_184_251: is dead
heartbeat[9836]: 2008/05/30_15:07:47 WARN: No STONITH device configured.
heartbeat[9836]: 2008/05/30_15:07:47 WARN: Shared disks are not protected.
heartbeat[9836]: 2008/05/30_15:07:47 info: Resources being acquired from xd_blog_web_184_251.
heartbeat[9836]: 2008/05/30_15:07:47 info: Link xd_blog_web_184_251:eth1 dead.
harc[10882]:    2008/05/30_15:07:47 info: Running /etc/ha.d/rc.d/status status
heartbeat[10883]: 2008/05/30_15:07:47 info: No local resources [/usr/share/heartbeat/ResourceManager listkeys xd_blog_web_184_145] to acquire.
mach_down[10911]:       2008/05/30_15:07:47 info: Taking over resource group IPaddr::202.106.184.132/24/202.106.184.255
ResourceManager[10937]: 2008/05/30_15:07:47 info: Acquiring resource group: xd_blog_web_184_251 IPaddr::202.106.184.132/24/202.106.184.255 httpd
IPaddr[10964]: 2008/05/30_15:07:47 INFO: Running OK
mach_down[10911]:       2008/05/30_15:07:47 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[10911]:       2008/05/30_15:07:47 info: mach_down takeover complete for node xd_blog_web_184_251.
heartbeat[9836]: 2008/05/30_15:07:47 info: mach_down takeover complete.

主服务器恢复,备服务器停止服务器的Log
heartbeat[9836]: 2008/05/30_15:17:48 info: Heartbeat restart on node xd_blog_web_184_251
heartbeat[9836]: 2008/05/30_15:17:48 info: Link xd_blog_web_184_251:eth1 up.
heartbeat[9836]: 2008/05/30_15:17:48 info: Status update for node xd_blog_web_184_251: status init
heartbeat[9836]: 2008/05/30_15:17:48 info: Status update for node xd_blog_web_184_251: status up
harc[11426]:    2008/05/30_15:17:48 info: Running /etc/ha.d/rc.d/status status
heartbeat[9836]: 2008/05/30_15:17:48 info: Status update for node xd_blog_web_184_251: status active
heartbeat[9836]: 2008/05/30_15:17:48 info: all clients are now paused
harc[11442]:    2008/05/30_15:17:48 info: Running /etc/ha.d/rc.d/status status
heartbeat[9836]: 2008/05/30_15:17:48 info: remote resource transition completed.
heartbeat[9836]: 2008/05/30_15:17:48 info: xd_blog_web_184_145 wants to go standby [foreign]
harc[11458]:    2008/05/30_15:17:48 info: Running /etc/ha.d/rc.d/status status
heartbeat[9836]: 2008/05/30_15:17:49 info: standby: xd_blog_web_184_251 can take our foreign resources
heartbeat[11474]: 2008/05/30_15:17:49 info: give up foreign HA resources (standby).
ResourceManager[11487]: 2008/05/30_15:17:49 info: Releasing resource group: xd_blog_web_184_251 IPaddr::202.106.184.132/24/202.106.184.255 httpd
ResourceManager[11487]: 2008/05/30_15:17:49 info: Running /etc/init.d/httpd stop
ResourceManager[11487]: 2008/05/30_15:17:49 info: Running /etc/ha.d/resource.d/IPaddr 202.106.184.132/24/202.106.184.255 stop
IPaddr[11577]: 2008/05/30_15:17:49 INFO: ifconfig eth0:0 down
IPaddr[11551]: 2008/05/30_15:17:49 INFO: Success
heartbeat[11474]: 2008/05/30_15:17:49 info: foreign HA resource release completed (standby).
heartbeat[9836]: 2008/05/30_15:17:49 info: Local standby process completed [foreign].
heartbeat[9836]: 2008/05/30_15:17:51 info: all clients are now resumed
Ldirectord的配置,没有经过测试,将Ldirectord.cf存为www.cf,内容如下:

virtual=202.106.184.132:80 #vip
real=202.106.184.250:80 gate #R机
fallback=127.0.0.1:80 gate
service=http
request=”index.php”
receive=”Test Page”
#virtualhost=some.domain.com.au
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80
#request=”index.php”
#receive=”Test Page”
#virtualhost=www.x.y.z

<!---->

相关日志

由于垃圾评论过多,本站评论只有经过审核才可放出,请大家见谅!

2 Responses to “ 配置Heartbeat ”

  1. 如果把HA01 reboot了呢?
    我这里试着结果HA01重启时HA02接管了,但重启完成后两边都开http了。
    不知道是怎么回事,是HEARTBEAT本来就这样吗?

  2. 你可以把HA01的HTTP关掉,这是访问就会是HA02的了

分享到:
评论
1 楼 Ray_Mysterio 2013-05-04  
我在两台虚拟机上进行配置,只有一个网卡可以么?我现在配置完成以后,只能在本机访问虚拟ip,第三台机器通过浏览器访问不到,找不到虚拟ip.请问原因是什么呢?

相关推荐

    安装与配置Heartbeat集群系统.ppt

    在本场景中,我们将深入探讨如何安装和配置Heartbeat,特别是在一个基于CentOS 5.3的操作系统环境下。 首先,构建Heartbeat集群所需的硬件包括至少两台节点服务器,每台服务器配备两块网卡,一块连接公共网络,另一...

    LNH_MySQL 22-实战配置heartbeat配置文件.mp4

    LNH_MySQL 22-实战配置heartbeat配置文件.mp4

    VMware双机热备配置(Heartbeat).doc

    VMware双机热备配置(Heartbeat) 本资源主要介绍了使用 VMware 软件配置双机热备系统(Heartbeat)的步骤和过程。该配置旨在确保系统的高可用性和容错性。 1. 添加硬件 在 VMware 中添加硬件是配置双机热备系统...

    Heartbeat安装与配置.docx

    ### Heartbeat 安装与配置知识点详解 #### 一、Heartbeat 概述 Heartbeat 是一款开源的高可用性解决方案软件,主要用于构建 Linux 集群中的双机热备系统,通过心跳检测机制实现主备切换,确保关键服务的连续性和...

    CentOS7通过HeartBeat配置实现高可用HA.rar

    2. **配置HeartBeat**:在/etc/ha.d/ha.cf文件中,配置HeartBeat的基本参数,如心跳间隔、网络通信端口等。同时,在/etc/ha.d/authkeys文件中设置共享密钥,用于节点间的安全通信。 3. **配置VIP**:VIP是虚拟IP...

    heartbeat配置文件

    此外,ha.cf还可以配置Heartbeat与其他服务的交互,比如NFS、IP漂移等。 3. **haresources**: `haresources`文件列出了集群中的资源和服务,以及这些资源在哪个节点上启动。在Heartbeat中,每个资源可以是一个...

    VMware双机热备配置(Heartbeat)

    - 配置Heartbeat的主配置文件,如`/etc/ha.d/ha.cf`,定义节点间通信参数、日志位置、网络设置等。 - 修改Heartbeat的心跳接口配置文件,如`/etc/ha.d/haresources`,指定每个节点的角色和服务。 - 启动Heartbeat...

    HeartBeat在 Linux的配置

    在Linux上配置HeartBeat是一项关键任务,尤其是在构建冗余集群系统时。 首先,配置HeartBeat需要确保两台或更多服务器之间能够进行有效的通信。描述中提到的IP地址`172.18.158.23`和`172.18.158.24`可能代表两个...

    Heartbeat配置安装教程

    2. 配置Heartbeat: 编辑Heartbeat的主要配置文件`/etc/ha.d/ha.cf`,调整以下参数: - `node www1` 和 `node www2`,定义节点名称。 - `auto_failback on/off`,决定在主节点恢复后是否自动返回。 - `deadtime`...

    利用Heartbeat实现双机热备配置

    - **配置Heartbeat**:编辑配置文件`/etc/ha.d/ha.cf`,定义集群成员、网络通信、共享资源等信息。 ##### 2. 配置集群资源 - **定义集群资源**:通过`crm`命令或配置文件定义需要保护的服务或资源。 - **测试...

    LVS之HeartBeat原理讲解与实例配置

    在配置Heartbeat时,需要考虑心跳间隔、故障检测方法、资源接管策略以及与其他工具如ipfail、Stonith和Ldirectord的配合。具体配置步骤包括安装Heartbeat软件包,设置配置文件,定义节点间的网络通信参数,配置资源...

    heartbeat安装配置手册

    在本文中,我们将深入探讨如何在 SUSE 10 操作系统上安装和配置 heartbeat v2.x 版本。 首先,安装 heartbeat 的顺序至关重要,因为这些 RPM 包之间存在依赖关系。以下是安装的正确顺序: 1. 安装 Perl 相关库: ...

    lvs+heartbeat配置资料

    4. 配置Heartbeat:在主节点和备节点上分别配置Heartbeat,确保它们可以互相检测心跳,并设定故障转移规则。 5. 启动LVS和Heartbeat服务:启动LVS调度器,然后启动Heartbeat服务,开始监控和管理集群。 LVS+...

    heartbeat集群配置

    在实验过程中,需要确保网络连通性,并正确配置Heartbeat的配置文件,如`ha.cf`、`haresources`和`authkeys`,以实现心跳检测、资源分配和身份验证。 通过这些实验,我们可以学习到如何搭建一个高可用性和负载均衡...

    Lvs-Heartbeat配置

    ### LVS-Heartbeat 配置详解 #### 环境概述 在本文档中,我们将探讨如何通过三台Linux服务器(1台文件服务器+2台真实环境服务器)及一台备份服务器来构建一个高可用性(High Availability, HA)负载均衡系统。此...

    Linux-HA开源软件Heartbeat(安装篇)

    3. **配置Heartbeat**:配置Heartbeat的配置文件,如/etc/ha.cf和/etc/ha.d/haresources,定义集群节点、心跳网络、资源等。 4. **启动Heartbeat**:在每个节点上启动Heartbeat服务,然后监控服务状态。 Heartbeat2...

    Heartbeat-3-0-STABLE-3.0.6.tar.gz

    - **配置文件**:如 `heartbeat.cfg`,用于设置 Heartbeat 的运行参数,包括监控频率、告警阈值、数据传输方式等。 - **脚本文件**:可能包括启动、停止和重启 Heartbeat 的脚本,如 `start.sh`, `stop.sh`, `...

Global site tag (gtag.js) - Google Analytics