上一篇博客在整合HA和LB实现高可用负载集群的时候,有的是脚本实现两个HA之间的资源转移,这一个使用的是ldirectord来实现的,这就简化了配置,接下来就做具体的配置了,拓扑图依然如上篇博客《整合HA和LB来实现高可用的LB集群》所示:
一、RealServer1上的配置:
#ifconfig eth0 192.168.1.172/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer1</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
二、RealServer2上的配置:
#ifconfig eth0 192.168.1.178/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer2</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
三、Node1上的配置:
安装软件包:
#ls 安装如下软件包
 heartbeat-2.1.4-9.el5.i386.rpm
 heartbeat-devel-2.1.4-9.el5.i386.rpm
 heartbeat-gui-2.1.4-9.el5.i386.rpm
 heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
 heartbeat-pils-2.1.4-10.el5.i386.rpm
 libnet-1.1.4-3.el5.i386.rpm
 perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.78/24
#ifconfig eth1 10.1.1.1/8
#vim /etc/hosts
 10.1.1.1 node1.a.org node1
 10.1.1.2 node2.a.org node2
#hostname node1.a.org
接下来就是关键的配置了
#cd /usr/share/doc/heartbeat
#cp ha.cf haresources authkeys /etc/ha.d/
#cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
#cp ldirectord.cf /etc/ha.d/
#cd !$
#vim ha.cf
 添加如下内容:
 
 node node1.a.org
 node node2.a.org
#vim authkeys
 auth 2
 2 sha1 jljlllkllj
#chmod 400 authkeys
#vim haresources
 node1.a.org     192.168.1.80/24/eth0/192.168.1.255 ldirectord::ldirectord.cf
#vim ldirectord.cf
# Global Directives
 checktimeout=3
 checkinterval=1
 #fallback=127.0.0.1:80
 autoreload=yes
 # pool then localhost:80 is added to the pool as a fallback measure.
 # Global Directives
 checktimeout=3
 checkinterval=1
 #fallback=127.0.0.1:80
 autoreload=yes
 #emailalert="admin@x.y.z"
 #emailalertfreq=3600
 #emailalertstatus=all
 quiescent=yes
 # Sample for an http virtual service
 virtual=192.168.1.80:80
        real=192.168.1.172:80 gate
        real=192.168.1.178:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        request=".test.html"
        receive="ok"
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
截止到这里Node1上的都配置完成了!接下来是Node2上的配置:
四、Node2上的配置:
安装软件包:
#ls 安装如下软件包
 heartbeat-2.1.4-9.el5.i386.rpm
 heartbeat-devel-2.1.4-9.el5.i386.rpm
 heartbeat-gui-2.1.4-9.el5.i386.rpm
 heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
 heartbeat-pils-2.1.4-10.el5.i386.rpm
 libnet-1.1.4-3.el5.i386.rpm
 perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.151/24
#ifconfig eth1 10.1.1.2/8
#vim /etc/hosts
 10.1.1.1 node1.a.org node1
 10.1.1.2 node2.a.org node2
#hostname node2.a.org
接下来还要回到Node1上进行下一步配置文件格式转换和拷贝的操作了
#cd /usr/lib/heartbeat/
#./haresources2cib.py   //转换成cib.xml格式的文件
#cd /etc/ha.d
#scp ldirectord.cf haresources node2:/etc/ha.d/
#cd /usr/lib/heartbeat/
#./ha_propagate //拷贝ha.cf和authkeys两个文件
配置完成,接下来就是启动服务了,我均在Node1上启动
#/etc/init.d/heartbeat start
#service ldirectord start
#ssh node2 -- '/etc/init.d/heartbeat start'
#ssh node2 -- 'service ldirectord start' (注:我这里的命令执行都是不用密码的,详细操作请看《整合HA和LB来实现高可用的LB集群》中的介绍)
五、验证:
1.首先在Node1上使用#ipvsamd -L -n查看,出现了ipvs的条目,而且使用http://192.168.1.80访问,可以看到网页,同时使用#ifconfig可以看到一个eth0:0的接口,上面的IP就是我使用的VIP:192.168.1.80
2.现在使用/usr/lig/heartbeat/hb_standy脚本,我们可以清晰的看到网页一样可以访问,但是#ipvsadm -L -n 和#ifconfig的信息转移到了Node2上去了,实验成功!

转载于:https://blog.51cto.com/luoweiro/662824

ldirectord实现高可用负载集群相关推荐

  1. 搭建高可用mongodb集群(二)—— 副本集

    2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章<搭建高可用MongoDB集群(一)--配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能 ...

  2. 构建高可用ZooKeeper集群(转载)

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  3. Redis高可用之集群配置(六)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  4. 如何构建高可用ZooKeeper集群

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  5. zookeeper安装包_构建高可用ZooKeeper集群

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  6. 构建高可用ZooKeeper集群

    构建高可用ZooKeeper集群 2017/01/23 | 分类: 技术架构 | 0 条评论 | 标签: ZOOKEEPER 分享到:9 原文出处: cyfonly ZooKeeper 是 Apach ...

  7. 高可用 kubernetes 集群部署实践

    前言 Kubernetes(k8s) 凭借着其优良的架构,灵活的扩展能力,丰富的应用编排模型,成为了容器编排领域的事实标准.越来越多的企业拥抱这一趋势,选择 k8s 作为容器化应用的基础设施,逐渐将自 ...

  8. Redis进阶-高可用:集群

     前言 前面几篇文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述 ...

  9. .net core下简单构建高可用服务集群

    一说到集群服务相信对普通开发者来说肯定想到很复杂的事情,如zeekeeper ,反向代理服务网关等一系列的搭建和配置等等:总得来说需要有一定经验和规划的团队才能应用起来.在这文章里你能看到在.net ...

最新文章

  1. 图神经网络(Graph Neural Networks,GNN)综述
  2. SAP BPC最佳实践-SAP BPC的OLAP引擎比较(MS OLAPBW OLAP)
  3. Android性能优化之APK优化,内容太过真实
  4. Python 技术篇-如何打印一段文字,用友云霸气控制台颜文字打印
  5. 前端iframe 能指定本地网页吗_微前端的技术拆分方式
  6. boost::gregorian模块实现测试时钟的测试程序
  7. catia圆管焊接焊接_CATIA焊接教程.ppt
  8. SpringBoot 2.1.5(20)---JSON
  9. 鄂尔多斯打造西部云计算基地
  10. pj2--图书管理系统
  11. win10怎么用记事本打开html文件,Win10系统怎么打开记事本
  12. Axure中推动拉动元件不生效_mac系统axure元件不能拖动的非正常解决方法
  13. SPSS篇—方差分析
  14. 基于支持向量机的图像分类系统(MATLAB GUI界面版)
  15. 做sxy官网的一点经验
  16. eclips安装教程
  17. 什么是中性滤光片?有什么作用?
  18. Renix签名字段详解——网络测试仪实操
  19. 为您的创业公司推荐5款类Slack开源协作工具
  20. ES5和ES6的继承有哪些优劣?

热门文章

  1. 整数的分类处理c语言switch,整数的分类处理
  2. linux如何停止死循环脚本,Linux Shell教程(一)
  3. centos下安装mysql5.5_CentOS下安装Mysql5.5
  4. java 程序命令_命令行运行JAVA程序
  5. java 泛型 `List<Object>` 和`List<String>`
  6. pytorch torch.empty
  7. Python numpy基础知识
  8. Java字符串分割(split)
  9. 阶梯式的岗位技术培训认证体系
  10. 虚拟化与私有云的区别