1、该示例是笔者测试环境中的输出,实际情况可能与此会有不同):示例 1c176n11:/ # lsrsrcdefclass_name.可以将资源类作为参数传递给命令 lsrsrcdef 并加上 -c 选项显示资源类本身的定义,示例 2 是将 资源类作为参数传递给命令 lsrsrcdef 的输出,可见 属于资源管理器 :示例 2/ # lsrsrcdef -c -e Resource Class Definition for resource class 1:class_name = class_id = 9properties = has_rsrc_insts,has_ctrl_interface
2、mtype_subdivideddisplay_name = File Systemdescription = The FileSystem resource class monitors the attributes andmount status of all resources.locator = NodeNameListclass_pattr_count = 1class_dattr_count = 3class_action_count = 0pattr_count = 32dattr_count = 4action_count = 0error_count = 0rsrc_mgr_
3、count = 1rsrc_mgrs 1:mgr_name = first_key = 1last_key = 1资源类本身也有一些属性可以通过 lsrsrcdef -c -A p|d resource_class 来进一步显示,其中 -A 选项表示希望显示的属性是永久属性(-A p), 还是动态属性(-A d), 这类属性值可能随时发生变化。如果要显示资源相关信息,只要去掉 lsrsrcdef 命令中的 -c 选项并加上 -A d|p 选项,其中 -A d 表示显示动态属性,-A p 显示永久属性。示例 3 显示 资源的动态属性定义:示例 3/ # lsrsrcdef -Ad -e Reso
4、urce Dynamic Attribute Definitions for attribute 1:program_name = OpStateOperational Stategroup_name = GeneralpublicWhenever the operational state of a resource is changed,this dynamic attribute is asserted.attribute_id = 1group_id = 0data_type = uint32variable_type = statevariety_list = 1,8variety_
5、count = 1init_value = 0min_value = 0max_value = 100expression = OpState != 1expression_description = An event will be generated when the filesystem goes offline.rearm_expression = rearm_description = PTX_name = attribute 2:PercentTotUsedattribute 3:PercentINodeUsed可以看出 资源有三个动态 (-A d 选项 ) 属性,同样的方法可以显
6、示出资源的永久属性。 显示资源类 / 资源属性值 RMC 同样提供了用于显示资源类和资源属性值的方法 rmc 接口 lsrsrc。例如,希望得到系统中所有的 资源及其属性值。可以通过 lsrsrc -A d|p|b -s “selection_string” 来得到。其中 -A 选项值的 d 代表动态属性,p 表示永久属性,b 表示两者,-s 选项用于过滤希望显示的 资源信息。示例 4 显示了 Name 属性不等于 (/) 的 资源的永久属性值:示例 4/ # lsrsrc -Ap -s Name !=/Resource Persistent Attributes for resource 1
7、:Name = /optMountPoint = MountDir = Dev = /dev/hd10optVfs = jfsLog = Mount = truePermissions = rwAccount = Type = Size = 262144Frag = 512Nbpi = 4096Compress = noBf = falseAg = 8ManualMode = 0ActivePeerDomain = NodeNameList = resource 2:/tmpresource 3:/varresource 4:/usrresource 5:/home 创建资源 一般情况下并不需
8、要手动去创建资源,因为在各个资源管理器初始化的时候都会自动调用资源类的发现程序去检查系统当前属于该资源类的资源并存储。例如对于 资源类,它属于资源管理器 ,当 初始化的时候,就会驱动 发现程序去检查系统当前存在的文件系统资源并存储起来。但有时候还是得手动创建一些资源,例如 ERRM 的 资源。创建资源的 rmc 接口为 mkrsrc。将 -e 选项和资源类名作为 mkrsrc 的参数时,会显示创建该资源类必须指定的属性以及可选属性的例子。示例 5 的输出显示了如何创建 资源:示例 5/ # mkrsrc -e Sample mkrsrc command with required attrib
9、utes:mkrsrc Name=char_ptrSample mkrsrc command with required and optional attributes, and command arguments:mkrsrc Name=char_ptr NodeNameList=char_ptr_array NodeIDs=uint64_array 修改资源类 / 资源永久属性值 对于已经创建或者自动发现的资源,可以通过 rmc 接口 chrsrc 来修改资源的永久属性值,注意并不是所有的永久属性值都可以修改的,资源只读属性是无法通过 chrsrc 来修改的。可将属性和资源类作为参数通过
10、中 lsrsrcdef 接口检查资源属性是否可以手动改变,动态属性值一般不通过 rmc 修改,而是随着系统变化,属性值自动由各个资源管理器根据一定的频率收集设置。可以通过 -s 选项来对满足特定条件的某个或者某些资源的属性值进行修改。示例 6 是修改 Name 属性等于”FSCondition”的 资源的 EventExpression 属性值:示例 6/#chrsrc -s Name =FSCondition EventExpression=除了 -s 选项,可以通过指定在整个 cluster 中是唯一的资源句柄(resource handler)属性值,来限定某个资源修改属性值,资源句柄可
11、以通过 lsrsrc 得到,具体请参见参考文献 2。修改资源类的属性值,同样使用 chrsrc 接口,但比资源多一个 -c 选项表示资源类。 删除资源 对于系统中的各种资源,可以通过 rmc 接口 rmrsrc 删除。如 chrsrc 接口一样,rmrsrc 支持 -s 选项和基于资源句柄的形式。示例 7 表示删除系统中所有 资源:示例 7/ # rmrsrc -s . RSCT 域RSCT 域表示集群节点配置目的。集群中的节点可以配置为 high availability( 高可用性 ) 或者 manageability( 可管理性 ),这样可以将节点所处的域或者环境分为两种:1)Peer
12、Domain2) Mangement Domain(管理域);Peer Domain 表示该节点位于这样一个集群系统中,集群系统中的节点的地位都是等同的,一个节点知道集群中其余所有节点的信息,这为高可用性应用提供了条件,因为从外界来看,整个集群是一个整体,任何一个节点宕机都可能有剩余节点来继续提供相应的服务;Management Domain,这种集群里,一个管理服务器(Management Server)管理若干个被管理节点(Managed Node),这种 Domain 中,被管理节点之间互相不知道对方的信息。只有管理服务器知道所有的被管理节点的信息,这种集群主要是为了简化系统管理,所有的
13、管理工作都可以在管理服务器上完成。通常的集群往往是 Peer Domain 和 Mangement Domain 的组合。如图 2 所示:Node1,Node2,Node3 是管理服务器的被管理节点同时位于 PeerDomain1,Node n-1,Node n 类似。图 2. 同时拥有 Peer Domain 和 Management Doman 的集群 建立 Peer Domain建立 Peer Domain 一般可以遵照以下步骤:1)列出需要加入到该 PeerDomain 的所有节点,确保节点之间都是互通的(各个节点 /etc/hosts 里面都有所有集群节点的 Host 名与 IP 信
14、息)而且已经正确安装 RSCT 软件包。如有 NodeA,NodeB,NodeC,NodeD 需要加入 Peer Domain。2)确定 1)中的一个节点为 originator 节点,如 NodeA3)在 NodeB,NodeC,NodeD 上执行 preprpnode NodeA,使得节点 NodeA 和这些节点间建立信任关系;4)在 Originator 节点如 NodeA 上,执行 mkrpdomain NodeA NodeB NodeC NodeD5)在任一个节点上执行 startrpdomain 启动该 Peer Domain,注意一个节点可以同时位于多个 Peer Domain
15、中,但同时只能在其中一个 domain 里面 Online。6)Peer Domain 建立以后可以通过 addrpnode,rmrpnode 增加和减少集群中的节点。通过 stoprpdomain 使得整个集群 offline,通过 stoprpnode/startrpnode 停止和启动节点。如果从资源的角度分析 Peer Domain 的建立,相当于各个节点的系统在后台创建了两种隶属于资源管理器 的资源类 和 的资源。同样可以通过 lsrsrc 命令显示这两种资源的属性值。 建立 Management Domain对于建立管理域(Management Domain),目前是通过基于 RS
16、CT 的上层的软件 CSM 实现的。将集群中的一个节点作为管理服务器(Management server),其余节点作为该管理服务器的被管理节点。大体步骤如下:列出需要加入到该管理域的所有节点,确保已经正确安装 RSCT 软件包。指定其中一个为管理服务器,该管理服务器需要知道所有被管理节点的 Host 名与 IP 地址(通常将这些信息放在 /etc/hosts 中)。在所有节点上安装 CSM 软件包,相对于被管理节点,管理服务器需要安额外装 ( 以 AIX 为例 ) 及其依赖的包。反之,被管理节点需要安装 包而这对于管理服务器是可选的(管理服务器本身也可以成为自身的被管理节点) 在管理服务器的
17、上,通过 definenode 定义被管理节点。设置资源管理器 的 AddUnrecognizedNodes 属性为 1,这样被管理节点可以注册到该管理服务器上。在被管理节点上执行:mgmtsvr -n 以上步骤成功执行以后,整个管理域就建立起来了。从资源的角度分析 Management Domain 的建立,管理服务器在后台创建了隶属于资源管理器 的资源类 的资源,每个被管理节点对应一个 资源以存储被管理节点的信息;而被管理节点则创建了对应于 的资源类 的资源以存储管理服务器的各种信息。3. RSCT 资源监控 资源管理器 IBM ERRM 提供了三个资源类 ,。系统资源监控是 ERRM 主
18、要的功能,即如果系统在某一时刻某个条件 (condition) 满足,与这个条件关联的预先定义的动作 (response) 就会被触发。这里的条件对应于 ERRM 的 资源类,它用于定义用户关心的系统资源的状况,如某个节点的 /tmp 文件系统使用比例大于 90% 就是一个条件;而动作对应于 资源类,它用于定义在某个条件满足时,用户想采取的措施,如当上面的 /tmp 使用大于 90% 时使用邮件通知系统管理员就是一个动作。另外,ERRM 的还有一个资源类 ,一个 资源用于关联一个 资源和一个 。这样只需定义多个 资源用于关联不同的 资源和 资源就可以重复利用已经存在的 资源和 资源。同时,只有
19、在 资源和 资源被一个活动的(Active)的 资源关联的时候,这些条件和相应的动作才会触发。根据需要,可以创建监控不同域范围的 资源,然后关联相应的 资源来达到资源监控的目的。其一般步骤如下:根据需要建立集群,如独立系统,Management Domain 或 Peer Domain;确定需要监控的系统资源及其属性 创建 资源并根据需要设定监控范围;创建或使用已存在的,在条件满足时触发的动作即 资源;创建 资源关联 3)和 4)中的 和 资源;并使其处于 Active 状态;上面 1),2)两步在上面的章节中已经介绍过。下面阐述如何具体的 , 以及 资源。 管理 资源 根据 资源监控范围的不
20、同,可以将系统监控分为对独立系统资源的监控,对 Peer Domain 范围内系统资源的监控和对 Management Domain 系统范围资源的监控。而这只需在创建 ,将不同的参数值传给命令 mkcondition 的 -m 选项。示例 8 是通过 提供的接口 mkcondition 创建 资源的一般形式:示例 8mkcondition r resource_class eevent_expression Erearm_expression d event_description D rearm_description m l m p n node_name1,node_name2. p
21、node_name qnotoggle qtoggle s selection_stringS c w i h TV condition下面是其中的重要选项涵义,-r 表示被监控的资源类, -e 表示被监控资源的属性构成的某个条件表达式其返回值是真或者假,开始监控以后 rmc 以一定频率不断检测该条件的结果,如果为真变触发相应的事件,执行相应的动作。-E 是可选的,意思是如果 -e 中的表达式为真时,不在重复检测 -e 中的条件,转而检测 -E 中的条件,其主要目的是是避免不断触发重复事件;-d, -D 分别是对于 -e,-E 中条件表达式的描述;-m 表示希望 资源监控的范围,l 表示 lo
22、cal 即 Individual Workstation,m 表 Management Domain 中所有节点资源,p 表示 Peer Domain 中所有节点的资源 -n 表示在 -m 的指定的范围内的某个或者某些特定的节点上监控资源,如对于一个有三个节点 NodeA, NodeB, NodeC 的某个 Peer Domain 中,如果只需要监控 NodeA 和 NodeB 上的资源,则传递 -n NodeA,NodeB 给 mkcondition;-p 表示希望该 资源最终被创建在哪个节点;默认为命令执行所在的节点;-s 表示筛选满足该条件的资源进行监控,默认情况下,会对属于由 -r 指
23、定的资源类的所有资源进行监控。例如只希望监控 资源中的根文件系统,可以传递 -s “Name = /”给 mkcondition;-TV 表示打印出 mkcondition 命令的详细执行输出,一般作为调试使用。condition 表示该 资源的名字。示例 9 是在 Peer Domain 中为了监控整个 PeerDomain 中所有节点的根文件系统的空间使用百分比创建 资源的例子:示例 9mkcondition -r -e “PercentTotUsed 90”-d “An event will be generated when more than 90 percent of the to
24、tal space ofthe filesystem is in use.” -E “PercentTotUsed 85” -D “The event will be rearmed whenthe percent of the total space used in the filesystem falls below 85 percent.” -m p-s “Name = /” PeerDomainRootFSCondition表示如果集群中的任意一个节点的根文件系统使用超过 90%,触发相应的事件;然后转而检测是否该根文件系统使用空间小于 85%,如果小于 85% 则重新检测是否超过 90%。如此继续下去。此外还可以通过 -c 选项拷贝已经存在的 资源的定义并在此基础上进行修改。除了可以用 提供的接口 mkcondition 创建 资源,同样可以使用 rmc 提供的接口 mkrsrc,其本质都是通过 rmc api 完成相应的资源创建。示例 10 是与上面的 mkcondition 命令的相对应的 mkrsrc 命令形式:示例 10mkrsrc ResourceClass=” EventExpression=” PercentTot
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1