高可用集群corosync+pacemaker之pcs安装使用
前文我们介绍了高可用集群corosync+pacemaker的集群管理工具crmsh的常用命令的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/tag/crmsh/;今天我们来简单介绍另一款集群管理工具pcs;
一、环境准备
1、集群各节点同步时间和配置hosts文件解析各节点主机名;

提示:各节点都要去验证,是否时间同步了,hosts主机名解析;做了以上几步以后,如果有需要可把各节点的ssh互信也配置起来,方便各主机间互相拷贝文件;
2、在集群各节点安装程序包
yum install pacemaker pcs psmisc policycoreutils-python -y
提示:在集群各节点执行以上命令安装程序包;
3、程序包安装完成以后,在各节点启动pcsd,并把pcsd设置为开机自动启动
systemctl enable pcsd --now
提示:到此pcsd安装和启动就完成了;
二、利用pcs来快速创建启动集群
1、在集群各节点上给hacluster用户设定相同的密码
echo "you password" |passwd --stdin hacluster
提示:也可以不用这个用户,新建一个用户也行,总之在集群各节点上有一个一模一样的账号,并且密码也必须相同;建议使用hacluster用户;
2、认证各节点的用户名和密码

提示:如果集群主机特别多可以用shell的大括号展开特性;这个不需要在每个节点上做,在当前pcs所在节点上做就行了;
3、创建集群

4、启动集群

好了,到此一个3节点的corosync+pacemaker集群就创建启动好了;
验证:在各节点查看corosync pacemaker是否都启动了?
node01

node02

node03

提示:在node03上查看pacemaker时,它这里告诉我们我配置了stonith选项,却没有发现stonith设备;
三、pcs管理集群
1、查看集群状态

验证集群配置信息

2、关闭stonith选项

提示:可以看到我们关闭了stonith选项以后,再次验证集群配置就没有报任何错误了;
验证:在node03上查看pacemaker的状态,看看是否还会有stonith的错误?

提示:可以看到在集群的DC(node03)节点上查看pacemaker的状态,没有发现stonith相关错误;
3、查看pcs的帮助信息
[root@node01 ~]# pcs Usage: pcs [-f file] [-h] [commands]...
Control and configure pacemaker and corosync. Options:
-h, --help Display usage and exit.
-f file Perform actions on file instead of active CIB.
--debug Print all network traffic and external commands run.
--version Print pcs version information. List pcs capabilities if
--full is specified.
--request-timeout Timeout for each outgoing request to another node in
seconds. Default is 60s.
--force Override checks and errors, the exact behavior depends on
the command. WARNING: Using the --force option is
strongly discouraged unless you know what you are doing. Commands:
cluster Configure cluster options and nodes.
resource Manage cluster resources.
stonith Manage fence devices.
constraint Manage resource constraints.
property Manage pacemaker properties.
acl Manage pacemaker access control lists.
qdevice Manage quorum device provider on the local host.
quorum Manage cluster quorum settings.
booth Manage booth (cluster ticket manager).
status View cluster status.
config View and manage cluster configuration.
pcsd Manage pcs daemon.
node Manage cluster nodes.
alert Manage pacemaker alerts.
client Manage pcsd client configuration. [root@node01 ~]#
提示:pcs命令的用法很简单,就是pcs + 选线 +子命令,其中一个子命令对应一个对象的管理,比如cluster就是对集群配置相关管理,resource就是资源相关配置;如果我们要查看一个子命令的详细用法,可以使用pcs + 子命令 --help来查看;
4、列出资源代理

5、查看指定资源代理的帮助

提示:这个帮助信息和我们之前用crmsh的帮助信息类似,如果对应参数后面有required就表示这个参数是必选参数;
示例:利用ocf:heartbeat:IPaddr定义一个vip资源
[root@node01 ~]# pcs resource create webip ocf:heartbeat:IPaddr ip="192.168.0.199" nic="ens33" cidr_netmask="24"
[root@node01 ~]# pcs resource
webip (ocf::heartbeat:IPaddr): Started node01.test.org
[root@node01 ~]# pcs status
Cluster name: mycluster
Stack: corosync
Current DC: node03.test.org (version 1.1.21-4.el7-f14e36fd43) - partition with quorum
Last updated: Sat Sep 5 11:58:49 2020
Last change: Sat Sep 5 11:58:40 2020 by root via cibadmin on node01.test.org 3 nodes configured
1 resource configured Online: [ node01.test.org node02.test.org node03.test.org ] Full list of resources: webip (ocf::heartbeat:IPaddr): Started node01.test.org Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
[root@node01 ~]#
提示:创建资源的方式和crmsh的方式很类似,只是命令不同而已,都是要给资源取一个名称,然后指定资源代理,然后给定参数直接创建即可;使用pcs resource命令可以列出资源列表;
创建一个web资源

把webip和webserver归并为一个组

查看集群配置

将节点node02设置为standby状态

提示:可以看到node02设置为standby状态以后,运行在node02上的资源也随之迁往其他节点;
将node02上线

