如何在起搏器中设置资源粘性?

如何在起搏器中设置资源粘性?

我正在使用 Red Hat 的高可用性附加组件,一切似乎都运行良好,但我有一个问题:

每当我重新启动其中一个节点时7test2,资源组g1就会迁移到7test1(按照设计),然后当7test2重新上线时资源组g1又会迁移回来,就像它有某种粘性或什么东西一样。

[root@7test1 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.1 (Maipo)
[root@7test1 ~]# rpm -q pcs 
pcs-0.9.137-13.el7.x86_64
[root@7test1 ~]# pcs status
Cluster name: 7test
Last updated: Thu Apr 23 17:11:10 2015
Last change: Thu Apr 23 17:00:02 2015
Stack: corosync
Current DC: 7test1.uftwf.local (1) - partition with quorum
Version: 1.1.12-a14efad
2 Nodes configured
3 Resources configured


Online: [ 7test1.uftwf.local 7test2.uftwf.local ]

Full list of resources:

 rhevm  (stonith:fence_rhevm):  Started 7test1.uftwf.local 
 Resource Group: g1
     IPaddr (ocf::heartbeat:IPaddr2):   Started 7test2.uftwf.local 
     MailTo (ocf::heartbeat:MailTo):    Started 7test2.uftwf.local 

PCSD Status:
  7test1.uftwf.local: Online
  7test2.uftwf.local: Online

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@7test1 ~]# 

如何在起搏器中设置资源粘性?

答案1

您可以使用以下命令设置资源元选项的值resource-stickiness,该选项指示资源停留在给定资源或组的当前位置的程度(默认值为 0):

# pcs resource meta resource_id resource-stickiness=100

例如:

# pcs resource meta dns_ip resource-stickiness=100

# pcs resource show dns_ip Resource: dns_ip (class=ocf provider=heartbeat type=IPaddr2) Attributes: ip=10.0.0.1 cidr_netmask=24 Meta Attrs: resource-stickiness=100 Operations: start interval=0s timeout=20s (dns_ip-start-timeout-20s)

答案2

要显示特定集群属性的当前值,请使用以下命令。

pcs property list --all

要显示特定集群属性的当前值,请使用以下命令。

pcs property show property

要设置集群属性的值,请使用以下 pcs 命令。

pcs property set property=value

答案3

在大多数情况下,最好防止集群中健康资源被移动。移动资源几乎总是需要一段时间的停机时间。对于数据库等复杂服务,这段时间可能相当长。

为了解决这个问题,Pacemaker 提出了资源粘性的概念,它控制着服务在原地运行的意愿有多强烈。您可能想把它看作是任何停机时间的“成本”。默认情况下,Pacemaker 假设移动资源的成本为零,并将这样做以实现“最佳” [6] 资源放置。我们可以为每种资源指定不同的粘性,但通常只需更改默认值即可。

⸺ 从clusterlabs.org

相关内容