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模块用于生成和修改常见配置文档,当前模块的名称 ...
随机推荐
- golang编码转换
在网上搜索golang编码转化时,我们经常看到的文章是使用下面一些第三方库: https://github.com/djimenez/iconv-go https://github.com/qiniu ...
- Android aidl Binder框架浅析
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38461079 ,本文出自[张鸿洋的博客] 1.概述 Binder能干什么?B ...
- linux 跨IP拷贝命令 scp
原文:http://blog.csdn.net/mexican_jacky/article/details/52847094 scp -r ROOT/ tms2api@10.230.4.215:/Ja ...
- 常用的 文件 MIME类型
估计很多朋友对不同后缀的文件对应的MIME类型不熟悉(实际上这么多我也记不住), 所以将平常常见的一些文件后缀对应的MIME类型写了一个对照表,现在奉献给大家: .asx,video/x-ms-asf ...
- 【CITE】C# 如何 实现一个窗体和另一个窗体始终保持相对的位置
C# 如何 实现一个窗体和另一个窗体始终保持相对的位置,任由一个窗体移动,当点击按钮时,弹出的另一个窗体也与之保持相对位置(如左上角)你根据第一个窗体的location去算第二个窗体的location ...
- 5.3.1 新建Java工程和类
1.新建工程 (1)打开Eclipse,选择工作区域 (2)选择“File”->“New”->“Java Project”命令,新建工程. (3)在弹出的新建工程对话框中,输入Projec ...
- jmeter笔记3
1. 使用JMeter做性能测试(Windows) 1.1. 启动JMeter 下载JMeter的安装包,点击安装包\jakarta-jmeter-2.3RC4\bin下的jmeter.bat文件即 ...
- mysql 各种运算对于null值的处理
1.A,B,C作为列名时,任意一项为null 则A+B+C为null; 2.count对于null值处理; count(*)包含null项:count(具体列名)忽略null项;count(null) ...
- 《javascript高级程序设计》第六章 Object Creation VS Inheritance
6.1 理解对象 6.1.1 属性类型 6.1.2 定义多个属性 6.1.3 读取属性的特性6.2 创建对象 6.2.1 工厂模式 6.2.2 构造函数模式 6.2.3 原型模式 6.2.4 组合使用 ...
- JS基础--问题记录
1. {}var a={};{}是一个空的对象,是 new Object();的简写. 2.判断元素是存在 //jQuery 对象中元素的个数.当前匹配的元素个数. size 将返回相同的值. if ...