系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

corosync v1 + pacemaker高可用集群部署

时间:2020-05-27来源:电脑系统城作者:电脑系统城

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进行资源管理。

分享到:

相关信息

  • linux 文件权限怎么解析

    常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...

    2024-07-07

  • 如何使用WPSeku找出 WordPress 安全问题?

    然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...

    2024-07-03

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载