menny 发表于 2019-1-7 10:16:27

heartbeat v2 haresource配置高可用集群

  heartbeat v2提供了完整的高可用方案,既包含了Messaging Layer,又包含CRM,其中CRM有haresource(默认)和crm,本文基于haresource配置
  一、环境介绍:
  Node1:
  CentOS6      192.168.9.168   192-168-9-168
  CentOS6      192.168.9.176   192-168-9-176
  VIP: 192.168.9.144
  heartbeat和httpd为yum安装
  二、环境部署
  服务器初始化脚本执行(主要时间同步,防火墙,主机名,ip配置,关闭不必要服务等)
  1,更改yum源
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  yum clean all
  2,安装epel
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-6.noarch.rpm
  3,设置主机名
  hostname
  vim /etc/sysconfig/network
  4,绑定host
   cat /etc/hosts
  192.168.9.168 192-168-9-168
  192.168.9.176 192-168-9-176
  可配置秘钥通信:
  ssh-keygen -P ''
  ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.9.168
  ssh 192.168.9.168 'date'
  5,安装heartbeat
  yum install -y heartbeat
  cp /usr/share/doc/heartbeat-3.0.4/{ha.cf,haresources} /etc/ha.d/
  安装httpd
  yum install -y httpd
  6,配置
  # grep -v ^# /etc/ha.d/ha.cf | grep -v ^$
  debugfile /var/log/ha-debug
  logfile/var/log/ha-log
  keepalive 2
  deadtime 30
  warntime 10
  initdead 120
  udpport694
  mcast eth0 225.23.190.1 694 1 0
  auto_failback on
  node192-168-9-168
  node192-168-9-176
  ping 192.168.9.1
  respawn hacluster /usr/lib64/heartbeat/ipfail
  配置详解:
  logfile          /var/log/ha-log    #日志文件
  #logfacility   local0                #日志记录设备
  keepalive      2                     #心跳间隔(秒)
  deadtime 15                            #脑裂等不正常事件后,多久认为对方故障(秒)
  warntime 10                            #在日志中发出"late heartbeat"警告之前等待的时间
  initdead 120                            #在某些配置下,重启后网络需要一些时间才能正常工作。要大于deadtime
  udpport 694                            #使用端口694进行bcast和ucast通信。这是默认的,并且在IANA官方注册的端口号。
  #bcast eth0                           # 集群消息的传递方式,广播,Linux可用
  mcast eth0 225.23.190.1 694 1 0   #组播
  #ucast eth0 192.168.1.2   #单播
  auto_failback on   #主节点重新恢复,将从从节点取回所有资源。若该选项设置为off,主节点便不能重新获得资源。
  #stonith baytech /etc/ha.d/conf/stonith.baytech    #定义STONITH设备
  node   192-168-9-168            #定义集群所有节点,后面节点名称必须与"uname -n"一致
  node   192-168-9-176            #定义集群所有节点
  ping   192.168.9.1                #ping第三方设备(这里ping网关)
  # cat /etc/ha.d/authkeys
  auth 3
  #1 crc
  #2 sha1 HI!
  3 md5 sinashow213
  chmod 600 /etc/ha.d/authkeys
  # grep -v ^# /etc/ha.d/haresources | grep -v ^$
  192-168-9-168 IPaddr::192.168.9.144/24/eth0 httpd
  配置详解:
  #每一行表示一个资源(组),这里表示192-168-9-168节点为首先运行的主节点,然后通过~/ha.d/resource.d/目录下的资源代理IPaddr来配置VIP,使其配置在eth0的别名上,最后就是通过/etc/rc.d/init.d/目录下LSB资源代理脚本来管理httpd服务。
  7. 启动heartbeat
  /etc/init.d/heartbeat start && chkconfig heartbeat on
  8. 查看ip addr
  9. 测试自动切换(/usr/share/heartbeat/hb_standby)



页: [1]
查看完整版本: heartbeat v2 haresource配置高可用集群