## [ 感谢《原来是赵先生呀》的分享,源地址请点击连接](https://blog.csdn.net/qq_39599464/article/details/115329915)
一、建立群集:
```
配置群集节点的认证as the hacluster user:
pcs cluster auth node1 node2
创建一个两个节点的群集(node1 node2)
pcs cluster setup --name mycluster node1 node2
启动群集
pcs cluster start --all
设置资源默认粘性(防止资源回切)
pcs resource defaults resource-stickiness=100
pcs resource defaults
设置资源超时时间
pcs resource op defaults timeout=90s
pcs resource op defaults
两个节点时,忽略节点quorum功能
pcs property set no-quorum-policy=ignore
没有 Fencing设备时,禁用STONITH 组件功能,在 stonith-enabled="false" 的情况下,分布式锁管理器 (DLM) 等资源以及依赖DLM 的所有服务(例如 cLVM2、GFS2 和 OCFS2)都将无法启动。
pcs property set stonith-enabled=false
验证群集配置信息
crm_verify -L -V
```
二、建立群集资源
```
查看支持资源列表 pcs resource list ocf:heartbeat
pcs resource list
查看资源使用参数 pcs resource describe ocf:heartbeat:IPaddr2
pcs resource describe agent_name
配置虚拟IP
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 \ ip="192.168.10.15" cidr_netmask=32 nic=eth0 op monitor interval=30s
配置Apache(httpd)
pcs resource create WebServer ocf:heartbeat:apache \ httpd="/usr/sbin/httpd" configfile="/etc/http /conf/httpd.conf" \ statusurl="" op monitor interval=1min
配置Nginx
pcs resource create WebServer ocf:heartbeat:nginx \ httpd="/usr/sbin/nginx" configfile="/etc/nginx/nginx.conf" \
statusurl="" op monitor interval=30s
配置FileSystem
pcs resource create WebFS ocf:heartbeat:Filesystem \ device="/dev/sdb1" directory="/var/www/html" fstype="ext4"
pcs resource create WebFS ocf:heartbeat:Filesystem \ device="-U 32937d65eb" directory="/var/www/html" fstype="ext4"
配置FileSystem-NFS
pcs resource create WebFS ocf:heartbeat:Filesystem \ device="192.168.10.18:/mysqldata" directory="/var/lib/mysql" fstype="nfs" \ options="-o username=your_name,password=your_password" \ op start timeout=60s op stop timeout=60s op monitor interval=20s timeout=60s
配置Iscsi
pcs resource create WebData ocf:heartbeat:iscsi \ portal="192.168.10.18" target="iqn.2008-08.com.starwindsoftware:" \ op monitor depth="0" timeout="30" interval="120"
pcs resource create WebFS ocf:heartbeat:Filesystem \ device="-U 32937d65eb" directory="/var/www/html" fstype="ext4" options="_netdev"
配置DRBD
pcs resource create WebData ocf:linbit:drbd \ drbd_resource=wwwdata op monitor interval=60s
pcs resource master WebDataClone WebData \ master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
pcs resource create WebFS ocf:heartbeat:Filesystem \ device="/dev/drbd1" directory="/var/www/html" fstype="ext4"
配置MySQL
pcs resource create MySQL ocf:heartbeat:mysql \ binary="/usr/bin/mysqld_safe" config="/etc/my.cnf" datadir="/var/lib/mysql" \ pid="/var/run/mysqld/mysql.pid" socket="/tmp/mysql.sock" \ op start timeout=180s op stop timeout=180s op monitor interval=20s timeout=60s
配置Pingd,检测节点与目标的连接有效性
pcs resource create PingCheck ocf:heartbeat:pingd \ dampen=5s multiplier=100 host_list="192.168.10.1 router" \ op monitor interval=30s timeout=10s
创建资源clone,克隆的资源会在全部节点启动
pcs resource clone PingCheck
clone-max=2,数据包分成2路
pcs resource clone ClusterIP clone-max=2 clone-node-max=2 globally-unique=true
指定响应请求的分配策略为:sourceip
pcs resource update ClusterIP clusterip_hash=sourceip
```
三、调整群集资源
```
配置资源约束
配置资源组,组中资源会在同一节点运行
pcs resource group add WebSrvs ClusterIP
移除组中的指定资源
pcs resource group remove WebSrvs ClusterIP
配置具有多个状态的资源,如 DRBD master/slave状态
pcs resource master WebDataClone WebData
配置资源捆绑关系
pcs constraint colocation add WebServer ClusterIP INFINITY
移除资源捆绑关系约束中资源
pcs constraint colocation remove WebServer
配置资源启动顺序
pcs constraint order ClusterIP then WebServer
移除资源启动顺序约束中资源
pcs constraint order remove ClusterIP
查看资源约束关系, pcs constraint --full
pcs constraint
配置资源位置
指定资源默认某个节点,node=50 指定增加的 score
pcs constraint location WebServer prefers node11
指定资源避开某个节点,node=50 指定减少的 score
pcs constraint location WebServer avoids node11
移除资源节点位置约束中资源ID,可用pcs config获取
pcs constraint location remove location-WebServer
手工移动资源节点,指定节点资源的 score of INFINITY
pcs constraint location WebServer prefers node11=INFINITY
验证节点资源 score 值
crm_simulate -sL
修改资源配置
更新资源配置
pcs resource update WebFS
删除指定资源
pcs resource delete WebFS
管理群集资源
禁用资源
pcs resource disable ClusterIP
启用资源
pcs resource enable ClusterIP
显示指定资源的错误计数
pcs resource failcount show ClusterIP
清除指定资源的错误计数
pcs resource failcount reset ClusterIP
清除指定资源的状态与错误计数
pcs resource cleanup ClusterIP
```
四、群集操作命令
```
验证群集安装
查看pacemaker组件,ps axf | grep pacemaker
pacemakerd -F
查看corosync序号
corosync-cfgtool -s
corosync 2.3.x
corosync-cmapctl | grep members
corosync 1.4.x
corosync-objctl | grep members
查看群集资源
查看支持资源类型
pcs resource standards
查看资源提供商
pcs resource providers
查看所有资源代理
pcs resource agents
查看支持资源列表
pcs resource list
查看支持Fence列表
pcs stonith list
显示群集默认变量参数
pcs property list --all
检验资源 score 值
crm_simulate -sL
使用群集脚本
将群集资源配置信息保存在指定文件
pcs cluster cib ra_cfg
创建群集资源并保存在指定文件中(而非保存在运行配置)
pcs -f ra_cfg resource create
显示指定文件的配置信息,检查无误后
pcs -f ra_cfg resource show
将指定配置文件加载到运行配置中
pcs cluster cib-push ra_cfg
STONITH 设备操作
查询fence设备
stonith_admin -I
查询fence设备的元数据,stonith_admin -M -a fence_vmware_soap
stonith_admin -M -a agent_name
测试 STONITH 设备
stonith_admin --reboot nodename
管理群集
查看群集状态
pcs status
pcs status cluster
pcs status corosync
停止群集
pcs cluster stop [node11]
启动群集
pcs cluster start --all
将节点置为后备standby状态,pcs cluster unstandby node11
pcs cluster standby node11
删除群集,[–all]同时恢复corosync.conf文件
pcs cluster destroy [--all]
清除指定资源的状态与错误计数
pcs resource cleanup ClusterIP
清除Fence资源的状态与错误计数
pcs stonith cleanup vmware-fencing
查看群集配置
crm_verify -L -V ##检查配置有无错误
pcs property ##查看群集属性
pcs stonith ##查看stonith
pcs constraint ##查看资源约束
pcs config ##查看群集资源配置
pcs cluster cib ##以XML格式显示群集配置
```
- 献给乐于奉献的你
- 一、工作感悟
- 1.1 工作感悟
- 1.2 数据库工作总结
- 二、运维专题(非技术)
- 2.1 公有云运维
- 2.1.1 阿里云采坑记.md
- 三、运维专题(技术类)
- 3.1 Linux(操作系统)
- 3.1.1 常见工作总结
- 3.1.2 常见服务使用和部署
- 3.1.3 操作系统优化
- 3.1.4 常用命令(Centos8)
- 3.2 Docker & K8s(容器技术)
- 3.2.1 Docker
- 1. Docker
- 1-1 容器基础
- 1-2 部署和加速
- 1-3 常用命令
- 1-4 Dockerfile编写
- 1-5 容器网络
- 1-6 数据持久化
- 2. docker-compose
- 2-1 基础
- 3.2.2 kubernetes
- 1. 导读-请先看我
- 2. kubeadm部署集群
- 1-1 k8s-1.14-基于calico
- 1-2 k8s-1.17-基于flanne
- 3. 二进制部署集群
- 4. 日常工作及故障处理
- 4-1 常用命令
- 4-2 故障处理
- 3.2.3 依赖服务部署
- 1. Harbor(镜像仓库)
- 1-1 harbor-2.1.0(单节点)
- 3.3 CICD(持续集成/部署)
- 3.3.1 GitLab
- 1. 服务部署
- 1-1 Gitlab-CE-13.3.4(单节点)
- 2. Git基础
- 3.3.2 Ansible
- 1. 服务部署
- 1-2 ansible-2.5(pip部署)
- 3. ansible-playbook
- 3-1 基于Roles的Playbook
- 3-3 循环语法
- 3.3.3 Jnekins
- 1. Jenkins部署
- 1-1 Jenkins-2.65部署
- 1-2 Jenkins-2.249部署
- 2. Jenkins项目初始化
- 3. Jenkins集成
- 3-1 Jenkins-2.65集成Sonar
- 3.4 LB/HA(负载均衡,反向代理)
- 3.4.1 LVS+Keepalive
- 1. LVS为MySQL读提供负载均衡
- 3.4.2 Pacemaker(HA)
- 1. 常用命令(转)
- 3.5 Runtime(代码运行环境)
- 3.5.1 Tomcat(Web中间件)
- 1. Tomcat部署手册
- 1-1 Tomcat-7.0.76部署
- 2. Tomcat常用脚本
- 3.6 NoSQL(非关系型数据库)
- 3.6.1 redis(非关系数据库)
- 1. Redis 基础
- 2. Redis 4.0变化
- 3. Codis实现Redis的集群
- 4. Redis故障处理
- 5. redis安全第一步
- 6. Redis集群搭建
- 7. CacheCloud部署
- 3.6.1 Redis挑战
- 3.6.2 MongoDB(文档数据库)
- 1. Mongodb基础
- 1-1 Mongodb4.0新特性
- 1-2 支持多大数据量
- 2. Mongodb安装
- 2-1 Mac OS安装Mongodb
- 2-2 Yum安装Mongodb
- 2-3 二进制安装Mongodb
- 2-4 docker容器安装Mongodb
- 2-5 Mongodb 配置文件详解
- 2-6 Mongodb 生产安全清单
- 2-7 用户身份认证和授权
- 3. Mongodb副本集
- 3-1 副本集搭建
- 3-2 用户身份认证与授权
- 4. 日常维护工作
- 4-1 Mongodb磁盘回收
- 4-2 Mongodb备份恢复到任意时间点
- 4-3 Mongodb慢查询分析
- 4-4 Mongodb版本升级
- 4-5 Mongodb副本集成员状态
- 4-6 Mongodb备份恢复工具使用
- 4-7 Mongodb服务启动和停止
- 4-8 修改副本集成员oplog大小
- 4-9 Mongodb 副本集Oplog
- 3.7 MQ(消息队列)
- 3.7.1 Zookeeper(分布式协调系统)
- 1. ZooKeeper基础
- 2. ZooKeeper集群搭建
- 2-1 ZK-3.4.10部署
- 3.2 RabbitMQ(消息队列)
- 1. 服务部署
- 1-1 RabbitMQ-3.8部署
- 2. 常用命令
- 3.8 Monitor(数据收集,监控)
- 3.8.1 Zabbix(运维监控)
- 1. 服务部署
- 1-1 服务端部署
- 1-2 客户端部署
- 2. 监控服务
- 2-1 监控Apache
- 2-2 监控IIS
- 2-3 监控Ningx
- 2-4 监控Tomcat(6/7/8)
- 2-5 监控WebSphere 7
- 2-6 监控MySQL
- 2-7 监控Oracle
- 2-8 监控SQL Servre
- 2-9 监控Weblogic
- 2-10 监控Windows
- 2-11 自定义监控项
- 3. 告警推送
- 3-1 邮件告警
- 3-2 短信告警
- 3-3 告警推到Syslog
- 4. 日常工作
- 4-1 数据库优化(TokuDB)
- 4-2 数据库优化(分区表)
- 4-3 前端定制(Grafana)
- 5. 与Grafana结合
- 3.8.2 ELKBstack(日志收集展示)
- 1. 服务部署
- 1-1 ELK 5.5部署及配置
- 1-1-1 ELKBstack介绍
- 1-1-2 Elasticsearch部署
- 1-1-3 Logstash部署
- 1-1-4 Kibana部署
- 1-1-5 X-pack部署
- 1-1-6 Filebeat部署
- 2. ELK高级配置
- 1. Elasticsearch实战
- 2. Logstash实战
- 3. Filebeat实战
- 5. 引入队列
- 3.9 Virtualization(虚拟化)
- 3.10 Basic(基础服务)
- 3.10.1 Piwik-Matomo(用户行为分析)
- 1. Piwik前期分析
- 2. Piwik介绍和部署
- 2-1 Piwik-3.x版本(早期)
- 3. Piwik 功能配置
- 4. Piwik 模拟数据和压测
- 5. Piwik运转原理
- 6. Piwik数据库模式(一)
- 6-1 第一部分
- 6-2 第二部分
- 3.10.2 Cobbler(系统自动部署)
- 1. Cobbler 可以干什么?
- 2. Cobbler 基础原理
- 3. Cobbler 安装
- 3-1 Cobbler-2.8部署
- 4. Cobbler 基础配置
- 5. Cobbler 配置文件
- 6. 一键优化脚本
- 3.10.3 Rsync(数据同步服务)
- 1. Rsync基础
- 2. 案例:页面部署(服务端拉取)
- 3.10.4 NFS(共享存储)
- 1. NFS部署手册
- 2. 客户端NFS备份脚本
- 3.10.5 Grafana(可视化)
- 1. 安装(8.2.x)
- 3.11 Tools(软件工具)
- 3.11.1 基准测试
- 1. 基准测试方法论
- 2. 压测工具 - Siege
- 3. 压测工具 - http_load
- 3.12 DB(关系型数据库)
- 3.12.1 MySQL(关系数据库)
- 1. MySQL部署
- 1-1 MySQL-5.7部署
- 1-2 Percona-5.7 + TokuDB 部署
- 2. MySQL复制
- 2-1 MySQL异步复制
- 3. MySQL备份恢复
- 3-1 xtrabackup 备份恢复
- 4. MySQL 高可用
- 4-1 MHA(HA)
- 4-1-1 MHA 架构介绍和原理
- 4-1-2 MHA日常管理
- 4-1-3 MHA 自动Failover
- 4-1-4 MHA常用参数
- 4-1-5 MHA 报错
- 4-1-6 MHA相关配置文件和脚本
- 4-2 MyCAT
- 4-2-1 MyCAT 介绍和部署
- 4-1-3 MyCAT读写分离案例解析
- 5. MySQL 常用脚本
- 5-1 MySQL常用统计语句
- 5-2 MySQL性能分析脚本
- 6. MySQL 日常及故障处理
- 6-1 MySQL死锁排查
- 6-2 复制故障
- 6-3 MySQL 升级注意事项
- 6-3 MySQL授权
- 3.12.2 Oracle(关系数据库)
- 1. Oracle部署
- 1-1 Oracle11g单实例部署
- 1-2 Oracle12c单实例部署
- 2. Oracle常用脚本
- 3. Oracle 知识点
- 六、Ansible开源项目
- 6.1 项目初始化手册
- 6.1.1 Ansible错误处理
- 6.1.2 一种预先判断是否操作的方法
- 6.2 System初始化
- 6.3 Nginx/Tnginx部署
- 6.4 Python部署
- 6.5 PHP部署
- 6.6 MySQL部署
- 6.7 Docker部署
- 6.8 Haproxy部署
- 6.9 Redis部署
- 1. 变量和tags信息
- 3. Redis主从部署
- 4. Redis集群部署
- 5. 清理数据
- 6.10 Software软件部署
- 6.11 Zabbix部署
- 6.12 Elastic部署
- 6.13 Tomcat
- 6.14 Kafka部署
- 6.15 Zookeeper部署
- 6.16 Etcd集群部署
- 6.17 M3DB部署
- 6.18 Pormetheus部署
- 七、学习资源推荐
- 八、从瞎搞到放弃
- 8.1 CodeQL(语义代码分析引擎)
- 8.1.1 背景及计划
- 8.1.2 CodeQL概述
- 8.1.3 简单部署和使用
- 8.1.4 后续
- 8.2 dbdeployer(轻松部署MySQL)
- 归档笔记
- 三、常用服务部署(迁移中)
- 3.4 Nginx & PHP(Web服务)
- 3.4.1 Nginx(Web)
- 1. Nginx基础和部署
- 2. Nginx 我的一些思考
- 3. Nginx(Web)配置
- 4. Nginx(Proxy)配置
- 5. Nginx日常管理
- 3.4.3 PHP
- 1. PHP 7.1 部署
- 2. PHP5.6 部署
- 4. PHP原理
- 5. PHP 常用模块
- 二、运维项目实战(迁移中)
- 2.1 标准化 & 工具化项目
- 2.1.1 系统部署和优化
- 2.1.5 全网日志收集展示平台项目
- 1. 项目需求
- 2. 整体方案规划
- 3. 日志收集配置
- 4. 消息缓冲队列
- 5. 日志处理转发
- 6. 日志数据展示(待补充)
- 7. ELK安全配置(上)
- 8. ELK安全配置(下)
- 9. 项目总结
- 2.2 高性能Web项目
- 2.2.1 网站需求(完善中)