zoukankan      html  css  js  c++  java
  • corosync v1 + pacemaker高可用集群部署(一)基础安装

    corosync v1 + pacemaker

    Corosync: OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程,提供心跳消息检测及成员管理。

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

    Corosync:用来做集群,Pacemaker:用来管理资源。

    本实验使用Linux6.8系统,FileSystem资源服务器,NA1节点1,NA2节点2,VIP192.168.94.222

    image

    目录结构:

    1、基础配置

    2、软件安装(corosync、pacemaker)

    3、corosync配置文件配置

    4、启动corosync服务

    5、查看日志信息

    1、基础配置

    1、修改主机名,设置主机名解析

    2、建立SSH互信

    3、NTP时间同步

    这里不做演示,参考

    HeartBeat基础配置(实现Web服务双机热备)

    2、软件安装(corosync、pacemaker)

    这里我使用epel6的yum进行安装,安装的版本分别是

    corosync-1.4.7-6.el6.x86_64
    pacemaker-1.1.18-3.el6.x86_64
    

    NA1&NA2

    yum安装软件

    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm -y
    yum install -y corosync* 
    yum install -y pacemaker*

    3、corosync配置文件配置

    NA1

    cd /etc/corosync/
    默认没有配置文件,拷贝配置样例,并取消注释
    grep -v '#' corosync.conf.example >> corosync.conf
    

    1、编辑配置文件

    vim /etc/corosync/corosync.conf

    compatibility: whitetank
    
    totem {
            version: 2
    
            secauth: off
    compatibility: whitetank
    
    totem {
            version: 2
    		# 是否认证,我们启用
            secauth: on
    
            threads: 0
    		# 定义集群信息传递接口
            interface {
                    ringnumber: 0
    				# 心跳线网段
                    bindnetaddr: 192.168.94.0
    				# 组播传播心跳信息
                    mcastaddr: 239.255.1.1
                    mcastport: 5405
                    ttl: 1
            }
    }
    # 记录日志
    logging {
            fileline: off
            to_stderr: no
            to_logfile: yes
    		# /var/lib/log/cluster 目录默认不存在,需要手动创建
            logfile: /var/log/cluster/corosync.log
            to_syslog: yes
            debug: off
    		# 记录时间戳
            timestamp: on
    		# 子系统相关设置
            logger_subsys {
                    subsys: AMF
                    debug: off
            }
    }
    定义服务,使用pacemaker
    service {
            ver:0
            name:pacemaker
    }
    # 定义corosync的工作用户,我们使用root组下的root用户,管理员。
    aisexec{
            user:root
            group:root
    }

    2、生成秘钥文件

    corosync-keygen

    corosync生成key文件会默认调用/dev/random随机数设备,操作不够多的花,会等待很长时间。

    执行corosync-keygen命令后,打开一个新的图形化窗口,随便敲击键盘,输入内容,很快就好了。

    [root@na1 corosync]# corosync-keygen
    Corosync Cluster Engine Authentication key generator.
    Gathering 1024 bits for key from /dev/random.
    Press keys on your keyboard to generate entropy.
    Press keys on your keyboard to generate entropy (bits = 48).
    Press keys on your keyboard to generate entropy (bits = 1008).
    Writing corosync key to /etc/corosync/authkey.

    会在当前目录生成authkey秘钥文件。

    [root@na1 corosync]# ls
    authkey        corosync.conf.example       service.d
    corosync.conf  corosync.conf.example.udpu  uidgid.d
    [root@na1 corosync]#
    

    NA2

    NA1配置完毕,将NA1的配置文件复制到NA2上。

    [root@na1 corosync]# scp -p authkey corosync.conf na2:/etc/corosync/
    authkey                              100%  128     0.1KB/s   00:00
    corosync.conf                        100%  447     0.4KB/s   00:00

    4、启动corosync服务

    NA1&NA2

    [root@na1 corosync]# service corosync start
    Starting Corosync Cluster Engine (corosync):               [确定]
    [root@na1 corosync]# ssh na2 'service corosync start'
    Starting Corosync Cluster Engine (corosync): [确定]
    [root@na1 corosync]#

    5、查看日志信息

    查看corosync引擎是否正常启动

    [root@na1 corosync]# grep -e "Corosync Cluster Engine" -e "configuration file" /var/log/messages
    May 24 19:11:18 study corosync[5935]:   [MAIN  ] Corosync Cluster Engine ('1.4.7'): started and ready to provide service.
    May 24 19:11:18 study corosync[5935]:   [MAIN  ] Successfully read main configuration file '/etc/corosync/corosync.conf'.
    [root@na1 corosync]#

    查看初始化成员节点通知是否正常发出

    [root@na1 corosync]# grep TOTEM /var/log/messages
    May 24 19:11:18 study corosync[5935]:   [TOTEM ] Initializing transport (UDP/IP Multicast).
    May 24 19:11:18 study corosync[5935]:   [TOTEM ] Initializing transmit/receive security: libtomcrypt SOBER128/SHA1HMAC (mode 0).
    May 24 19:11:18 study corosync[5935]:   [TOTEM ] The network interface [192.168.94.129] is now up.
    May 24 19:11:18 study corosync[5935]:   [TOTEM ] A processor joined or left the membership and a new membership was formed.
    May 24 19:11:40 study corosync[5935]:   [TOTEM ] A processor joined or left the membership and a new membership was formed.
    [root@na1 corosync]#

    检查启动过程中是否有错误产生

    [root@na1 corosync]# grep ERROR: /var/log/cluster/corosync.log
    May 24 19:11:18 corosync [pcmk  ] ERROR: process_ais_conf: You have configured a cluster using the Pacemaker plugin for Corosync. The plugin is not supported in this environment and will be removed very soon.
    May 24 19:11:18 corosync [pcmk  ] ERROR: process_ais_conf:  Please see Chapter 8 of 'Clusters from Scratch' (http://www.clusterlabs.org/doc) for details on using Pacemaker with CMAN
    [root@na1 corosync]#

    这里的错误信息表示packmaker不久之后将不再作为corosync的插件运行,因此,建议使用cman作为集群基础架构服务;此处可安全忽略。

    查看pacemaker是否正常启动

    [root@na1 corosync]# grep pcmk_startup /var/log/messages
    May 24 19:11:18 study corosync[5935]:   [pcmk  ] info: pcmk_startup: CRM: Initialized
    May 24 19:11:18 study corosync[5935]:   [pcmk  ] Logging: Initialized pcmk_startup
    May 24 19:11:18 study corosync[5935]:   [pcmk  ] info: pcmk_startup: Maximum core file size is: 18446744073709551615
    May 24 19:11:18 study corosync[5935]:   [pcmk  ] info: pcmk_startup: Service: 9
    May 24 19:11:18 study corosync[5935]:   [pcmk  ] info: pcmk_startup: Local hostname: na1.server.com
    [root@na1 corosync]#

    查看集群状态

    2个节点在线,0个资源

    [root@na1 corosync]# crm_mon --one-shot
    Stack: classic openais (with plugin)
    Current DC: na1.server.com (version 1.1.18-3.el6-bfe4e80420) - partition with quorum
    Last updated: Sun May 24 19:24:13 2020
    Last change: Sun May 24 19:07:27 2020 by hacluster via crmd on na1.server.com
    
    2 nodes configured (2 expected votes)
    0 resources configured
    
    Online: [ na1.server.com na2.server.com ]
    
    No active resources
    
    [root@na1 corosync]#

    环境配置到这里,下一篇使用pacemaker进行资源管理。


    读书和健身总有一个在路上

  • 相关阅读:
    JAVA URI URL 区别
    超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享
    开源框架:Apache的DBUtils框架
    java url openConnection get post 请求
    java 使用jxl poi 操作excel
    如何用Curl 来post xml 数据
    Linux Shell脚本编程--Linux特殊符号大全
    linux查看各服务状态以及开启和关闭
    eclipse中点不出来提示
    cocos2dx切换场景
  • 原文地址:https://www.cnblogs.com/Renqy/p/12972071.html
Copyright © 2011-2022 走看看