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

[经验分享] centos实现heartbeat 双机热备

[复制链接]

尚未签到

发表于 2018-4-23 09:12:00 | 显示全部楼层 |阅读模式
      centos实现heartbeat 双机热备

  

  双机热备就是使用两台服务器共同执行同一服务,在运行过程中实时相互备份,当一台服务器出现故障时候,另一台可以立即发现故障并接管那天服务器的服务,从而在不需要人工干预的情况下自动保证系统能持续提供服务。常见的有两种情况:使用共同存储设备、使用不同存储设备(需要通过软件保持同步),在同一时间内主服务器保持激活状态,备份服务器处于监听状态,当主服务器出现故障无法启动时候,备份服务器会通过心跳诊断将备份服务器激活,保证服务正常使用。这里主要是用在提供web服务的服务器,目的是防止服务器宕机引起的服务间断。采用的是linux+heartbeat方案。下面把我的实现过程写一下:
DSC0000.png

  两台服务器用来做高可用,虚拟vip192.168.100.249,通过心跳线来确定对方是否活着
  下面看下我的heartbeat来做HA集群
  环境描述
  两个系统都是centos6.7,两个主机ip分别为
cs1.local  192.168.100.45

  cs2.local  192.168.100.44

  两个主机的心跳地址分别为:
  cs1.local  192.168.10.20
  cs2.local   192.168.10.10

  一、设置主机名

  


  • DSC0001.png

  • DSC0002.png

  二、关闭防火墙活着打开所需端口,关闭SELinux
  /etc/init.d/iptables stop

  setenforce 0
  三、设置解析

DSC0003.png

DSC0004.png

  四、安装epel扩展源
  yum insall epel-release
  五、安装heartbeat 和apache
  yum -y install heartbeat-stonith  heartbeat-pils heartbeat heartbeat-devel heartbeat-gui libnet
  yum install -y httpd

  六、主服务器上的操作
  1.Heartbeat的主要配置文件有ha.cf、haresources、authkeys,需要放在/etc/ha.d目录下,
        在通过yum安装Heartbeat后,默认并没有这三个文件,
        yum 安装后可以从/usr/share/doc/heartbeat-3.0.4找到,拷贝到/etc/ha.d并编辑
  cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/
        cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/
        cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/
  2.主配置文件ha.cf的内容设置如下:
  debugfile /var/log/ha-debug     #用于记录heartbeat的调试信息
  logfile /var/log/ha-log  #用于记录heartbeat的日志信息
  logfacility     local0     #系统日志级别
  keepalive 2        #设定心跳(监测)间隔时间,默认单位为秒
  deadtime 30     # 超出30秒未收到对方节点的心跳,则认为对方已经死亡
  warntime 10       #警告时间,通常为deadtime时间的一半

  initdead 120    #网络启动时间,至少为deadtime的两倍
  udpport 694    使用udp端口694 进行心跳监测
  ucast eth1 192.168.10.10    #采用单播,进行心跳监测,IP为对方主机IP
  auto_failback on       #on表示当拥有该资源的属主恢复之后,资源迁移到属主上
  node    cs1.local        #设置集群中的节点,节点名须与uname –n相匹配  
        node    cs2.local         #节点2

  ping 192.168.100.1 192.168.100.253  #ping集群以外的节点,这里是网关和另一台机器,用于检测网络的连接性
  respawn hacluster /usr/lib64/heartbeat/ipfail     #此处lib64默认为lib,64位系统要改为lib64,否则启动时报错。

  apiauth ipfail gid=root uid=root    #设置所指定的启动进程的权限
  3.ha.cf文件设置了heartbeat的检验机制,没有执行机制。Haresources用来设置当主服务器现              问题时heartbeat的执行机制。其内容为:当主服务器宕机后,该怎样进行切换操作。切换内容            通常有IP地址的切换、服务的切换、共享存储的切换,从而使从服务器具有和主服务器同样的                IP、SERVICE、SHARESTORAGE,从而使client没有察觉。在两个HA节点上该文件必须完一 致。
  cat /etc/ha.d/haresources
DSC0005.png

  4.认证文件authkeys   

  用于配置心跳的加密方式,该文件主要是用于集群中两个节点的认证,采用的算法和密钥在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证。
本次实例中,内容设置如下:
  cat /etc/ha.d/authkeys
DSC0006.png

  注:需要更改该文件的属性为600,否则heartbeat启动将失败
  chmod 600 /etc/ha.d/authkeys
  5.配置从节点的heartbeat
  将主节点上的heartbeat配置文件拷贝到从节点,并确保两个节点上的配置文件权限相同:
  scp /etc/ha.d/ha.cf root@cs2.local:/etc/ha.d/
        scp /etc/ha.d/haresources root@cs2.local:/etc/ha.d/
        scp /etc/ha.d/authkeys  root@cs2.local:/etc/ha.d/
  ha.cf文件需修改ucast的内容,将其指向主节点:
        ucast eth1 192.168.10.20  #指定对方IP
  其他文件内容无需修改。在主备节点上haresources和authkeys文件必须是相同的
  七、测试
  将cs1.local  网页改为  this is webserver : cs1
  将cs2.local  网页改为  this is webserver : cs2
  /etc/init.d/httpd start

  /etc/init.d/heartbeat start

DSC0007.png

  断开cs1.local 的心跳ip 192.168.10.20

DSC0008.png

  重新访问结果如下
DSC0009.png

  恢复主机心跳ip192.168.10.20 访问又回到原来界面
DSC00010.png

  

  

  

  

  

运维网声明 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-450722-1-1.html 上篇帖子: CentOS 6.5 Zabbix 下篇帖子: Linux/CentOS 6 free 命令详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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