Rhel6-heartbeat+lvs配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled
主机: 192.168.122.119 server19.example.com
192.168.122.25 server25.example.com
192.168.122.163 server63.example.com
192.168.122.193 server93.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 ldirectord-3.9.2-1.2.x86_64.rpm
Realserver1
192.168.122.163:apache
Realserver2
192.168.122.193:apache
Load
Balance 192.168.122.119:heartbeat apache
Load
Balance 192.168.122.25:heartbeat apache
#配置
Load
Balance
以下步骤在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
kernel]# yum install perl-IO-Socket-INET6 ipvsadm -y
[root@server19
ha.d]# modprobe softdog
[root@server19
ha.d]# echo modprobe softdog >> /etc/rc.d/rc.local
[root@server19
ha.d]# yum install httpd -y
[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/
注:这三个配置文件可以通过rpm
-q heartbeat -d 查看其位置
[root@server19
heartbeat-3.0.4]# cd /usr/share/doc/packages/ldirectord/
[root@server19
ldirectord]# cp ldirectord.cf /etc/ha.d/
注:这个配置文件可以通过rpm
-q ldirectord -d 查看其位置
[root@server19
ldirectord]# 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 ldirectord httpd
注:192.168.122.178为虚拟IP
这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d
或者
/etc/ha.d/resource.d
目录里
IPaddr
的作用是启动
Virutal
IP,它是
HeartBeart
自带的一个
脚本.ldirectord 的作用是启动
ldirectord
监控程序,它会使
ldirectord.cf
中定义的
lvs
生效,
并监听其健康状;httpd
是
apache
服务的启动脚本。
#配置/etc/ha.d/ldirectord.cf
[root@server19
ha.d]# vim ldirectord.cf
#
Sample for an http virtual service
virtual=192.168.122.178:80
虚拟IP:服务端口
real=192.168.122.163:80
gate realserver:服务端口
real=192.168.122.193:80
gate realserver:服务端口
fallback=127.0.0.1:80 gate 当realserver全挂掉后,由调度器上的服务来提供服务
service=http 服务名
scheduler=rr 算法
#persistent=600 持续连接时间
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80 检测端口
request="index.html" 检测有无inde.html测试页
#
receive="Test Page"
检测测试页中的内容
#
virtualhost=www.x.y.z
[root@server19
ha.d]# scp authkeys ha.cf haresources ldirectord.cf
root@192.168.122.25:/etc/ha.d/
#配置Realserver
以下步骤在server63上实施:
[root@server63
~]# yum install arptables_jf httpd -y
[root@server63
~]# arptables -A IN -d 192.168.122.178 -j DROP
[root@server63
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.163
[root@server63
~]# /etc/init.d/arptables_jf save
[root@server63
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up
或
[root@server63
~]# ip addr add 192.168.122.178 dev eth0
注:可用ip
addr show查看
[root@server63
~]# echo `hostname` > /var/www/html/index.html
[root@server63
~]# /etc/init.d/httpd start
以下步骤在server93上实施:
[root@server93
~]# yum install arptables_jf httpd -y
[root@server93
~]# arptables -A IN -d 192.168.122.178 -j DROP
[root@server93
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.193
[root@server93
~]# /etc/init.d/arptables_jf save
[root@server93
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up
或
[root@server93
~]# ip addr add 192.168.122.178 dev eth0
注:可用ip
addr show查看
[root@server93
~]# echo `hostname` > /var/www/html/index.html
[root@server93
~]# /etc/init.d/httpd start
#启动
以下步骤在server19和server25上实施:
[root@server19
ha.d]# /etc/init.d/heartbeat start
测试
访问192.168.122.178反复刷新页面,如果页面在server63和server93直接来回切换,说明正常。
注:当server63和server93上的apache服务关闭后,访问的将是调度器上的apache页面,如果调度器上的apache也关闭,将无法访问到页面.当一台调度器宕掉后,另一台调度器会接管,发挥调度的作用(即调度器之间实现了高可用)
Rhel6-heartbeat+lvs配置文档的更多相关文章
- Rhel6-keepalived+lvs配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119 server19.example.com 192.168.12 ...
- LVS+Heartbeat安装部署文档
LVS+Heartbeat安装部署文档 发表回复 所需软件: ipvsadm-1.24-10.x86_64.rpmheartbeat-2.1.3-3.el5.centos.x86_64.rpmhear ...
- 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模块用于生成和修改常见配置文档,当前模块的名称 ...
随机推荐
- hdu 5340 Three Palindromes
前几晚 BC 的第二题,官方给出的题解是: 然后我结合昨天刚看的 Manacher 算法试着写了下,发现 pre.suf 数组挺难构造的,调试了好久,然后就对中间进行枚举了,复杂度应该是 O(n2) ...
- Winform_播放声音文件
1.调用非托管的dll using System.Runtime.InteropServices; //DllImport命名空间的引用 class test //提示音 { [DllImport ...
- javascript AOP实现
参考:http://www.cnblogs.com/rubylouvre/archive/2009/08/08/1541578.html function Person(){ this.say = f ...
- 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=抛弃vboot不格盘用grub4dos+firadisk安 ...
- ios app 支持 ipv6-only
最近苹果公司发布声明:自今年6月1日开始,所有提交至苹果App Store的应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议--IPv6-only标准. 那么问题来了,目前的app是否支持ip ...
- sealed(C# 参考)
sealed 修饰符可以应用于类.实例方法和属性.密封类不能被继承.密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed 修饰符必须始终与 overri ...
- call的其他应用
看一些源码的时候常常发现例如这些的代码 Array.prototype.slice.call(arg) Object.prototype.toString.call(str) 等等 ,着一些系列的句子 ...
- python 练习 7
#!/usr/bin/python # -*- coding: utf-8 -*- def gcd(x,y): #最大公因子 if x>y:x%=y while x: x,y=y%x,x ret ...
- js,jquery判断某一节点是否存在
前两天工作时遇到一问题,就是模块A显示时,B是一种样式,模块A删除,B是另一种样式.记录下判断节点存在的方法. 先写下html <!doctype html> <html> & ...
- q和blockquote标签的区别
q用来分离文本中的引语,定义一个短的引用.该标签会对引用的文本加双引号,一般情况很少用,博客论坛系统会用得多一些: blockquote用于对长文本的引用,用来定义一段引语,标签内的内容会自动有缩进: ...