xxqyzsc 发表于 2019-1-7 09:07:14

heartbeat介绍以及通过heartbeat实现简单httpd高可用

  heartbeat 是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.简单的来说,通过heartbeat,可以将资源、服务等从一台已故障的服务器,快速转移到另外一台正常运转的服务器上面.
  heartbeat跟另一款轻量级高可用开源软件keepalived有很多共同之处,在实际应用中我们应该对比两款软件的差异根据自己的需求选定最合适的软件.
  keepalived通过VRRP协议进行通信和选举
  heartbeat通过心跳进行通信和选举

  keepalived配置、使用简单,相对来说功能也比较简单
  heartbeat配置使用相对复杂但是功能强大,配套各种工具,适合做大型集群管理
  

  这里通过配置heartbeat实现对httpd的简单高可用
  环境:centos 6.4
  heartbeat3.0.4
  ha1192.168.1.209

  ha2192.168.1.208
  vip   192.168.1.253
  

  首先配置ha1


[*]  修改主机名
hostname ha1
vi /etc/sysconfig/network

[*]  2.时间同步
yum -y install ntp
service ntpd start
netpdate 192.168.1.208
[*]  建立双机互信
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.209
[*]  安装heartbeat
  yum -y install heartbeat*
  5. 给heartbeat提供配置文件
   cp -p /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf,haresources} /etc/ha.d/
   vi authkeys
   最后一行添加
   auth 1
   a md5 ff49e8aba5208b0130ade78042877661(随便一个文件的md5值)

   vi/etc/ha.d/ha.cf
   debugfile /var/log/ha-debug
   logfile /var/log/ha-log
   keepalive 2
    deadtime 30
    warntime 10
    initdead 120
    udpport 694
    bcast eth0
    auto_failback on
    node ha1
    node ha2
    ping 192.168.1.1

   vi /etc/ha.d/haresources
   ha1 IPaddr::192.168.1.253/24/eth0 httpd
  

  6.安装httpd

  yum -y install httpd
  给httpd提供一个有标示的默认文档
  echo "hello h1">> /var/www/html/index.html
  关掉httpd的自启动
http://s3.运维网.com/wyfs02/M02/75/94/wKioL1Y80NvD8CuzAACDpeCP7bQ242.jpg
  

  配置ha2的的步骤同ha1

  

  配置完成启动heartbeat
  service heartbeat start
  ssh ha2 "service heartbeat start"
  查看vip是否在主节点ha1上面
http://s3.运维网.com/wyfs02/M00/75/94/wKioL1Y80gyCxjQ_AAH5VMTPmcU710.jpg
  

  测试集群能否正常被访问
http://s3.运维网.com/wyfs02/M01/75/94/wKioL1Y80n3QUOzRAABKIeqP3tg518.jpg
  把ha1关机到ha2查看集群ip是否被接管
http://s3.运维网.com/wyfs02/M00/75/94/wKioL1Y81hzDupRPAAH3jwilRhI802.jpg
  

  测试网站能否正常访问
http://s3.运维网.com/wyfs02/M01/75/94/wKioL1Y81lWAn6DIAABYZWTeYFA382.jpg
  

  heartbeat配置选项解析
  /debugfile /var/log/ha-debug heartbeat的调试日志存放位置
logfile /var/log/ha-log heartbeat的日志存放位置
logfacility locall 在syslog服务中配置通过locall设备接受日志
keepalive 2 指定心跳时间为2秒
deadtime 30 指定若备用节点在30秒内没收到主节点的心跳信号,则接管主节点的资源
warntime 10 指定心跳延迟的时间为10秒.当10秒内备份节点不能接收主节点的心跳信号时,就写入警告日志
initdead 120 指定在heartbeat首次运行后,需要在12秒之后才启动主服务器的任何资源.该选项用于解决这种情况产生的时间间隔.取值至少为deadtime的两倍,单机启动时会遇到vip绑定很慢
#bacat eth1 指明心跳私用以太网广播方式在eth1接口上进行广播,如使用两个世纪网络来传送心跳则#bcast eth0 eth1
auto_failback on 定义当主节点恢复后,是否将服务自动切回
node ha1 节点名
node ha2
crm no 是否开启Cluster Resouree Manager(集群资源管理)功能

  

  




页: [1]
查看完整版本: heartbeat介绍以及通过heartbeat实现简单httpd高可用