助力软件开发企业降本增效 PHP / java源码系统,只需一次付费,代码终身使用! 广告
## [ 感谢《原来是赵先生呀》的分享,源地址请点击连接](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格式显示群集配置 ```