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

[经验分享] CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用

[复制链接]

尚未签到

发表于 2019-1-7 10:28:54 | 显示全部楼层 |阅读模式
  CentOS6.4 高可用集群之基于heartbeat和nfs的高可用mysql
  CentOS版本: CentOS release 6.4(Final) 2.6.32-358.el6.i686
  效果演示:

           使用ssh连接(nod-1.magedu.com)192.168.3.7 并执行以下命令:

           [root@nod-1 ha.d]# hb_gui &
           
               
           说明:hb_gui是heartbeat为了方便管理集群资源而提供的一个图形用户接口

           安装heartbeat默认会在系统中创建一个名为"hacluster"的用户、这个用户是在执行hb_gui命令时
           所必须的、默认情况下此用户密码为空、需要手动为其指定一个密码。

           一般情况下,一个高可用服务包括多个资源,从属于同一个服务的多个资源必须运行在同一个节点上|
           而默认情况下是平行的。这句话可以这样来理解(如果此处我们不是创建了一个名MYSQL_HA的组,那么
           上图中的3个资源就很可不是运行在同一个节点上)这一点一定要注意。
  

  

            查看 集群IP 即mysql_ip 是否位于(nod-1这个节点的eth0)的别名上(eth0:0)
            

  

            在nfs.magedu.com上执行以下命令
            模拟从远程nfs.magedu.com(192.168.3.9)访问 集群IP (192.168.3.10)


  

           在nod-1.magedu.com上执行以下命令
           观察nfs.magedu.com连接的到底是否是第1个节点:(nod-1.mageud.com)上的mysql数据库。

          
          
         在nod-1.magedu.com上查看nfs共享挂载的情况
              

  

     
  模拟故障是否能成功转移:
  

        
        
  
           从上图看当nod-1这个设定为"备用节点"后、集群资源已经转移到nod-2这个节点上。那么是否真的

           成功了呢(验证一下)

          
          
          
  

  

  

  准备工作:

          SSH 双机互信

          本次实验中高可用集群中只2个节点:(nod-1| nod-2)
          nod-1.magedu.com (192.168.3.7)

          nod-2.magedu.com (192.168.3.8)
          nsf.magedu.com   (192.168.3.9)
          集群的IP

          mysqlip          (192.168.3.10)

          
          1、在第1个节点(nod-1.magedu.com)上执行以下命令:      
              cd ~/.ssh
               ssh-keygen -t rsa

               ssh-copy-id -i ./id_rsa.pub root@192.168.3.8
  

          2、在第2个节点(nod-2.magedu.com)上执行以下命令:

               cd ~/.ssh

               ssh-keygen -t rsa
               ssh-copy-id -i ./id_rsa.pub root@192.168.3.7
  

          3、在第3个节点(nfs.magedu.com)上安装配置rpcbind(nfs服务) 及ntp服务:
              nfs.magedu.com这台服务器同时提供(nfs|ntp)这2种服务。
              rpcbind可以使用yum命令来安装此处就不做多讲了。

     
              本次实验中计划将 nfs.magedu.com这台服务器上的/mysqldata/data做为共享

              导出来供(nod-1|nod-2)挂载。

              1.查看或编辑 nfs.magedu.com上的nfs共享

                  [root@nfs ~]# cat /etc/exports
                  /mysqldata/data192.168.3.0/24(rw,no_root_squash)
  
         2.在(nod-1|nod-2)执行挂载测试

              可以执行以下命令测试能否正常挂载(nfs.magedu.com)上的共享目录/mysqldata/data
              [root@nod-1 /]# mount -t nfs 192.168.3.9:/mysqldata/data  /mysqldata/data  
              [root@nod-2 /]# mount -t nfs 192.168.3.9:/mysqldata/data  /mysqldata/data
              在创建并配置高可用集群的时候首先要做的便是要使用集群内各节点的时间保持同步

              在(nod-1|nod-2)上分别执行如下命令:        

              [root@nod-2 ~]# ntpdate 192.168.3.9
              9 Dec 12:00:42 ntpdate[11266]: step time server 192.168.3.9 offset 57574.355435 sec
  

  

   HeartBeat-2.1.4-11.el5.i386.rpm安装及配置                                    
  下载链接:https://dl.fedoraproject.org/pub/epel/5/i386/

            http://rpm.pbone.net/
            http://rpmfind.net/
            http://fedoraproject.org/wiki/EPEL(这个地址有时候访问会很慢、使用***软件会有明显改善)

  

  RPM包:
          
        安装顺序

          
          说明:
          devle包、和 ldirectord 包在本实验(高可用集群)当中暂时用不着所以用不着安装
          所以无需安装。
          net-snmp-libs-5.3.2.2-22.el5_10.1.i386.rpm

          在安装之前必须把系统自带net-snmp-libs包卸载掉(自带版本为net-snmp-libs-1:5.5-44.el6.i686)
          执行命令: yum  -e --nodeps  net-snmp-libs
                     rpm -ivh  net-snmp-libs-5.3.2.2-22.el5_10.1.i386.rpm
          gnutls-1.4.1-10.el5_9.2.i386.rpm
          在安装之前必须把系统自带gnutls包卸载掉(自带版本为gnutls-2.8.5-10.el6.i686)
          执行命令: yum  -e --nodeps  gnutls
                     rpm -ivh  gnutls-1.4.1-10.el5_9.2.i386.rpm
  配置:
         使用crm与haresource 不同之处是haresource(配置文件有3个:authkeys,har.cf,haresources)      
          [root@nod-1 ~]# cd /etc/ha.d/
          [root@nod-1 ha.d]# ll
          total 48
          -rw-------. 1 root root   693 Dec  8 12:01 authkeys
          -rw-r--r--. 1 root root 10686 Dec  8 12:09 ha.cf
          -rwxr-xr-x. 1 root root   745 Mar 20  2010 harc
          -rw-r--r--. 1 root root  5905 Mar 20  2010 haresources
          drwxr-xr-x. 2 root root  4096 Dec  6 17:57 rc.d
          -rw-r--r--. 1 root root   692 Mar 20  2010 README.config
          drwxr-xr-x. 2 root root  4096 Dec  7 19:13 resource.d
          -rw-r--r--. 1 root root  7862 Mar 20  2010 shellfuncs
         authkeys: 是验证身份的密钥文件。只有通过验证的主机才能成为集群当中的节点。

                   出于安全的authkeys的权限必须设定为 600,否则执行service heartbeat start

                   时可能报错、并伴随有警告信息。

         ha.cf    是关于集群本身设定的配置文件(我们可以在此文件中设定有多少个节点、还可以
                  设定心跳信息发送模式[bcast|mcast|ucast]即[广播|多播|单播],等各种参数)

  

         haresources  高可用集群中各资源的定义都位于此文件中

  

        因为我们此处要讲的是crm所以只需要对authkeyst和ha.cf进行配置即可

        1、authkeys   
          [root@nod-1 ha.d]# cat authkeys
          #Authentication file.  Must be mode 600

          #

          #auth 1
          #1 crc
          #2 sha1 HI!
          #3 md5 Hello!
  

          auth 1
          1 md5 3c0d2f606e0ddd100509d42795436dc1
          [root@nod-1 ha.d]#

          为了不占据空间多余的注释行我都删掉了、authkeys这个文件中需要修改的地方就2行:
              auth 1
              1 md5 3c0d2f606e0ddd100509d42795436dc
          它表示启用标识为1的加密方式、在1这个标识中我们指定了加密的方式为md5,后面一长串字符是salt。


        2、ha.cf

         在这个文件当中我们只需要修改4处地方

     
         #mcast eth0 225.0.0.1 694 1 0
         mcast eth0 225.0.0.1 694 1 0

  

         #nodekathy
         nodenod-1.magedu.com

         nodenod-2.magedu.com
  

         #ping 10.10.10.254

         ping  192.168.3.9
  

        #compression_threshold 2
        crm on

        或者写成下面这种方式效果也是一样的(表示启用crm)

        crm respawn

   CRM:即 Cluster Resource Manager
  

       当authkeys和ha.cf这2个文件都配置完成后,可以执行以下命令:
       [root@nod-1 ha.d]# /usr/lib/heartbeat/ha_propagate
       把这2个配置好的文件分发至集群中的其它各节点对应目录下、不用我们手动去复制。

     

  高可用
  集群的常用命令
        关于集群日常维护命令及其参数的使用、有一个网友写的比较具体、此处就直接引用了。

        出处:http://czmmiao.iteye.com/blog/1181720
        crm_mon:crm_mon 命令允许您监视群集的状态和配置。其输出包括节点数、uname、uuid、状态
        、群集中配置的资源及其各自的当前状态。crm_mon 的输出可以显示在控制台上或打印到 HTML
        文件。当具有不包含状态部分的群集配置文件时,crm_mon 会按文件中所指定的方式创建节点
        和资源概览。


  








  





运维网声明 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-660254-1-1.html 上篇帖子: Heartbeat双机热备配置 下篇帖子: Centos6.0系统drbd+heartbeat+nfs实现高可用文件存储
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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