## [ 感謝《原來是趙先生呀》的分享,源地址請點擊連接](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 網站需求(完善中)