https://github.com/ClusterLabs/pacemaker/blob/master/doc/pcs-crmsh-quick-ref.md
从CentOS6.4以后开始采用PCS替代crmsh来管理pacemaker cluster.
Table of Contents
General Operations
Display the configuration
Display the current status
Node standby
Set cluster property
Resource manipulation
List Resource Agent (RA) classes
List available RAs
List RA info
Create a resource
Display a resource
Display fencing resources
Display Stonith RA info
Start a resource
Stop a resource
Remove a resource
Modify a resource
Delete parameters for a given resource
List the current resource defaults
Set resource defaults
List the current operation defaults
Set operation defaults
Set Colocation
Set ordering
Set preferred location
Move resources
Create a clone
Create a master/slave clone
Other operations
Batch changes
crmsh # crm configure show xml pcs # pcs cluster cib
crmsh can show a simplified (non-xml) syntax as well
crmsh # crm configure show
crmsh # crm status pcs # pcs status
also
# crm_mon -1
Put node in standby
crmsh # crm node standby pcmk-1 pcs # pcs cluster standby pcmk-1
Remove node from standby
crmsh # crm node online pcmk-1 pcs # pcs cluster unstandby pcmk-1
crm has the ability to set the status on reboot or forever. pcs can apply the change to all the nodes.
crmsh # crm configure property stonith-enabled=false pcs # pcs property set stonith-enabled=false
crmsh # crm ra classes pcs # pcs resource standards
crmsh # crm ra list ocf crmsh # crm ra list lsb crmsh # crm ra list service crmsh # crm ra list stonith pcs # pcs resource agents ocf pcs # pcs resource agents lsb pcs # pcs resource agents service pcs # pcs resource agents stonith pcs # pcs resource agents
You can also filter by provider
crmsh # crm ra list ocf pacemaker pcs # pcs resource agents ocf:pacemaker
crmsh # crm ra meta IPaddr2 pcs # pcs resource describe IPaddr2
Use any RA name (like IPaddr2) from the list displayed with the previous command You can also use the full class:provider:RA format if multiple RAs with the same name are available :
crmsh # crm ra meta ocf:heartbeat:IPaddr2 pcs # pcs resource describe ocf:heartbeat:IPaddr2
crmsh # crm configure primitive ClusterIP ocf:heartbeat:IPaddr2 \ params ip=192.168.122.120 cidr_netmask=32 \ op monitor interval=30s pcs # pcs resource create ClusterIP IPaddr2 ip=192.168.0.120 cidr_netmask=32
The standard and provider (ocf:heartbeat
) are determined automatically since IPaddr2
is unique. The monitor operation is automatically created based on the agent's metadata.
crmsh # crm configure show pcs # pcs resource show
crmsh also displays fencing resources. The result can be filtered by supplying a resource name (IE ClusterIP
):
crmsh # crm configure show ClusterIP pcs # pcs resource show ClusterIP
crmsh also displays fencing resources.
crmsh # crm resource show pcs # pcs stonith show
pcs treats STONITH devices separately.
crmsh # crm ra meta stonith:fence_ipmilan pcs # pcs stonith describe fence_ipmilan
crmsh # crm resource start ClusterIP pcs # pcs resource enable ClusterIP
crmsh # crm resource stop ClusterIP pcs # pcs resource disable ClusterIP
crmsh # crm configure delete ClusterIP pcs # pcs resource delete ClusterIP
crmsh # crm resource param ClusterIP set clusterip_hash=sourceip pcs # pcs resource update ClusterIP clusterip_hash=sourceip
crmsh # crm resource param ClusterIP delete nic pcs # pcs resource update ClusterIP ip=192.168.0.98 nic=
crmsh # crm configure show type:rsc_defaults pcs # pcs resource rsc defaults
crmsh # crm configure rsc_defaults resource-stickiness=100 pcs # pcs resource rsc defaults resource-stickiness=100
crmsh # crm configure show type:op_defaults pcs # pcs resource op defaults
crmsh # crm configure op_defaults timeout=240s pcs # pcs resource op defaults timeout=240s
crmsh # crm configure colocation website-with-ip INFINITY: WebSite ClusterIP pcs # pcs constraint colocation add ClusterIP with WebSite INFINITY
With roles
crmsh # crm configure colocation another-ip-with-website inf: AnotherIP WebSite:Master pcs # pcs constraint colocation add Started AnotherIP with Master WebSite INFINITY
crmsh # crm configure order apache-after-ip mandatory: ClusterIP WebSite pcs # pcs constraint order ClusterIP then WebSite
With roles:
crmsh # crm configure order ip-after-website Mandatory: WebSite:Master AnotherIP pcs # pcs constraint order promote WebSite then start AnotherIP
crmsh # crm configure location prefer-pcmk-1 WebSite 50: pcmk-1 pcs # pcs constraint location WebSite prefers pcmk-1=50
With roles:
crmsh # crm configure location prefer-pcmk-1 WebSite rule role=Master 50: \#uname eq pcmk-1 pcs # pcs constraint location WebSite rule role=master 50 \#uname eq pcmk-1
crmsh # crm resource move WebSite pcmk-1 pcs # pcs resource move WebSite pcmk-1 crmsh # crm resource unmove WebSite pcs # pcs resource clear WebSite
A resource can also be moved away from a given node:
crmsh # pcs # pcs resource ban Website pcmk-2
Remember that moving a resource sets a stickyness to -INF to a given node until unmoved
Also, pcs deals with constraints differently. These can be manipulated by the command above as well as the following and others
crmsh # pcs # pcs constraint list --full pcs # pcs constraint remove cli-ban-Website-on-pcmk-1
crmsh # crm configure clone WebIP ClusterIP meta globally-unique=true clone-max=2 clone-node-max=2 pcs # pcs resource clone ClusterIP globally-unique=true clone-max=2 clone-node-max=2
crmsh # crm configure ms WebDataClone WebData \ meta master-max=1 master-node-max=1 \ clone-max=2 clone-node-max=1 notify=true pcs # resource master WebDataClone WebData \ master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 \ notify=true
crmsh # crm crmsh # cib new drbd_cfg crmsh # configure primitive WebData ocf:linbit:drbd params drbd_resource=wwwdata \ op monitor interval=60s crmsh # configure ms WebDataClone WebData meta master-max=1 master-node-max=1 \ clone-max=2 clone-node-max=1 notify=true crmsh # cib commit drbd_cfg crmsh # quit
.
pcs # pcs cluster cib drbd_cfg pcs # pcs -f drbd_cfg resource create WebData ocf:linbit:drbd drbd_resource=wwwdata \ op monitor interval=60s pcs # pcs -f drbd_cfg resource master WebDataClone WebData master-max=1 master-node-max=1 \ clone-max=2 clone-node-max=1 notify=true pcs # pcs cluster push cib drbd_cfg