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

[经验分享] heartbeat v2配置高可用web集群和基于nfs搭建MySQL高可用集群

[复制链接]
发表于 2019-1-7 12:44:47 | 显示全部楼层 |阅读模式
  安装环境:Centos 6.4, httpd2.4,mysql5.5,heartbeat v2
  提供两台机器node1和node2,在/etc/hosts文件中添加名称解析,并且主机名称要与节点名称要相同,即uname -n的名称要和hosts定义的名称必须一样。
  #   IP                         HOSTNAME             ALIAS
  10.204.80.79     node1.mylinux.com     node1
  10.204.80.80     node2.mylinux.com     node2
  这两台服务器之间建立ssh互信
  #ssh-kegen –t rsa –p””                          生成id_rsa.pub和id_rsa 公钥和私钥文件
  #ssh-copy-id –i .ssh/id_rsa.pub root@node2              把公钥文件拷到node2上,在node2中同样操作,然后把公钥文件拷到node1上,这样,两台主机之间就可以不通过密码进行互访。
  安装httpd,并提供访问页面,为了显示效果,可以在两台机器上的网页文件上添加标记显示区别,我用的是web页面是phpinfo 加标识来识别,基础环境就已经安装好了。
  安装heartbeat v2版本
  因为heartbeat v2版本已经不支持在centos6版本上的rpm包,所以不能直接用yum安装,需要用src源码安装包编译后才能安装。我这里用的是已经编译好了的rpm包,安装过程要解决依赖关系,
  yum -y install perl-MailTools net-snmp-libs pygtk2-libglade libnetsnmp net-snmp-libs
  然后通过rpm –ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-gui-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm

  安装heartbeat v2.14版本完成
  heartbeat v2的配置文件放的位置在 /etc/ha.d/目录下,有三个配置文件,authkeys  ha.cf   haresource,安装完成后默认是没有这三个文件的,可以手动创建,也可以在/usr/share/doc/heartbeat-2.1.4/ 目录下把这三个文件的示例文件拷到/etc/ha.d/ 目录下。
  配置文件的作用:
  authkeys  : 认证文件,里面有启用哪种加密方式及加密密钥,crc ,sha1 和md5三种认证机制。

  如果要启用哪种认证方式,则在 auth 后面选择对应的数据,然后加指定验证密钥,密码是用openssl随机生成的一串16位字符
  haresource :这是由heartbeat v1版本中自带的资源管理配制文件,定义依靠和资源情况 。

  这点定义的时资源节点默认依靠在node1节点上,vip:10.204.80.89,默认绑定在eth0上,定义的服务为httpd24
  ha.cf : 主配置文件, 定义节点,日志,传输心跳的方式等。
  logfile /var/log/ha-log
  node node1.mylinux.com
  node node2.mylinux.com
  mcast eth0 225.4.0.4 694 1 0
  ping 10.204.80.3
  配置就已经完成,启动heartbeat
  在node1上启动heartbeat ,提示heartbeat启动成功,但资源是停止的。

  查看启动日志

  查看启用端口

  组播端口694已经启动
  在当前节点上启动node2

  查看资源


  vip和httpd都已经启动。web页面也正常显示

  在node1上停止heartbeat服务

  然后在node2上查看资源


  Vip和httpd都已经成功转移到node2上,web访问页面也显示是node2上的页面

  在node1上重新启动heartbeat

  资源又重新回到node1上了,这是因为在haresource定义 资源的时候是默认在Node1上。heartbeat配置高可用web服务成功
配置基于nfs共享存储的mysql高可用集群
  提供两台机器mysql1和mysql2,在/etc/hosts文件中添加名称解析,并且主机名称要与节点名称要相同,即uname -n的名称要和hosts定义的名称必须一样。
  #   IP                         HOSTNAME             ALIAS
  10.204.80.86    mysql1.mylinux.com     mysql1
  10.204.80.85    mysql2.mylinux.com     mysql2
  nfs服务器 10.204.80.71

  mysql1和mysql2建立互信关系,并且在三台服务器上添加指定同样uid和gid的mysql帐号

  在mysql1和mysql2两台机器上挂载nfs,挂载目录为/mysqldata,并创建/mysqldata/data目录为mysql的数据目录

  用二进制格式安装mysql5.5.38,并指定mysql的数据目录为/mysqldata/data

  在mysql1节点上启动mysql服务成功,

  然后在mysql1节点上停止mysql服务,然后在mysql2节点上同样启动mysql服务,注意在/etc/my.cnf文件中一定要添加  datadir = /mysqldata/data  这一条配置文件,

  在mysql2结点上启动mysql服务成功

  集群环境已经搭好,安装heartbeat v2版本过程参照上面web高可用集群过程。启用图型界面配置资源
  在/etc/ha.d/ha.cf主配置中写入以下配置
  node    mysql1.mylinux.com   
node    mysql2.mylinux.com
  mcast eth0 225.5.0.4 694 1 0
  ping 10.204.80.3
  crm on    # 启用图型界面配置资源
  在/etc/ha.d/authkeys 启用验证功能
  2 sha1 7cd37bc0d0fbc374
  输入命令 crm_mon,可以查看两个节点的状态信息

  两个节点都已经在线,但没有定义资源
  在命令行输入启用图型界面

  安装heartbeat以后会自动创建hacluster帐号,对这个帐号添加密码,启动heartbeat服务就可以登陆进去配置资源。

  如图显示,两个节点都已经正常在线状态。就可以添加资源
  因为启动mysql服务必须要有三个资源:VIP  NFS以及mysql服务,所以把这三个资源定义到同一个资源组中。
  添加资源vip,ip地址,绑定在哪个网卡的别名上,指定netmask

  同样添加filesystem资源nfs和mysqld服务,然后把资源启动

  定义约束:
  因为前面定义的资源都在同一个组里面,所以这些资源必须运行在同一个节点上,于是要定义的约束是位置约束,默认资源依靠在节点mysql1上。顺序约束,必须先挂载nfs资源然后才能启用mysql服务,必须要先停止mysql服务,然后才能停止nfs服务,定义属性能如图
  位置约束: 定义在mysql1上,也就是如果mysql1节点挂了会自动转移到节点mysql2,当mysql1节点重新在线后,资源又会自动转移到mysql1节点上来。

  顺序约束:定义资源启动的先后顺序

  划红圈的部份就已经说明了资源启动的顺序关系,至此集群已经定义完成。
  把mysql1节点状态改为Standby,显示转换过程


  资源转移完成,当把mysql1节点重新上线,资源又会自动转移 回去。





运维网声明 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-660355-1-1.html 上篇帖子: RHEL5搭建apache服务器全过程(四)配置heartbeat和ipvsadm 下篇帖子: heartbeat+Web负载均衡,健康状态检测
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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