设为首页 收藏本站
查看: 1457|回复: 0

[经验分享] 基于Corosync/openais和ldirectord实现LVS(DR)中的Director的高可用

[复制链接]
发表于 2019-1-6 09:55:50 | 显示全部楼层 |阅读模式
  基于Corosync/openais和ldirectord实现LVS(DR)中的Director的高可用
  托普图:

  
1.我这里用到了4台虚拟机,分别是
node1:172.16.133.11
node2:172.16.133.12
rs1:172.16.133.21
rs2:172.16.133.22
2.配置两台Real Server
rs1:安装httpd



  • yum -y install httpd  
  • vim /var/www/html/index.html  
  •    rs1  
  • service httpd start  
  • elinks -dump http://172.16.133.21  

  rs2:同rs1,其中/var/www/html/index.html的内容改为rs2
测试elinks -dump http://172.16.133.22
3.配置Director
在这之前请确保node1和node2之间的时间相同,或者不能相差太大
  后面操作所会用到的包

  
(1).先使node1和node2主机建立双机互信,为后面实验提供方便
node1:



  • vim /etc/hosts  
  •     172.16.133.11 node1  
  • 172.16.133.12 node2  
  • ssh-keygen -t rsa(一路回车)  
  • ssh-copy-id .ssh/id_rsa.pub root@node2  
  • scp /etc/hosts node2:/etc  

  node2:



  • ssh-keygen -t rsa  
  • ssh-copy-id .ssh/id_rsa.pub root@node2  

  (2).然后在分别在node1和node2主机上安装ipvsadm,对两台Real Server进行测试
rs1,rs2,ipvsadm测试,heartbeat,ldirectord,ha.cf等配置文件修改同:http://5142926.blog.运维网.com/5132926/954276
这里就不演示了
(3)配置Direcotor
node1:
先将corosync的配置文件copy到/etc/corosync下
cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf
修改corosync.conf



  • bindnetaddr: 172.16.133.0  
  • service {  
  •        ver: 0  
  •        name: pacemaker  
  • }  
  • aisexec {  
  •        user: root  
  •        group: root  
  • }  

  mkdir -v /var/log/cluster    创建日志文件目录
corosync-keygen 生成corosync密钥,它取墒池里的随机数1024位,它不是一个文本文件,权限是400



  • scp /etc/corosync/corosync.conf node2:/etc/corosync  
  • ssh node2 'mkdir -v /var/log/cluster '

  然后启动服务
grep -e "Corosync Cluster Engine" -e "configuration file" /var/log/messages

  
grep TOTEM /var/log/messages

  
grep ERROR: /var/log/messages | grep -v unpack_resources
grep pcmk_startup /var/log/messages

  
如果以上没问题的话
ssh node2 -- /etc/init.d/corosync start启动node2的corosync
然后通过crm status查看

  
禁用stonith
crm configure property stonith-enabled=false
关闭quorum
crm configure property no-quorum-policy=ignore
4.配置资源,实现LVS(DR)中的Director的高可用
(1).进入crm的交互式界面,进入后,可以通过输入help可以查看帮助信息
crm

  
下面主要介绍一下我们经常用到的几项
node  进入节点模式,可以设置节点standby或者online
configure  进制配置模式,在里面可以定义资源和资源的策略
ra   资源代理,在里面可以通过使用list命令来查看可以用到的资源代理,资源代理既服务的启动脚本。

  
classes命令,用于显示资源代理的种类,可以看到有heartbeat lsb osf stonith这些常见的类型

  
list lsb

  可以显示支持的lsb脚本,这些都是/etc/init.d/下面有的启动脚本
meta ocf:heartbeat:IPaddr查看定义IPaddr资源的帮助信息
(2).具体资源配置
定义vip



  • crm  
  • configure  
  • primitive webip ocf:heartbeat:IPaddr params ip=172.16.133.1  

  完成后show查看下,无误后
commit提交(不提交是不生效的)
cd
status查看资源运行情况

  
然后ifconfig一下,看看ip

  
定义ldirector



  • crm  
  • configure  
  • primitive ldirector lsb:ldirectord  
  • commit
  • cd  

  status

  
然后可以看到ldirector运行在了node2节点上
(3).配置资源关系
order 顺序约束
location位置约束
colocation排列约束
可以通过order help(其他一样)来查看约束怎么设置

  
colocation webip_with_ldirector inf: webip ldirector
show查看一下
commit提交
cd
status

  
停掉node2

  
crm
status

  
两个服务都跑到node1上了
  在google浏览器中测试http://172.16.133.1






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659884-1-1.html 上篇帖子: Linux下面的LVS服务的配置(群集服务搭建) 下篇帖子: LVS负载均衡(1)——ARP技术介绍及供给欺骗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表