Rhel6-heartbeat配置文档
系统环境: 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
以下步骤在server19和server25上实施:
[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
以下步骤在server19或server25上实施:
[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/
以下步骤在server19和server25上实施:
[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配置文档的更多相关文章
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- 转!!Java代码规范、格式化和checkstyle检查配置文档
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...
- Hibernate配置文档详解
Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...
- Java代码规范、格式化和checkstyle检查配置文档
http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...
- Spring Hibernate4 整合配置文档
1 applicationContext.xml配置文档 <?xml version="1.0" encoding="UTF-8"?><bea ...
- Kerberos主从配置文档
Kerberos主从配置文档 1. Kerberos主从同步机制 在Master上通过以下命令同步数据: kdb5_util dump /var/kerberos/krb5kdc/slave_db ...
- python常用模块-配置文档模块(configparser)
python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...
- azkaban编译安装配置文档
azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...
- Python学习 :常用模块(四)----- 配置文档
常用模块(四) 八.configparser 模块 官方介绍:A configuration file consists of sections, lead by a "[section]& ...
- configparser模块——配置文档
configparser模块用于生成和修改常见配置文档. 预制配置文件:conf.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes Co ...
随机推荐
- js object(对象)
http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...
- PSR-0的规范。
- Node 写文件
在程序开发过程中会遇到很多自己认为是对的但实际运行出来并不是自己想的那样的,这个时候就可以把程序运行的比较关键点用文件的方式存储下来,然后分析 node 方式 var fs = require('fs ...
- CSocket必须使用stream socket不能够使用数据报 socket
如果使用MFC socket类CSoket通讯,必须使用stream socket,不能够使用 SOCK_DGRAM 类型socket.原因如下: 1 stream socket和数据报socket的 ...
- #array_parents #parents的区别
https://www.drupal.org/node/279246 #array_parents => 一定会反映表单的物理结构 就是该是哪个下面就是哪个下面 不来虚的#parents = ...
- js中Math.random()生成指定范围数值的随机数
http://www.111cn.net/wy/js-ajax/57062.htm Math.random() 这个方法相信大家都知道,是用来生成随机数的.不过一般的参考手册时却没有说明如何用这个方法 ...
- Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效
http://www.lai18.com/content/506918.html 1.自生要求是很重要的,当然不是什么强迫工作之类的,而是自己有限的能力上不断的扩展兴趣上的内容. 2.用生活的眼光去发 ...
- c++相关的类型推导
c++11和boost库增加许多关于类型推导(编译期)的关键字和类型, 用好这些机制, 对于编写项目的一些组件帮助颇大.正所谓工欲善其事,必先利其器. 1.初始化某种类型的变量 auto var = ...
- Nginx内置常用变量
nginx用到的全局变量 $arg_PARAMETER #这个变量包含GET请求中,如果有变量PARAMETER时的值. $args #这个变量等于请求行中(GET请求)的参数,例如foo=123&a ...
- 笔记9:winfrom的一些知识点(二)
一.新建,和删除文件夹 private void button4_Click(object sender, EventArgs e) { Directory.Delete(@"F:\&quo ...