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

[经验分享] Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd

[复制链接]

尚未签到

发表于 2019-1-7 13:59:41 | 显示全部楼层 |阅读模式
本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd。理解排列约束、顺序约束、位置约束

如何安装heartbeat v2、httpd、nfs、配置心跳连接、ssh密钥通信、同步时间、添加名称解析、配置yum源等请参照:
>> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群
http://ccschan.blog.运维网.com/11854461/1922966


ll 本文导航

  · 前期准备及相关说明
  · 安装hb_gui接口
  · 基于crm+hb_gui接口配置高可用集群



ll 要求
完全掌握heartbeat v2基于crm+hb_gui接口配置httpd高可用服务,理解排列约束、顺序约束、位置约束


  前期准备
1、heartbeat服务主机规划
主机接口ip服务用途
node1.chanedu.cometh0192.168.1.131  heartbeat
  httpd
  mysqld
  ipvs
LAN数据转发

eth1192.168.2.131心跳信息链路

vip192.168.1.180提供给外部访问httpd的ip
node1.chanedu.cometh0192.168.1.132  heartbeat
  httpd
  mysqld
  ipvs
LAN数据转发

eth1192.168.2.132心跳信息链路
shared.chanedu.cometh0192.168.1.150nfsLAN数据转发
2、架构图

3、在heartbeat v2.x版本中,如果要使用crm做为集群资源管理器,必须ha.cf配置中启动crm。如在ha.cf中添加crm配置,参数为“on”,意思是使用crm作为集群管理器。crm通过mgmtd监听在tcp:5560的套接字上。
# vim /etc/ha.d/ha.cf


4、在heartbeat v2中,有一些比较使用的脚本,安装heartbeat时,这些脚本的默认位置在
/usr/lib64/heartbeat/,其中,有几个脚本需要了解下
ha_propagate  
运行该脚本将会把/etc/ha.d/{ha.cf,authkeys}这两个配置文件直接复制到其他节点,并将heartbeat设置2,3,4,5系统级别开机时自动启动。需要注意的是,如果没有配置节点通过ssh加密通信,那么运行这个密钥可能需要输入N此密码,所以,在运行之前,请配置好节点使用ssh加密通信。
haresources2cib.py
运行该python脚本需要配置python环境,该脚本将自动把/etc/ha.d/haresources配置文件转换成cib.xml的格式,要只知道,heartbeat v2要使用crm集群资源管理器,是必须要有xml格式的配置文件的,所以,这个脚本非常有用。


  安装hb_gui接口
1、heartbeat v2.x的hb_gui接口安装rpm为:heartbeat-gui-2.1.4-12.el6.x86_64.rpm
安装该包需要安装pygtk2-libglade-2.16.0-3.el6.x86_64.rpm包解决依赖关系。
可以使用yum -y install pygtk2-libglade 直接安装,这里我在本地安装该依赖包。
现在,在node1和node2上分别安装heartbeat_gui
# rpm -ivh pygtk2-libglade-2.16.0-3.el6.x86_64.rpm
warning: pygtk2-libglade-2.16.0-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:pygtk2-libglade        ########################################### [100%]
# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
Preparing...                ########################################### [100%]
   1:heartbeat-gui          ########################################### [100%]2、编辑/etc/ha.d/haresources文件,添加一行“crm    on”,启动集群资源管理器。
# vim /etc/ha.d/ha.cf
3、运行ha_propagate复制ha.cf和authkeys,haresources.py 这两个脚本
# /usr/lib64/heartbeat/ha_propagate
# /usr/lib64/heartbeat/haresources2cib.py注意:cib.xml配置文件并没有保存在/etc/ha.d/目录中,运行该python脚本后,生成cib.xml配置文件保存在/var/lib/heartbeat/crm



4、启动heartbeat服务,在启动之前,需要将node1和node2节点中/etc/ha.d/resources这个v1.x版本的配置文件剪切至其他目录,以免启动heartbeat服务时,会造成意外情况。
# mv /etc/ha.d/haresources /root/
# ssh node2 'mv /etc/ha.d/haresources /root/'启动heartbeat服务

使用ss命令查看heartbeat通mgmtd进程已经在监听tcp:5560端口了

我们还可以通过crm资源管理器集成的命令“crm_mon”监控集群节点状态。它能显示当前DC,该集群运行几个节点,是否在线,每隔多久刷新一次集群节点状态信息。
# crm_mon



5、创建管理集群的用户,安装heartbeat时,默认会自动创建一个hacluster用户

给hacluster用户添加密码,使用hb_gui图形界面是,需要此用户和密码登陆
# passwd hacluster
Changing password for user hacluster.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.  

    基于crm+hb_gui接口配置http高可用集群
  1、登录打开图形界面接口并登录
# hb_gui &

  2、添加主资源webip、webstore、webserver。注意添加的顺序,要根据IP=>文件系统=>服务这样顺序啦添加。
  

  这里使用IPaddr和IPaddr2的区别是使用的命令不同。IPaddr使用ifconfig添加vip,IPaddr2使用ip addr 添加vip,这里使用IPaddr2。
  ip:提供给外部客户端访问的ip地址
  nic:根据那块网卡添加vip,为eth0
  cidr_netmask:子网掩码的长度,为24

  默认是不启动的。


  接着添加lsb资源,这里选择httpd,实际就是/etc/rc.d/init.d/httpd 这个脚本文件

  资源添加完成

  启动webip和webserver。
  启动之后,我们发现这两个资源分别运行在node1和node2上,这是为什么。因为我们所定义的是本地资源,并没有添加约束,所以,资源均衡的运行在两个节点上了。
  此时,当我们访问192.168.1.180时,会返回页面吗?
  显然不会,这里我们访问192.168.1.180时,此IP资源在node1上,但是node1上并没有运行webserver资源,所以,这里并没有达到我们想要的高可用效果。

  如果将其中的一个节点转换为standby,那么可以正常访问了吗?
  当然可以,我将node2转为standby备节点,资源将会转移到node1上。

  

  

  · 定义排列约束
  使webip和webserver两者永远在一起。



  ·定义位置约束
  使某个资源倾向于运行在哪个节点





  · 定义顺序约束


  


  

    基于crm+hb_gui接口配置http+mysql+nfs高可用集群
  

    基于crm+hb_gui接口配置ipvs高可用集群
  

    基于crm+hb_gui+ldirectored接口配置ipvs高可用集群
  





运维网声明 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-660401-1-1.html 上篇帖子: linux上的 heartbeat 双机热备服务架设{未验证} 下篇帖子: Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置http+msyql+nfs高可用集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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