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模块用于生成和修改常见配置文档,当前模块的名称 ...
随机推荐
- 基础1 JavaSe基础
JavaSe基础 1. 九种基本数据类型的大小,以及他们的封装类 boolean 无明确指定 Boolean char 16bits Character byte 8bits Byte short 1 ...
- PSR-0的规范。
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
http://www.cnblogs.com/wang340/archive/2013/05/06/3063135.html http://www.eoeandroid.com/forum.php?m ...
- Android控件之Button(按钮控件)和ImageButton(图片按钮控件)
一.Button和ImageButton特证: 1.共同特证: 都可以作为一个按钮产生点击事件 2.不同特证: Button有text的属性,ImageButton没有 ImageButton有src ...
- HashMap详解
HashMap:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html ConcurrentHashMap:http://ww ...
- Mysql 联结表
- [转]Android_气泡效果
最近在看以前在eoe上收藏的一些源代码,准备将这些代码加上一些自己的注释,然后贴出来,方便自己日后查阅,和刚入门的人来学习. 今天先看一个气泡窗口,先看一下效果图和目录结构,然后再上代码 通过第一幅图 ...
- Windows定时器
目录 第1章定时器 1 1.1 创建定时器 1 1.2 销毁定时器 1 1.3 定时器的运作 1 1.3.1 产生WM_TIMER消息 1 1.3.2 分发WM_TIME ...
- java的System.getProperty()方法可以获取的值
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目 ...
- js TAb
有点乱,用到了自定义getByClass函数.sibling函数 <!DOCTYPE html> <html lang="en"> <head> ...