目录
- 集群状态查看
- 查看当前集群状态
命令一:只查看与集群相关的信息
# pcs status cluster
命令二:只查看资源组和他们的资源
# pcs status groups
命令三:只查看资源组和它们个人的资源
# pcs status resources
命令四:只查看集群主机的配置状态
# pcs status nodes
命令五:只查看 corosync 的状态
# pcs status corosync
命令六:只查看 pcsd 在每一个主机上的配置状态
# pcs status pcsd
命令七:查看 pcs 总共的主机数,当前的主机数,最大期望投票数,最低投票数要求,当前生效投票数
# pcs corosync-quorumtool -m
(注意:为了防止脑裂,PCS 的最低投票数必须高于总主机数的 50%)
命令八:查看最近的投票信息
# watch -n1 corosync-quorumtool
(注意:当期望投票数发生变化时, # pcs corosync-quorumtool -m 命令不会自动更新,所以最好使用 # watch -n1 corosync-quorumtool 命令)
命令九:查看所有的 pcs 资源
# pcs resource show
命令十:查看某一个 pcs 资源
# pcs resourece show <resource>
命令十一:查看所有 pcs 资源被限制的列表
# pcs constraint list
命令十二:查看现有的资源限制信息
# pcs constraint
命令十三:查看现有的详细资源限制信息
# pcs constraint --full
命令十四:查看资源被限制到某一台机器上的信息
# crm_simulate -sL
-
- 集群节点管理
1.2.1启动所有服务器
# pcs cluster start --all
1.2.2 关闭某一个服务器
# pcs cluster stop <server>
1.2.3关闭所有的服务器
# pcs cluster stop --all
(注意:当当前主机被关闭了之后,就无法在此服务器上使用 pcs 的其他相关命令,除非先启动本服务器)
1.2.4 让某一台服务器随 pcs 服务一同启动
# pcs cluster enable <server>
1.2.5让所有服务器都随 pcs 服务一起启动
# pcs cluster enable --all
1.2.6取消让某一台主机随 pcs 服务器一同启动
# pcs cluster diablle <server>
1.2.7取消让所有服务器都随 pcs 服务一起启动
# pcs cluster disable --all
1.2.8新添加一台服务器的准备工作
(1)在要被添加的服务器的防火墙上开放 pacemaker 的端口
(2)在要被添加的服务器上安装 pcs fence-agents-rht 以及他的依赖包
(3)在要被添加的服务器上启动 pcsd 服务,并将他设置为开机自启
(4)在要被添加的服务器上将 hacluster 用户的密码修改为 Uos!123456
1.2.9在集群里添加新的服务器
(在任意一台集群里的服务器上输入以下命令以加入新的服务器)
# pcs cluster node add <new server>
# pcs cluster auth
(补充:在这里也可以使用 -u<用户> 和 -p<密码> 参数非交互实现命令输入)
1.2.10在集群里删除一台服务器
# pcs cluster node remove <server>
1.2.11在集群里删除一台服务器后,最好连 fence 监控也一同删除
# pcs stonith remove fence_deletednode
1.2.12让某一台服务器失效并处于待机状态
# pcs cluster standby <server>
1.2.13让所有服务器失效并处于待机状态
# pcs cluster standby --all
1.2.14让某一台服务器从失效状态回归到活跃状态
# pcs cluster unstandby <server>
1.2.15让所有服务器从失效状态回归到活跃状态
# pcs cluster unstandby --all
1.2.16关闭所有的主机
# pcs cluster stop --all
1.2.17同步当前服务器的 /etc/corosync/corosync.conf 文件到其他所有服务器
# pcs cluster sync
1.2.18 开启所有服务器
# pcs cluster start --all
1.2.19补充:pcs cluster setup 命令的常用选项
(1) --wait_for_all
当所有集群成员都处于 online 的时候才启动集群投票,主要用于阻止被隔离的主机参与投票
(2)--auto_tie_breaker
最低投票从从总数的 50% +1 变为 50% ,如果被分割的主机群两边的数量相等,则拥有最小主机 ID 的那一边才会生效
(补充:–auto_tie_breaker 主要用于集群主机数是双数的主机群)
(3)–last_man_standing
有了这个参数之后每隔 10 秒钟,就重新计算一次期望投票数,主要用于人为关闭主机后快速进行重新投票
和 –auto_tie_breaker 选项结合可以让整个集群只有一台主机处于激活状态
(注意:当期望投票数发生变化时, # pcs corosync-quorumtool -m 命令不会自动更新,所以最好使用这个命令 watch -n1 corosync-quorumtool)
(4)–two_node
设置整个集群只包含有两台主机,期望投票数是1,他会自动启用 wait_for_all 选项
-
- 集群资源管理
1.3.1 pcs resource 命令的常用选项
(1)interval=value
定义资源监控的时间,如果不设置的话,就使用的是 resource agent ,每 60 秒检测一次
(2)timeout=value
设置操作的等待时间,如果时间结束了某项操作还没有完成,则自动失败
(3)on-fail=action
如果操作失败,则会执行以下动作
(4)ignore
忽略所有失败的操作
(5)block
当 fence 没有被配置时,停止执行操作
(6)stop
停止处于激活状态的集群
(7)restart
重启资源
(8)fence
当 fence 有被配置时,当某个资源停止时隔离运行此资源的主机
(9)standby
将所有资源从他正在运行的主机上移到另一个主机
1.3.2pcs resource 命令选项的使用案例
# pcs resourece create webserver apache \
> configfile="/etc/httpd/conf/http.conf" \
> statusurl="http:?/127.0.0.1/server-status" --group myweb \
> op monitor interval=20s timeout=30s
(
补充:这里以创建
(1)名为 webserver
(2)配置文件是 /etc/httpd/conf/http.conf
(3)状态链接是 http:?/127.0.0.1/server-status
(4)组名是 myweb
(5)监控间隔是 20 秒
(6)延迟时间是 30 秒
的 apache 资源为例
)
1.3.3显示所有可用的资源列表
# pcs resource list
1.3.4查看具体的某一个可用资源的介绍
# pcs resource describe <resource>
1.3.5查看所有的 pcs 资源
# pcs resource show
1.3.6查看某一个 pcs 资源
# pcs resource show <resource>
1.3.7查看所有 pcs 资源被限制的情况
# pcs constraint list
1.3.8修改 pcs 资源
# pcs resource update <resource> <option>
1.3.9删除 pcs 资源
# pcs resource delete <resource>
1.3.10在某一个组里面添加某一个资源
# pcs resource group add <group> <resource>
1.3.11在某一个组里面删除某一个资源
# pcs resource group remove <group> <resource>
1.3.12停用某一个 pcs 资源
# pcs resource disable <resource>
1.3.13启用某一个 pcs 资源
# pcs resource enable <resource>
1.3.14移动 pcs 资源到另一个主机
# pcs resource move <resource> <host>
1.3.15指定某一个 pcs 资源只能在某一个主机上运行
# pcs resource ban <resource> <host>
1.3.16清除某一个 pcs 资源只能在某一个主机上运行的限制
# pcs resource clear <resource> <host>
1.3.17删除某一个资源的监控
# pcs resource op remove <resource> monitor
1.3.18添加某一个资源的监控
# pcs resource op add <resource> monitor <fence parameter> onfail=fence
1.3.19查看某一个 pcs 资源失败的次数
# pcs resource failcount show <resource>
1.3.20检查某一个资源的情况
# pcs resource debug-start firstwebserver --full
1.4公共属性配置
1.4.1将cib配置保存到文件
pcs cluster cib pgsql_cfg
1.4.2在pacemaker级别忽略quorum
pcs -f pgsql_cfg property set no-quorum-policy="ignore"
1.4.3禁用STONITH
pcs -f pgsql_cfg property set stonith-enabled="false"
1.4.4设置资源粘性,防止节点在故障恢复后发生迁移
pcs -f pgsql_cfg resource defaults resource-stickiness="INFINITY" (默认不回切)
1.4.5设置多少次失败后迁移
pcs -f pgsql_cfg resource defaults migration-threshold="3"
- 险实施案例1
- VIP资源添加
pcs resource create VIP IPaddr ip=10.22.208.153
-
- 逻辑卷资源添加
pcs resource create vg1 LVM volgrpname=jscbdatavg op monitor interval=10s timeout=30s start interval=5s timeout=30s stop interval=5s timeout=30s
pcs resource create vg2 LVM volgrpname=jscbtmpvg op monitor interval=10s timeout=30s start interval=5s timeout=30s stop interval=5s timeout=30s
-
- 数据库资源添加
pcs resource create onids ids informixdir=/home/informix informixserver=js_3200_cb_ids_hw onconfig=onconfig.js_3200_cb_ids_hw op start interval=0s timeout=120s stop interval=0s timeout=120s
-
- 组资源添加
pcs resource group add Rgroup VIP vg1 vg2 onids
-
- 克隆Ping资源添加
pcs resource create cl-ping ocf:heartbeat:ping dampen=5s multiplier=100 host_list="10.22.208.1 router" op monitor interval=30s timeout=10s
pcs resource clone cl-ping
pcs resource clone cl-pings clone-max=2 clone-node-max=2 globally-unique=true
二。实施案例,一套ha4个资源
1.增加心跳
pcs cluster link add ZHU=10.22.208.143 BEI=10.22.208.245
2.增加浮动IP
pcs resource create cw_vip IPaddr ip=10.22.208.59 cidr_netmask=24
pcs resource create cb_vip IPaddr ip=10.22.208.60 cidr_netmask=24
pcs resource create lp_vip IPaddr ip=10.22.208.61 cidr_netmask=24
pcs resource create qt_vip IPaddr ip=10.22.208.62 cidr_netmask=24
3.增加逻辑卷
pcs resource create cw_vg LVM volgrpname=cwdatavg
pcs resource create cb_vg LVM volgrpname=cbdatavg
pcs resource create lp_vg LVM volgrpname=lpdatavg
pcs resource create qt_vg LVM volgrpname=qtdatavg
4.增加数据库资源
pcs resource create cw_db systemd:cw_db
pcs resource create cb_db systemd:cb_db
pcs resource create lp_db systemd:lp_db
pcs resource create qt_db systemd:qt_db
5.增加组资源
pcs resource group add cw_group cw_vg cw_vip cw_db
pcs resource group add cb_group cb_vg cb_vip cb_db
pcs resource group add lp_group lp_vg lp_vip lp_db
pcs resource group add qt_group qt_vg qt_vip qt_db
6.增加数据库监控时常
pcs resource update qt_db op monitor interval=9999999 timeout=9999999
pcs resource update cw_db op monitor interval=9999999 timeout=9999999
pcs resource update cb_db op monitor interval=9999999 timeout=9999999
pcs resource update lp_db op monitor interval=9999999 timeout=9999999