使用资源管理工具pcs配置Corosync+pacemaker

本文详细介绍了使用pcs工具配置Corosync和pacemaker搭建高可用集群的过程,包括集群架构、资源类型、约束、配置属性以及pcs的使用。重点讲述了配置前提,如SSH通信、时间同步、网络畅通,以及pcs安装、服务启动和状态检查。通过pcs命令行工具,实现了Corosync和pacemaker的安装和集群配置,确保了节点间的正常通信和集群的稳定运行。
摘要由CSDN通过智能技术生成

使用资源管理工具pcs配置Corosync+pacemaker

一、Corosync+pacemaker架构

1、高可用集群结构层:(从下往上)

1).Messaging Layer:消息层,传递心跳以及集群事务信息

  corosync v1, v2(votequorum)

2).CRM:Cluster Resource Manager:集群资源管理器

作用:使本身不具备的高可用能力的服务也能够运行在高可用集群中,并以高可用模式提供服务

传递方式:CRM-->LRM:Local Resource Manager -->Pengine:Policy Engine(只运行在主节点上,决策)

    CIB:Cluster Information Base:集群信息库

集群的全生命周期管理工具:

pcs: agent(pcsd)

crmsh: agentless (pssh)

独立服务:

pacemaker:CRM-->LRM-->Pengine-->CIB

  重要的基本组件:cib/crmd/lrmd/pengine

  配置接口:crmsh (agentless), pssh 并行ssh

  pcs (agent、a/s), pcsd:由pcsd守护进程负责接收pcs发出的命令并执行

  实现方式:group(资源组、资源类型), constraint(约束)

3).RA: Resource Agent:资源代理

作用:运行在各节点中的crm中的lrm负责管理本地资源,包括资源的启动、停止、重启、监控等(主要是一些控制脚本)

脚本实现方式:

LSB: /etc/rc.d/init.d/目录下的脚本; centos5/6/7

systemd:/usr/lib/systemd/system 真正读取:/etc/systemd/system/multi-user.wants 处于enable状态的服务;

OCF:Open Cluster Framework开放集群框架,公司或组织自行研发的脚本: [provider]

  heartbeat、pacemaker、linbit

service:通用服务类型: /etc/ha.d/haresources.d/目录下的脚本;

stonith:STONITH:shoot the other node on the head  节点级别隔离:专用于stonith设备的类别

  Fence: 资源级别的隔离

2、集群资源定义

1).资源类型:

primitive:主资源,原始资源;在集群中只能运行一个实例;

clone:克隆资源,在集群中可运行多个实例;

  匿名克隆、全局惟一克隆、状态克隆(主动、被动)

  multi-state(master/slave):克隆资源的特殊实现;多状态资源;

group: 组资源;

  启动或停止;资源监视;相关性:

2).资源属性:

priority: 优先级;

target-role:started, stopped, master;

is-managed: 是否允许集群管理此资源;

resource-stickiness: 资源粘性;

allow-migrate: 是否允许迁移;

3).约束:constraint

#“inf:”表示无穷大,以下配置表示mysqlip和(mynfs mysqld)间的黏性值无穷大,即三个资源始终在同一节点上运行。

#此外“-inf:”表示黏性值负无穷,定义-inf:的两个资源始终不在同一节点运行。

#mandatory默认值,表示强制约束,

location位置约束:资源对节点的倾向性,指定资源首选在哪些节点上运行

  (-oo, +oo):

  任何值+无穷大=无穷大

  任何值+负无穷大=负无穷大

  无穷大+负无穷大=负无穷大

colocation排列约束:资源彼此间是否能运行于同一节点的倾向性;指定哪些资源捆绑一起,在同一节点上运行

  (-oo, +oo)    

order顺序约束:多个资源启动顺序依赖关系;指定排列约束中的资源启动顺序,该顺序和colocation顺序相反      

  (-oo, +oo),Mandatory

3、配置属性

全局属性:property, stonith-enable等等;

高可用服务:资源,通过RA

webip, webstore, webserver

  节点粘性:设置默认值m,共n个节点,则当前节点粘性为n*m

  如:定义node1粘性100,其它为0,则各节点黏性值

  node1: 100 + 0 + 0

  node2: 0 + 0 + 0

  node3: 0 + 0 + 0

4pcs:集群的全生命周期管理工具:agent(pcsd)

属性定义参数:

cluster:集群

  auth

  setup

resource:资源

  describe 描述

  list 列出

  create 创建

  delete 删除

constraint:约束

  colocation 倾向性

  order 顺序

  location 位置

property  全局属性

  list 列出

  set 设置

  status:状态查看

  config:配置

5、配置基础

CentOS 7: corosync v2 + pacemaker

         corosync v2: vote system

         pacemaker: 独立服务

配置集群的前提

(1).时间同步;

(2).基于当前正在使用的主机名互相访问;

(3).是否会用到仲裁设备;

 

二、配置pcs安装Corosyncpacemaker

1、配置集群的前提

1).设定各节点可以基于密钥进行ssh通信

[root@cen7 ~]# ssh-keygen -t rsa

[root@cen7 ~]# cd ~/.ssh

[root@cen7 .ssh]# ll

总用量 16

-rw-r--r--. 1 root root  401 6月  13 22:29 authorized_keys

-rw-------. 1 root root 1675 6月  13 22:28 id_rsa

-rw-r--r--. 1 root root  401 6月  13 22:28 id_rsa.pub

-rw-r--r--. 1 root root 1759 6月  13 23:08 known_hosts

[root@cen7 .ssh]# chmod 600 authorized_keys

[root@cen7 .ssh]# scp authorized_keys 192.168.88.133:/root/.ssh

2).确保时间点同步

[root@cen7 ~]# date;ssh node2 'date'

2018年 08月 02日 星期四 01:36:35 CST

2018年 08月 02日 星期四 01:36:36 CST

3).确保网络顺畅

[root@cen7 ~]# ping cen7.field.com

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.127 ms

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.069 ms

^C

--- localhost ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms

rtt min/avg/max/mdev = 0.069/0.098/0.127/0.029 ms

[root@cen7 ~]# ping node2.field.com

PING node2.field.com (192.168.88.133) 56(84) bytes of data.

64 bytes from node2.field.com (192.168.88.133)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值