Heartbeat+lvs+ldirectord
来源:互联网 发布:bi商业智能和数据平台 编辑:程序博客网 时间:2024/06/01 10:35
Heartbeat+lvs+ldirectord
Heartbeat可实现高可用、lvs可实现负载均衡但对负载无健康检查,实现高可用集群与lvs的整合需要使用软件ldirectord,该软件对lvs后端负载有健康检查。
一、集群结点端进行软件安装及配置
如选择server1、server3作为集群结点,均做如下操作,部分不同操作会分别讲述:
<1>软件安装
1.yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
2.可使用rpm -q ldirectord -d查看配置文件存放位置
[root@server3 ~]# rpm -q ldirectord -d
/usr/share/doc/ldirectord-3.9.5/COPYING
/usr/share/doc/ldirectord-3.9.5/ldirectord.cf
/usr/share/man/man8/ldirectord.8.gz
3.cd /usr/share/doc/ldirectord-3.9.5
cp ldirectord.cf /etc/ha.d
##必须将配置文件放至heartbeat的安装目录才能起到相应作用
<2>ldirectory与lvs整合
1.cd /etc/ha.d
vim ldirectord.cf
部分内容设置及解释如下:
checktimeout=3 ##检测服务的频率
virtual=172.25.13.113:80 ##定义vip=172.25.13.113及端口
real=172.25.13.2:80 gate ##后端负载serer2
real=172.25.13.4:80 gate ##后端负载server3
fallback=127.0.0.1:80 gate
##当后端负载均故障时(80端口),服务器将响应请求:给客户返回信息,实现健康检查
service=http ##选择服务http,默认发布目录:/var/www/html
scheduler=rr ##选择轮询算法
#persistent=600 ##开启时表示持续连接,相当于ip_hash
#netmask=255.255.255.255
protocol=tcp ##Tcp协议
checktype=negotiate
checkport=80
request="index.html" ##请求响应为/var/www/html/index.html
:wq
2.vim /var/www/html/index.html
##http默认发布首页,当后端负载均故障时,客户响应结果为该文件内容
3.测试配置是否正确:
/etc/init.d/httpd start
/etc/init.d/ldirectord start ##仅在server1端开启即可。server3的配置是与server1相同的,这里不再测试
(1)浏览器访问172.25.13.113或curl 172.25.13.113,查看后端负载(server2、server4)是否轮询:
(2)检测是否有健康检查:
先关闭某负载的httpd服务:当服务器连接不到该后端负载时,将其从负载池中移除。
再关闭另一负载的httpd服务,此时后端负载均故障,访问结果应为server1:
4.测试之后应关闭集群结点的httpd、ldirectord服务
/etc/init.d/httpd stop ##关闭httpd服务
/etc/init.d/ldirectord stop ##关闭ldirectord服务
<3>ldirectord与Heartbeat整合
1.ip del 172.25.13.113 dev eth0 ##若有之前因做lvs实验时添加的vip,先将其删除
2.cd /etc/ha.d
(1)vim ha.cf ##主配置文件
主要参数设定:
node server1 ##定义主结点,注意必须使用主机名,非ip
node server3 ##定义"热备"结点
:wq
(2)vim authkeys
部分内容设置及解释如下:
auth1 ##选择第1种认证方式
1crc ##本次操作是在本地,为方便选择crc认证方式,该方式安全性能低
#2sha1 HI! ##安全性能最高
#3md5 Hello!
:wq
chmod +x authkeys ##加执行权限,否则认证文件不起作用
提示:(ha.cf与authkeys文件的配置可参考博客<Heartbeat>,此处不再赘述)
(3)vim haresources
编辑内容:
server1 IPaddr::172.25.13.113/24/eth0 httpd ldirectord
:wq
提示:选择server1为主结点将ldirectord服务加入集群管理,注意加入集群管理的服务不可手动开启,这也是为什么在<2>的测试后选择关闭服务的原因。
3.测试:server1与server3的heartbeat服务
/etc/init.d/heartbeat start
ip addr ##查看vip是否在主结点生效
ipvsadm -l ##查看集群结点与负载的连接次数,ipvsadm配置见博客<lvs>
(1)如图:客户端访问三次vip,服务器server1调度后端负载响应客户端,其中调度server4两次,server2一次;server3未调度负载
(2)server1停止心跳服务,server3将接管vip并当客户端访问时调度负载,如图:
(3)回切检测:server1恢复心跳,v将接管vip,进行调度负载
(4)后端负载健康检查:
如先关闭server2的httpd服务,客户端访问vip时,主结点server1将一直调度server4,结果如图:
再关闭server4的httpd服务,客户端再访问vip时,因为之前的配置,主结点server1将响应请求,结果如图:
- heartbeat+ldirectord+lvs nat
- heartbeat+LVS+ldirectord
- Heartbeat+lvs+ldirectord
- Lvs+Ldirectord+Heartbeat
- Lvs+Ldirectord+Heartbeat
- HA + LVS + ipvsadm + heartbeat-ldirectord
- Heartbeat+DRDB+LVS+Keepalived+Ldirectord
- centos 5.2 lvs+heartbeat+ldirectord集群
- lvs+heartbeat+ldirectord(centos5 测试通过)
- Centos5.5下lvs+heartbeat+ldirectord
- Heartbeat+ipvsadm+ldirectord高可用双机lvs
- Heartbeat,LVS ,Keepalived,Ldirectord功能及配置
- Heartbeat + LVS + ldirectord构建可伸缩网络服务(1)
- LVS+heartbeat+ldirectord高可用负载均衡集群解决方案
- lvs+ldirectord
- VMWare虚拟机环境下的Linux服务器集群 - 使用LVS+Heartbeat+Ldirectord (2)LVS脚本编写
- VMWare虚拟机环境下的Linux服务器集群 - 使用LVS+Heartbeat+Ldirectord (1)VMWare虚拟机设置
- CentOS5.5下Heartbeat+LVS(VS/DR)+Ldirectord 分步骤实验
- shell脚本备忘
- MapReduce数据倾斜解决方案2-- 自定义分区类---二次作业
- Androidthings -- 智能家居freestyle
- 爬虫实例:爬取一个网页上的图片地址
- 训练总结 8.18
- Heartbeat+lvs+ldirectord
- LeetCode No.25 Reverse Nodes in k-Group
- POJ 1160 普通区间DP||四边形优化DP
- python快速入门
- BZOJ4177: Mike的农场
- 【练习赛2补题】poj 2325 Persistent Numbers 【高精度除法+贪心】
- CSS3 3D transform变换
- 消息id乱序接收但顺序发送问题
- 欢迎使用CSDN-markdown编辑器