corosync + pacemaker实现集群的高可用

Pacemaker是一个集群资源管理器。它利用集群基础构件(OpenAIS、heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。

pacemaker和corosync,后者用于心跳检测,前者用于资源转移。两个结合起来使用,可以实现对高可用架构的自动管理。 心跳检测是用来检测服务器是否还在提供服务,只要出现异常不能提供服务了,就认为它挂掉了。 当检测出服务器挂掉之后,就要对服务资源进行转移。
CoroSync是运行于心跳曾的开源软件。 PaceMaker是运行于资源转移层的开源软件。
corosync是集群框架引擎程序,pacemaker是高可用集群资源管理器,crmsh是pacemaker的命令行工具。

1.在server2和server3(两个节点,相互感应彼此的服务开启状态,实现双机热备)上安装pacemaker和corosync首先配置yum源才能下载东西
634  yum  install -y pacemaker
     yum  install  -y  corosync  #一般系统自带,不用下载
  636  cd  /etc/corosync
  637  ls
  638  cp  corosync.conf.example  corosync.conf #复制到官方文档中
  640  ls


  641  vi  corosync.conf
      totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.17.0   #更改此处为你主机的网段
                mcastaddr: 226.94.1.17    ##更改多播地址
                mcastport: 5405
                ttl: 1
        }
}
其他的不变在最后加
service{
   name:pacemaker    ##corosync开启的时候pacemaker也自动加载
   ver:0
}


  645  scp  corosync.conf  root@172.25.17.14:/etc/corosync  #复制到4里面


  646  /etc/init.d/corosync  start  
  647  ps  ax   #可以看见pacemaker也在进程里面


  648  cat  /var/log/messages  #产看日至一般没有错误
  649  crm_verify  -LV   #检查语法,会有错误,因为我们没有开启fence集群,接下来的步骤是为了语法正确


  650  cd  /pub
  651  ls  ##此处有检查语法的软件
  653  yum install pssh-2.3.1-2.1.x86_64.rpm   crmsh-1.2.6-0.rc2.2.1.x86_64.rpm
  654  rpm  -q  crmsh    #检查有没有crmsh这个软件
  655  scp  crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm   root@172.25.17.14:/pub    ##把这两个软件包考到4里面去


  656  crm
        configure  
       show
  657  crm  configure show   ##此命令同上


  658  crm
       configure
       property   stonith-enabled=false  ##把fence禁掉,语法才不会错误
       commit  #每次 更改完成后都要提交,否则不生效

  659  crm_verify  -LV   #此时语法不会出错


  660  crm
       configure
       show
       primitive   vip  ocf:heartbeat:IPaddr2  params  ip=172.25.17.100  cidr_netmask=24  op monitor  interval=1min
       commit


  在server4里面监控  可以看见vip  crm_mon


  661  /etc/init.d/corosync  stop     ## crm  node stanby也是停掉服务的意思
  在server4里面监控  可以看见vip  crm_mon  但是server1停掉了,大家都听掉了,不符合常规


  662  /etc/init.d/corosync  start
  663  crm
       configure  
       property  no-quorum-policy=ignore  
       commit        
  664  /etc/init.d/corosync  stop   ##server1停掉了,但server4还在运行中

在server1做fence和haproxy
  666  cd  /etc/corosync/
  667  ls
  668  vi corosync.conf
  669  vi  /etc/haproxy/haproxy.cfg
       将前端公共节点  bind  改为  *:80  name clear  注释  use_backend  dynamic  if  write  
       将两个后端节点荣为一体
       backend static
        balance         roundrobin
        server          dynsrv2  172.25.17.13:80 check inter 1000
        server          dynsrv1  172.25.17.12:80 check inter 1000
    打开server2和server3的httpd   清空里面的环境,只有index.html里
  670  ps  ax   ##查看进程
  671   cd /pub
  672  ls
  673  cd haproxy-1.6.11
  676  ls  
  680  cd  rpmbuild/
  681  ls
  682  cd RPMS/
  683  ls
  684  cd   x86_64/
  685  ls
  scp  haproxy-1.6.11-1.x86_64.rpm   root@172.25.17.14:/pub #在server4/pub里面进行下载haproxy
  687  cd  /etc/haproxy/
  688  ls
  689  scp haproxy.cfg  root@172.25.17.14:/etc/haproxy  #把文加考到server4里面,进入/etc/haproxy里面看以下   开启haproxy服务
  690  crm  
       configure
       primitive  haproxy  lsb:haproxy  op  monitor  interval=30s  ##去监控里面看,两者vip和haproxy是分离的,需要做下面的步骤
       commit
       group  hagroup   vip  haproxy
       commit   在server4里面/etc/init.d/corosync  stop  可以看见转换了


  691  ps  ax
  692  /etc/init.d/corosync  status
  693  /etc/init.d/corosync  start
  695  /etc/init.d/haproxy   start


##加fence,看有没有fence这个软件包
  703  rpm  -q fence-virt
         yum  install fence-virt-*
  704  stonith_admin  -I
  705  stonith_admin  -M  -a fence_xvm
 ##在真机开启 systemctl  status  fence_virtd    systemctl start fence_virtd
             cat  /etc/fence_virt.conf  看是不是br0
             brctl  show     ##主要看是不是br0
  706  cd    /etc/cluster/            ##server4里面也要进
  707  ls  ##有一个fence_xvm.key这个文件
  708  crm
       configure
       show
       primitive  vmfence  stonith:fence_xvm  params  pcmk_host_map="server1:vm1;server4:vm4"  op  monitor  interval=1min
       property  stonith-enabled=true  ##开启fence服务
       commit   #监控里面vip  haproxy  vmfence  都有


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值