提示:上线不再是crmsh里的online命令,而是unstandby;
手动迁移资源到其他节点

提示:前边crmsh里执行手动迁移资源,它默认会在配置界面给我们添加一条位置约束,pcs也是一样的套路,它也会给配置界面添加一条位置约束;
查看配置信息中位置约束配置

提示:pcs constraint 是查看集群所有约束;后面跟location表示只查看位置约束;
创建位置约束

提示:我们创建了一条位置约束,让webservice对node01的倾向性为正无穷,但是对应node03的资源并没有迁往node01,这其中的原因是webservice目前对node03的倾向性也是正无穷;
验证:修改webservice对node03的倾向性为100,看看webservice是否会迁往node01呢?

提示:可以看到把webservice对node03的倾向性改为100以后,运行在node03上的webservice就迁往node01上去了;
显示资源对集群各节点的倾向性分数

提示:crm_simulate -sL这个命令可以打印出当前集群各资源对各节点的倾向性的分数;好了,有关pcs的其他命令用法,自己可以查看帮助去慢慢实践;我个人觉得使用corosync+pacemaker高可用集群,手动管理集群用crmsh更好;pcs更适合用脚本的方式去管理部署集群;初学建议从crmsh入手比较好,它可以让我们很好的去理解corosync+pacemaker高可用集群架构;
高可用集群corosync+pacemaker之pcs安装使用的更多相关文章
- 高可用集群corosync+pacemaker之crmsh使用(一)
上一篇博客我们聊了下高可用集群corosync+pacemaker的相关概念以及corosync的配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13585 ...
- 高可用集群corosync+pacemaker之crmsh使用(二)
上一篇博客我们聊到了crmsh的安装以及配置一个资源到corosync+pacemaker高可用集群上的相关命令的用法,回顾请参考https://www.cnblogs.com/qiuhom-1874 ...
- [ Openstack ] Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs 高可用集群
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- corosync+pacemaker and drbd实现mysql高可用集群
DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...
- Corosync+Pacemaker+crmsh构建Web高可用集群
一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...
- CentOS7/RHEL7 pacemaker+corosync高可用集群搭建
TOC \o "1-3" \h \z \u 一.集群信息... PAGEREF _Toc502099174 \h 4 08D0C9EA79F9BACE118C8200AA004B ...
- corosync+pacemaker高可用集群
高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术.简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点. ...
- 高可用集群之corosync+pacemaker
1.概念 在传统Linux集群种类,主要分了三类,一类是LB集群,这类集群主要作用是对用户的流量做负载均衡,让其后端每个server都能均衡的处理一部分请求:这类集群有一个特点就是前端调度器通常是单点 ...
- http高可用+负载均衡 corosync + pacemaker + pcs
http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861. ...
随机推荐
- U盘数据泄露,用不到30行的Python代码就能盗走
今天跟大家分享下一段简单的代码,希望能给经常用U盘的人警戒,提高信息安全意识. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...
- 有用的20个Python代码段
Python是一种非BS编程语言.设计简单和易读性是它广受欢迎的两大原因.正如Python的宗旨:美丽胜于丑陋,显式胜于隐式. 记住一些帮助提高编码设计的常用小诀窍是有用的.在必要时刻,这些小诀窍能够 ...
- ArrayList继承关系分析
目录 继承关系 Iterable Collection List AbstractCollection AbstractList RandomAccess Serializable Cloneable ...
- AI顶会
自己如何学习CV paper with code(每周) 基石方向 1.image classification 这个肯定要关注,这个往往都是backbone https://paperswithco ...
- 2020-05-18:MYSQL为什么用B+树做索引结构?平时过程中怎么加的索引?
福哥答案2020-05-18:此答案来自群员:因为4.0成型那个年代,B树体系大量用于文件存储系统,甚至当年的Longhorn的winFS都是基于b树做索引,开源而且好用的也就这么个体系了.B+树的磁 ...
- 简谈DFS
所谓DFS就是“不撞南墙不回头”的一种搜索.其时间复杂度为O(V+E). 能算出从起点到终点的全部路径,在算法执行的过程中需要一个visit[vi]数组来维护每个结点的访问情况,这样就能避免重复访问. ...
- 大侠稍等!URL 中为何出现奇怪的字符
为什么中文名称的图片打开后网址是一串乱码?为什么好好的短网址复制粘贴就变长了一大长串?罪魁祸首居然是-- 杭州终于出梅了!二狗子看到气象台发布的消息,开心的不得了.杭州的雨从五月底一直下,每天除了雨还 ...
- vue2.0从头开发项目管理系统
1.自己的github建一个项目. 2.本地vue2.0项目初始化. 安装node.js,检查node版(node -v). 安装webpack(npm install webpack -g),检查w ...
- Java反射概念与基础
反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...
- TS流解码过程-ES-PES-PTS-DTS
转载自http://blog.chinaunix.net/uid-9688646-id-1998407.html TS 流解码过程: 1. 获取TS中的PAT 2. 获取TS中的PMT 3. 根据PM ...