corosync+pacemaker基本配置

Pacemaker是 Linux环境中使用最为广泛的开源集群资源管理器。

1, Pacemaker利用集群基础架构(Corosync或者 Heartbeat)提供的消息和集群成员管理功能,实现节点和资源级别的故障检测和资源恢复,从而最大程度保证集群服务的高可用。

2,从逻辑功能而言,pacemaker在集群管理员所定义的资源规则驱动下,负责集群中软件服务的全生命周期管理,这种管理甚至包括整个软件系统以及软件系统彼此之间的交互。

3,Pacemaker在实际应用中可以管理任何规模的集群,由于其具备强大的资源依赖模型,这使得集群管理员能够精确描述和表达集群资源之间的关系(包括资源的顺序和位置等关系)。同时,对于任何形式的软件资源,通过为其自定义资源启动与管理脚本(资源代理),几乎都能作为资源对象而被 Pacemaker管理。

4,Pacemaker仅是资源管理器,并不提供集群心跳信息,由于任何高可用集群都必须具备心跳监测机制,因而很多初学者总会误以为 Pacemaker本身具有心跳检测功能,而事实上 Pacemaker的心跳机制主要基于 Corosync或 Heartbeat来实现

5,pacemaker只是作为HA的资源管理器,所以不要想当然理解它能够直接管控资源,如果你的资源没有做脚本配置那么对于pacemaker来说它就是不可管理的。

特性

1、监测并恢复节点和服务级别的故障。
2、存储无关,并不需要共享存储。
3、资源无关,任何能用脚本控制的资源都可以作为集群服务。
4、支持节点 STONITH功能以保证集群数据的完整性和防止集群脑裂。
5、支持大型或者小型集群。
6、支持 Quorum机制和资源驱动类型的集群。
7、支持几乎是任何类型的冗余配置。
8、自动同步各个节点的配置文件。
9、可以设定集群范围内的 Ordering、 Colocation and Anti-colocation等约束。
10、高级服务类型支持,例如:
Clone功能:即那些要在多个节点运行的服务可以通过Clone功能实现,Clone功能将会在多个节点上启动相同的服务;
Multi-state功能:
即那些需要运行在多状态下的服务可以通过 Multi–state实现,
在高可用集群的服务中,有很多服务会运行在不同的高可用模式下,如:Active/Active模式或者 Active/passive模式等,
并且这些服务可能会在 Active 与standby(Passive)之间切换。
11、具有统一的、脚本化的集群管理工具。

一:基本配置
Pacemaker集群管理:支持fence;对服务本身也有监控。使用corosync检测结点心跳。

一、集群结点端安装软件----linux1 ,linux2
1,先搭建好yum源
在这里插入图片描述
2,yum install pacemaker -y 两台都下载服务
在这里插入图片描述
在这里插入图片描述
3,下载所需要的依赖包,两个一起下载可解决相互依赖关系
在这里插入图片描述
在这里插入图片描述
4,拷贝主配置文件
在这里插入图片描述
5,配置文件
bindnetaddr: 172.25.66.0 ##集群结点网络
mcastport: 5466 ##多播端口

在这里插入图片描述
6,添加此段,启动corosync时,将pacemaker也启动 ver:0 开机自启动
在这里插入图片描述
7,因为集群结点配置均相同,因此我们可以将配置文件拷贝至其它结点
在这里插入图片描述
启动服务
在这里插入图片描述
在这里插入图片描述
8, crm_mon 查看结点连接状态
在这里插入图片描述
9,关闭fence模块
表示资源不会迁移
verify 检测
commit 保存
在这里插入图片描述
在这里插入图片描述
查看是否同步
在这里插入图片描述
10,交互式命令
crm(live)# node ##进入对结点操作模式

crm(live)node# standby ##使其为standbt状态 linux1下线
在这里插入图片描述

在这里插入图片描述
1)online上线,(后面加上那台主机的名字可使那台主机下线或上线)
在这里插入图片描述
在这里插入图片描述
2)创建资源vip,监控以上资源在哪个结点上运行;
添加vip资源,params 指定参数 op monitor 监控配置,interval指定执行操作的频率,单位:秒
在这里插入图片描述
3)online:表示服务正常且可以接管资源的结点;标记部分为添加的资源;started:表示该资源正运行在server1结点上
在这里插入图片描述
4)测试 使其为standbt状态 linux2接管,
在这里插入图片描述
在这里插入图片描述
5)pacemaker默认无回切机制,关机linux2结点,让linux1结点上线
若关闭服务,则为OFFline;若是一个双结点集群,当有一端宕掉服务时,另一结点则会自动丢弃资源,也不再接管,因为一个结点不能构成集群。
在这里插入图片描述

在这里插入图片描述
linux2上线资源并不会回切,在这之前我已将linux1上线
在这里插入图片描述
在这里插入图片描述
安装apache

在两个节点上都安装
在这里插入图片描述
在这里插入图片描述
建立发布文件
在这里插入图片描述
在这里插入图片描述
在集群上加入apache
只在一端加入即可,加入httpd服务

在这里插入图片描述
在这里插入图片描述
建立集群服务组
目的是为了让服务都运行在一台服务器上
在这里插入图片描述
在这里插入图片描述
linux1下线 linux2接管,linux1再次上线 ,pacemaker默认无回切机制
在这里插入图片描述
在这里插入图片描述
不仅仅只有服务组这一种方法,下面我们试第二种
先删除集群服务组,删除方法如下
在这里插入图片描述
在这里插入图片描述
排列约束 (colocation):资源间的依赖/互斥性,定义资源是否运行在同一节点上
在这里插入图片描述
在这里插入图片描述
位置约束(location):每个节点都有一个score值,正值则倾向于本节点,负值倾向于其他节点,所有节点score比较,倾向于最大值的节点。
在这里插入图片描述
在这里插入图片描述
设置默认的粘滞性
在这里插入图片描述
在这里插入图片描述
定义资源监控配置如下:当httpd服务停止时,将自动重启httpd,如重启失败则将资源转移至可用的节点
在这里插入图片描述
这里简单介绍在添加资源时命令写错的解决方法
在这里插入图片描述
在这里插入图片描述
添加vip资源,params 指定参数 op monitor 监控配置,interval指定执行操作的频率,单位:秒
在这里插入图片描述
添加服务
在这里插入图片描述
在这里插入图片描述
测试:当杀死httpd服务时,根据规则会对httpd进行监控,然后再次让httpd服务启动
在这里插入图片描述
可用下面方法删除图中的缓存
在这里插入图片描述
在这里插入图片描述
三、corosync+pacemaker+nfs实现高可用案例
此实验需将另一台服务器启动nfs服务并挂载至两节点上配置同样的页面文件
在这里插入图片描述
在这里插入图片描述
建立一个递归目录,并且给所有人执行权限
在这里插入图片描述
建立共享的发布目录,可读可写

在这里插入图片描述
在这里插入图片描述
尝试是否成功挂载
在这里插入图片描述
在这里插入图片描述
定义webdata
在这里插入图片描述
将vip、webserver、webdata加入到webgroup组
在这里插入图片描述
在这里插入图片描述
测试 此时服务在linux1上,可以看到linux4共享过来的文件内容
在这里插入图片描述
自动挂载
在这里插入图片描述
使linux1处于standby状态,linux2接管并且自动挂载,测试也是可以看到linux4共享过来文件的内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值