Pacemaker之高级资源类型:资源组,资源克隆和资源多状态

Pacemaker之高级资源类型:资源组,资源克隆和资源多状态,第1张

在Pacemaker集群中,各种功能服务通常被配置为 集群资源 ,接受资源管理器的调度与控制, 资源 是集群管理的最小单位对象。在集群资源配置中,由于不同高可用模式的需求, 资源通常被配置为不同的运行模式 ,如Active/Active模式、Active/ Passive模式以及Master/Master模式和Master/Slave模式, 而这些不同资源模式的配置均需要使用Pacemaker提供的高级资源类型 ,包括 资源组 、 资源克隆 和 资源多状态 等。

在Pacemaker集群中, 经常需要将多个资源作为一个资源组进行统一 *** 作 ,如将多个相关资源全部位于某个节点或者同时切换到另外的节点,并且要求这些资源按照一定的先后顺序启动,然后以相反的顺序停止, 为了简化同时对多个资源进行配置,Pacemaker提供了高级资源类型——资源组 。通过资源组,用户便可并行配置多个资源,资源组的创建语法格式: pcs resource  group add group_name resource_id  [resource_id]  ...  [resource_id][--before resource_id | --after resource_id

使用该命令创建资源组时,如果指定的资源组不存在,则此命令会新建一个资源组,如果指定的资源组已经存在,则此命令会将指定的资源添加到该资源组中。 资源组中的资源会按照资源在该命令中出现的先后位置顺序启动,并以相反的顺序停止 。在该命令中,还可使用--before和--after参数指定所添加的资源与组中已有资源的相对启动顺序。

在为资源组添加资源时,不仅可以将已有资源添加到组中,还可以在创建资源的同时顺便将其添加到指定的资源组中,命令语法:pcs resource create resource_id  standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name

以下是资源组 *** 作中经常使用的命令语法:

//将资源从组中删除,如果该组中没有资源,会将该组删除: pcs resource group  remove group_name resource_id...

//查看资源组:pcs resource group list

//创建名为 MyGroup的资源组,并添加资源 IPaddr和HAproxy:pcs resource group  add MyGroup IPaddr HAproxy

在Pacemaker集群中,资源组所包含的资源数目是不受限的,资源组中的资源具有如下的基本特性:

    1) 资源按照其指定的先后顺序启动。

    2) 资源按照其指定顺序的相反顺序停止。

    3) 如果资源组中的某个资源无法在任何节点启动运行,那么在该资源后指定的任何资源都将无法运行。

    4) 资源组中后指定资源不影响前指定资源的运行。

资源组具有组属性,并且资源组会继承组成员的部分属性 ,主要被继承的资源属性包括Priority、Target-role、Is-managed等,资源属性决定了资源在集群中的行为规范,以及资源管理器可以对其进行哪些 *** 作。

资源属性介绍如下:

1) Priority :资源优先级,默认值是0,如果集群无法保证所有资源都处于运行状态,则低优先权资源会被停止,以便让高优先权资源保持运行状态。

2) Target-role :资源目标角色,默认值是Started,表示集群应该让这个资源处于何种状态,允许值为:

        Stopped:表示强制资源停止;

        Started:表示允许资源启动,但多状态资源的情况下不能将其提升为Master资源;

        Master:允许资源启动,并在适当时将其提升为Master。

3) is-managed :表示是否允许集群启动和停止该资源,默认值是true。

4) Resource-stickiness :表示该资源保留在原有位置节点的倾向程度值,默认值是0。

5) Requires :表示资源在什么条件下允许启动,默认值为fencing。

克隆资源是Pacemaker集群中的高级资源类型之一, 通过资源克隆,集群管理员可以将资源克隆到多个节点上并在启动时使其并行运行在这些节点上 ,例如通过资源克隆的形式在集群中的多个节点上运行冗余IP资源实例,并在多个处于Active状态的IP资源之间实现负载均衡。 通常凡是其 资源代理 支持克隆功能的资源都可以实现资源克隆 , 但只有已经规划为可以运行在Active/Active高可用模式的资源才能在集群中配置为克隆资源 。通常在创建资源的过程中同时对其进行资源克隆,克隆后的资源将会在集群中的全部节点上存在,并且克隆后的资源会自动在其后添加名为clone的后缀并形成新的资源ID,资源创建并克隆资源的语法如下:pcs resource  create  resource_id  standard:provider:type|type  [resource  options]--clone [meta clone_options]

克隆后的资源ID不再是语法中指定的Resource_id,而是Resource_id-clone,并且该资源会在集群全部节点中存在。在Pacemaker集群中,资源组也可以被克隆,但是资源组克隆不能由单一命令完成,必须先创建资源组然后再对资源组进行克隆,资源组克隆的命令语法如下:pcs resource clone resource_id | group_name [clone_options]...

