系统环境: rhel6 x86_64 iptables and selinux disabled

主机: 192.168.122.119 server19.example.com

192.168.122.25 server25.example.com

所需的包:heartbeat-3.0.4-1.el6.x86_64.rpm heartbeat-libs-3.0.4-1.el6.x86_64.rpm heartbeat-devel-3.0.4-1.el6.x86_64.rpm

以下步骤在server19server25上实施:

[root@server19
kernel]# yum localinstall heartbeat-3.0.4-1.el6.x86_64.rpm
heartbeat-devel-3.0.4-1.el6.x86_64.rpm
heartbeat-libs-3.0.4-1.el6.x86_64.rpm ldirectord-3.9.2-1.2.x86_64.rpm
-y

[root@server19
ha.d]# modprobe softdog

[root@server19
ha.d]# echo modprobe softdog >> /etc/rc.d/rc.local

[root@server19
ha.d]# echo `hostname` > /var/www/index.html

[root@server19
ha.d]# /etc/init.d/httpd stop

以下步骤在server19server25上实施:

[root@server19
kernel]# cd /usr/share/doc/heartbeat-3.0.4/

[root@server19
heartbeat-3.0.4]# cp authkeys haresources ha.cf /etc/ha.d/

[root@server19
heartbeat-3.0.4]# cd /etc/ha.d/

#配置/etc/ha.d/authkeys

[root@server19
ha.d]# vim authkeys

auth
3

#1
crc

#2
sha1 HI!

3
md5 Hello! (去掉注释)

[root@server19
ha.d]# chmod 600 authkeys

认证文件(/etc/ha.d/authkeys),文件的权限必须是
600

#配置/etc/ha.d/ha.cf

[root@server19
ha.d]# vim ha.cf

debugfile
/var/log/ha-debug (去掉注释)

调试日志文件文件,取默认值

logfile
/var/log/ha-log (去掉注释)

系统运行日志文件,取默认值

logfacility
local0

日志等级,取默认值

keepalive
2(去掉注释)

心跳频率,自己设定。1:表示
1 秒;200ms:表示
200 毫秒

deadtime
30(去掉注释)

节点死亡时间阀值,就是从节点在过了
30
后还没有收到心跳就认为主节点死亡,自己设定

warntime
10 (去掉注释)

发出警告时间,自己设定

initdead
120 (去掉注释)

守护进程首次启动后应该等待
120
秒后再启动主服务器上的资源

udpport
694 (去掉注释)

心跳信息传递的
udp
端口,使用端口
694
进行
bcast

ucast
通信,取默认值

bcast
eth0 (去掉注释)

采用
udp
广播播来通知心跳

auto_failback
on

当主节点恢复后,是否自动切回

watchdog
/dev/watchdog (去掉注释)

watchdog
能让系统在出现故障
1
分钟后重启该机器,这个功能可以帮助服务器在确实停止心
跳后能够重新恢复心跳

node
server19.example.com

主节点名称,与
uname
--n 保持一致.排在第一的默认为主节点,所以不要搞措顺序

node
server25.example.com

副节点名称,与
uname
--n 保持一致

ping
192.168.122.1

respawn
hacluster /usr/lib64/heartbeat/ipfail

apiauth
ipfail gid=haclient uid=hacluster

默认
heartbeat
并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行
Load
Balancer 和
Backup
之间的切换。
可以通过 ipfail
插件,设置'ping
nodes'来解决这一问题,但不能使用一个集群节点作为
ping
的节点.

#配置/etc/ha.d/haresources

[root@server19
ha.d]# vim haresources

server19.example.com
Ipaddr::192.168.122.178/24/eth0 httpd

注:192.168.122.178为虚拟IP.

这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d
或者
/etc/ha.d/resource.d
目录里
IPaddr
的作用是启动
Virutal
IP,它是
HeartBeart
自带的一个脚本.

[root@server19
ha.d]# scp authkeys ha.cf haresources root@192.168.122.25:/etc/ha.d/

以下步骤在server19server25上实施:

