bco 发表于 2019-1-7 12:57:13

Linux入门之:heartbeat v2 GUI模式下配置高可用

  1. heartbeat v2 CRM                     准备工作
            在主配置文件中任意位置添加crm on 。不会同步haresource,heartbeat v2使用crm作为集群资源管理器:需要在ha.cf中添加
                                   然后使用命令同步至所有主机# /usr/lib64/heartbeat/ha_propagate(通告)(该命令也必须需要ssh之间互信)
                                   安装heartbeat-gui # rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
                                   启动heartbeat服务
                                   crm通过mgmtd进程监听在5560/tcp。接收用户命令,实现配置的api接口(说明crm可用,配置生效)
                                   crm_mon监控当前集群状态
          
  整体规划
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515949wKpw.jpg
  1) 在需要启动gui的节点上配置登录用户,hacluster(自己安装,设置密码即可)
  2) 启动gui程序:hb_gui & (释放终端)
  3) 用实现建立好的帐号的登录
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515953u7Mr.jpg
  4) 创建资源                    http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398516207gyJK.jpg
  vip, 为native资源。这里ipaddr为OCF的RA,因此可以进行多种定义
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398516212ezMr.jpg
                                                    httpd资源仍然是native资源,但是使用的是lsb的RA,因此不能设置其他选项
                                                                                 
  在定义好后,很有可能可能两个资源是不在同一个节点上的。需要两个运行在同一个节点上,有两种方法来实现。一是通过资源组的方式。而是通过约束。可以通过;排列约束实现,将两个资源固定在同一个节点上。
  5) 定义约束                   http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398516217zKgH.jpg
          http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398516222eyz8.jpg                                             定义一个排列约束 colocation
  这里主要的含义是:webserver要和webip在同一个节点,并且,webserver在webip之后,分数为inf,永远在一起。
            定义一个位置约束 location
  这样可以实现更倾向于使用simon这个节点
                      http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_13985159764KVa.jpg
                                  定义顺序约束,定义资源启动顺序, order
                    
  2. 定义资源组(解决多个资源运行在同一节点)
  在新建资源的时候建立组
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515978PDpB.jpg
  其他建立资源与原来一样。这里,如果使用了存储,一定要确认好资源的顺序,应该是webip ,webstore,webserver
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515983ahcE.jpg
  一、基于heartbeat的mysql高可用集群
  这里使用mysql+heartbeat+nfs来实现。
  1. 在两个节点上部署好mysql程序,在共享磁盘服务器上部署好nfs,要注意,这里需要共享磁盘空间在初始化的时候能够备root用户读写,在日常应用中能够备mysql用户读写。因此,在部署的时候,确保root用户没有备挤压。三个节点上都有mysql用户和组,并且用户ID都一样。在数据库的配置文件中,要注意一些常用的配置:datadir=/mydata/data bin-log=/mydata/binlogs/master-bin 更为重要的是要实现InnoDB的表空间分离innodb_file_per_table= on
  2. 添加资源,这里要注意的是资源的顺序,先建立mysqlipàmysqlstoreàmysqlservice 。对应设置步骤同webserver。这里也设置为组
  二、基于IPVS的高可用网络
  这里前面使用ipvs来调度,后端为RS服务器,如果所有的服务器都发生故障了, 前端还可以返回错误页面。为前面的Directo做高可用。后端的RS负载均衡。                      ipvs的高可用
  vip使用172.16.37.100
            172.16.37.10(simon)
                        172.16.37.3(test)
                        RS
            172.16.37.6
                        172.16.37.7
          
  配置lvs负载均衡,这里以DR为例子,具体配置步骤见附件lvs。这里要注意的是,配置完成后需要保存规则,否则后面的heartbeat就没法启动了它了。# service ipvsadm save。
  Director上的资源主要有vip ipvsadm
  将两个Driector测试配置好后,需要关闭ipvsadm服务,down掉vip地址
  #service ipvsadm stop
  #ifconfig eth0:0 down
  1. 建立资源组director
  建立资源vip
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515988sg3q.jpg
  建立资源ipvsadm
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398515993AUPN.jpg
  1、 如果要实现对后台RS的健康状况检测,则需要使用额外的heartbeat组件。
  (也是作为一个服务在后台运行)
  heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm。
  1) 安装后禁止开机启动(使用高可用集群,RA调度启动)
  #chkconfig ldirectord off
  2) 配置文件
  复制模版配置文件至/etc/ha.d
  # cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_13985159962d5b.jpg
  3) 配置资源
  定义资源组director:
  定义资源vip
  定义资源ldirectord
http://sweetweapen.blog.运维网.com/attachment/201404/26/8585930_1398516000KP8U.jpg



vincent_fpMNI 发表于 2019-1-7 13:38:11

感謝樓主的分享,謝謝。
页: [1]
查看完整版本: Linux入门之:heartbeat v2 GUI模式下配置高可用