克隆后资源的名称为Resource_id-clone或Group_name-clone。在资源克隆命令中,可以指定资源克隆选项(clone_options):

1) Priority/Target - role/Is-manage :从被克隆的资源中继承的,详见资源属性介绍。

2) Clone-max :该选项值表示需要存在多少资源副本才能启动资源,默认为该集群中的节点数。

3) Clone-node-max :表示在单一节点上能够启动多少个资源副本,默认值为1。

4) Notify :表示在停止或启动克隆资源副本时,是否在开始 *** 作前和 *** 作完成后告知其他所有资源副本,默认值为False。

5) Globally-unique :表示是否允许每个克隆副本资源执行不同的功能,允许值为False和True。如果其值为False,则不管这些克隆副本资源运行在何处,它们的行为都是完全相同的,因此每个节点中有且仅有一个克隆副本资源处于Active状态。如果其值为True,则运行在某个节点上的多个资源副本实例或者不同节点上的多个副本实例完全不一样。如果Clone-node-max取值大于1,即一个节点上运行多个资源副本,那么Globally-unique的默认值为True,否则为False。

6) Ordered :表示是否顺序启动位于不同节点上的资源副本,True为顺序启动,False为并行启动,默认值是False。

7) Interleave :该属性值主要用于改变克隆资源或者Masters资源之间的 Ordering约束行为。 如果Interleave值为False,则位于相同节点上的后一个克隆资源的启动或者停止 *** 作需要等待前一个克隆资源启动或者停止完成才能进行;如果Interleave值为True,则位于相同节点上的后一个克隆资源不用等待前一个克隆资源启动或者停止完成便可进行启动或者停止 *** 作,默认值为False。

在通常情况下, 克隆资源会在集群中的每个在线节点上都存在一个副本,即资源副本数目与集群节点数目相等 ,但集群管理员可以通过资源克隆选项Clone-max将资源副本数目设为小于集群节点数目, 如果资源副本数目小于节点数目,则需要通过资源位置约束(Location Constraint)将资源副本指定到相应的节点上 ,设置克隆资源的位置约束与设置常规资源的位置约束类似。例如要将克隆资源Web-clone限制在node1节点上运行,则命令语法如下:pcs constraint location  web-clone prefers node1

多状态资源是Pacemaker集群中实现资源Master/Master或Master/Slave高可用模式的机制 ,并且 多态资源是一种特殊的克隆资源,多状态资源机制允许资源实例在同一时刻仅处于Master状态或者Slave状态 。多状态资源的创建只需在普通资源创建的过程中指定--Master参数即可,Master/Slave多状态类型资源的创建命令语法:pcs resource  create  resource_id  standard:provider:type|type  [resource  options] --master  [meta master_options]

多状态资源是一种特殊的克隆资源,默认情况下,多状态资源创建后也会在集群的全部节点中存在,多状态资源创建后在集群中的资源名称格式为Resource_id-master。在Master/Slave高可用模式下,尽管在集群中仅有一个节点上的资源会处于Master状态,其他节点上均为Slave状态,但是全部节点上的资源在启动之初均为Slave状态,之后资源管理器会选择将某个节点的资源提升为Master。用户还可以将已经存在的资源或资源组创建为多状态资源,命令语法:pcs  resource master master/slave_name resource_id|group_name [master_options]

在多状态资源的创建过程中,可以通过Master选项(Master_options)来设置多状态资源的属性,Master_options主要有以下两种属性值:

1) Master-max :表示可将多少个资源副本由Slave状态提升至Master状态,默认值为1,即仅有一个Master。

2) Master-node-max :表示在同一节点中可将多少资源副本提升至Master状态,默认值为1。

在通常情况下, 多状态资源默认会在每个在线的集群节点中分配一个资源副本 ,如果希望资源副本数目少于节点数目,可通过资源的Location约束指定运行资源副本的集群节点,多状态资源的Location约束在实现的命令语法上与常规资源一样。在配置多状态资源的Ordering约束时,可以指定对资源进行的 *** 作是提升(Promote)还是降级(Demote) *** 作:pcs constraint order [action]  resource_id then [action] resource_id  [options]

Promote *** 作将对应的资源(resource_id)提升为Master状态,Demote *** 作将资源(resource_id)降级为Slave状态,设定被提升或降级资源的顺序的方法是Ordering约束。

必须在/etc/oratab中加入下面的行

ora1:/opt/oracle/product/8.1.7:Y (也就是把原本的N改为Y)

然后放下面的行到/etc/rc.d/init.d/oracle8i

# !/bin/sh

# chkconfig: 345 51 49

# description: starts the oracle dabase deamons

ORA_HOME=/opt/oracle/product/8.1.7

ORA_OWNER=oracle

case "$1" in

'start')

echo -n "Starting Oracle8i: "

su - $ORA_OWNER -c $ORA_HOME/bin/dbstart

touch /var/lock/subsys/oracle8i

echo


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11489903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存