pacmaker与corosync实现高可用集群

本文详细介绍了如何使用pacemaker和corosync搭建高可用集群。从pacemaker和corosync的基本概念到环境部署,包括两台虚拟机的配置、集群创建、资源添加、fence的配置,以及利用本地文件系统共享资源和高可用性与MySQL服务的结合。通过实例展示了集群在节点故障时的资源迁移,确保服务的连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.pacmaker与corosync的简单介绍
1.pacmaker
pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理、资源代理(RA)这个层次,它不能提供底层心跳信息传递的功能,要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方。通常它与corosync的结合方式有两种:
准备工作:
1、两台主机时间同步,最好做ntp服务以获得更加精准的时间;
2、两台主机名要与uname -n 输出的名字相同;
3、配置hosts本地解析,要与 uname -n 一致;
4、两台主机 root 用户能够基于密钥进行通信;
注意:因为一旦配置上高可用以后,资源都是受CRM所控制的,所以要将各资源的开机启动关闭
2.corosync
Coreosync在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等。它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义上的新软件,在2002年的时候有一个项目Openais它由于过大,分裂为两个子项目,其中可以实现HA心跳信息传输的功能就是Corosync ,它的代码60%左右来源于Openais. Corosync可以提供一个完整的HA功能,但是要实现更多,更复杂的功能,那就需要使用Openais了。Corosync是未来的发展方向。在以后的新项目里,一般采用Corosync,而hb_gui可以提供很好的HA管理功能,可以实现图形化的管理。另外相关的图形化有RHCS的套件luci+ricci.
二.环境部署
1.两台虚拟机:
server1 172.25.4.111;server2 172.25.4.112
火墙关闭;
selinux强制级为disabled
2.两台服务器的共同配置
(1)redhat7.3系统yum 源的配置

[root@server1 yum.repos.d]# cat westos.repo 
[rhel7.3]
name=rhel7.3
baseurl=http://172.25.4.250/westos
gpgcheck=0

[HighAvailability]  ##高可用
name=HighAvailability
baseurl=http://172.25.4.250/westos/addons/HighAvailability
gpgcheck=0

[ResilientStorage]  ##弹性存储
name=ResilientStorage
baseurl=http://172.25.4.250/westos/addons/ResilientStorage
gpgcheck=0

[root@server1 yum.repos.d]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
HighAvailability                                         | 4.1 kB     00:00     
ResilientStorage                                         | 4.1 kB     00:00     
rhel7.3                                                  | 4.1 kB     00:00     
(1/6): HighAvailability/primary_db                         |  27 kB   00:00     
(2/6): HighAvailability/group_gz                           | 3.4 kB   00:00     
(3/6): ResilientStorage/group_gz                           | 4.9 kB   00:00     
(4/6): rhel7.3/primary_db                                  | 3.9 MB   00:00     
(5/6): rhel7.3/group_gz                                    | 136 kB   00:00     
(6/6): ResilientStorage/primary_db                         |  33 kB   00:00     
repo id                              repo name                            status
HighAvailability                     HighAvailability                        37
ResilientStorage                     ResilientStorage                        42
rhel7.3                              rhel7.3                              4,751
repolist: 4,830  ##yum源由之前的4751增加为4830则配置成功
[root@server1 yum.repos.d]# scp westos.repo root@172.25.4.112:/etc/yum.repos.d  ##将做好的yum源发送给server2一份

(2)软件的安装
server1

[root@server1 yum.repos.d]# yum install pacemaker corosync pcs -y
[root@server1 yum.repos.d]# systemctl start pcsd
[root@server1 yum.repos.d]# systemctl enable pcsd

server2

[root@server2 yum.repos.d]# yum install pacemaker corosync pcs -y
[root@server2 yum.repos.d]# systemctl start pcsd
[root@server2 yum.repos.d]# systemctl enable pcsd

(3)两台主机实现互相通信
server1

[root@server1 yum.repos.d]# ssh-keygen  ##生成密钥
[root@server1 yum.repos.d]# ssh-copy-id server1  ##将私钥公钥都给server1
[root@server1 yum.repos.d]# ssh-copy-id server2  ##将私钥公钥都给server2
[root@server1 yum.repos.d]# ssh server2  ##实现免密连接成功
Last login: Sat Jun 22 23:06:19 2019 from 172.25.4.250
[root@server1 yum.repos.d]# ssh server1  ##实现免密连接成功
Last login: Sat Jun 22 23:06:03 2019 from 172.25.4.250

server2

[root@server2 ~]# ssh-keygen
[root@server2 ~]# ssh-copy-id server1
[root@server2 ~]# ssh-copy-id server2
[root@server2 ~]# ssh server2
Last login: Sat Jun 22 23:38:38 2019 from server1
[root@server2 ~]# ssh server1
Last login: Sat Jun 22 23:38:47 2019 from server1

(4)集群管理者密码的建立
server1

[root@server1 ~]# id hacluster
uid=189(hacluster) gid=189(haclient) groups=189(haclient)
[root@server1 ~]# passwd hacluster
Changing password for user hacluster.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

server2

[root@server2 ~]# passwd hacluster
Changing password for user hacluster.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

三.集群的创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值