[root@server19
ha.d]# /etc/init.d/heartbeat start

可执行tail
-f /var/log/ha-log分别查看日志,看是否有报错,服务正常的话server19
上多了个eth0:0接口,若没有出现,
请等待一会,再使用ifconfig查看,若还是没有eth0:0接口出现,检查配置文件是否正确!
若停止server19上的heartbeat服务,则server25会接管,并产生一个eth0:0接口!

测试:

1.访问虚拟IP:192.168.122.178可以看到发布的页面,且在服务运行的机子上执行ifconfig可以查看到eth0:0.(起初应该在server19上运行,因为server19为主服务器,server25为备用服务器)

2.server19上的heartbeat关闭或者执行echo
c >
/proc/sysrq-trigger
模拟内核崩溃,在server25上查看日志可看到服务由server25接管则表示配置成功.

:若关闭apache服务,将无法访问,因为heartbeat没有对服务进行健康检查的功能.

Rhel6-heartbeat配置文档的更多相关文章

  1. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  2. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  3. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  4. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  5. Spring Hibernate4 整合配置文档

    1 applicationContext.xml配置文档 <?xml version="1.0" encoding="UTF-8"?><bea ...

  6. Kerberos主从配置文档

    Kerberos主从配置文档   1. Kerberos主从同步机制 在Master上通过以下命令同步数据: kdb5_util dump /var/kerberos/krb5kdc/slave_db ...

  7. python常用模块-配置文档模块(configparser)

    python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...

  8. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  9. Python学习 :常用模块(四)----- 配置文档

    常用模块(四) 八.configparser 模块 官方介绍:A configuration file consists of sections, lead by a "[section]& ...

  10. configparser模块——配置文档

    configparser模块用于生成和修改常见配置文档. 预制配置文件:conf.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes Co ...

随机推荐

  1. Android Loader详解

    装载器从android3.0开始引进.它使得在activity或fragment中异步加载数据变得简单.装载器具有如下特性: 它们对每个Activity和Fragment都有效. 他们提供了异步加载数 ...

  2. 转!!sql server 数据库 索引的原理与应用

    索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录 ...

  3. 树 - 从零开始实现by C++

    参考链接:数据结构探险之树篇

  4. graph-tool文档(一)- 快速开始使用Graph-tool - 1.创建和操纵图

    目录: 快速开始使用graph-tool 创建和操纵图 -- 遍历顶点和边 ----- 遍历所有顶点或边 ----- 遍历一个顶点的neighbourhood 名词解释: instante:实例 di ...

  5. xUtils更新到3.0后的基本使用规则

    说实话,对于xUtils,是我最近才用到的开发框架(也是刚接触),对于其功能不得不说,简化了很多的开发步骤,可以说是非常好的开发工具,但是其最近更新到3.0也没有解决加载自定义ImageView报错的 ...

  6. u盘安装ubuntu server 14.04 以及No CD-ROM drive was detected 错误

    u盘安装ubuntu server 14.04 1:下载ubuntu server14的 iso镜像文件 2:下载 UltraISO U盘镜像制作工具 : 3:使用Ultra iOS 将下载好的 is ...

  7. VC++编译MPIR 2.7.0

    目录 第1章编译    2 1.1 简介    2 1.2 下载    3 1.3 解决方案    4 1.4 创建项目    5 1.5 复制文件树    6 1.6 不使用预编译头文件    8 ...

  8. android GC内存回收小析

    由于时间问题,简单的谈谈自己的理解. 大家都知道,在android开发中,不需要自己去管理,有垃圾回收机制会自动帮我们去回收 没有被引用到的对象. 那垃圾回收机制到底是怎样的呢?下面列出本人的一些理解 ...

  9. Java中this、super用法

     这节我们主要是区分this 和 super这两个关键字的用法 起初我根本弄不清楚this 和 super这两个关键字的用法,也不明白在代码实例中为什么既用this又用super,下面就是原因: 1. ...

  10. js和jquery获取子元素

    <ul id="nav"> <li></li> <li> <ul> <li></li> < ...