rsct资源管理及监控Word格式.docx
《rsct资源管理及监控Word格式.docx》由会员分享,可在线阅读,更多相关《rsct资源管理及监控Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
![rsct资源管理及监控Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/27/560077d6-6971-4060-9dc6-14fc94886a7e/560077d6-6971-4060-9dc6-14fc94886a7e1.gif)
该示例是笔者测试环境中的输出,实际情况可能与此会有不同):
示例1
c176n11:
/#lsrsrcdef
class_name
…
"
….
可以将资源类作为参数传递给命令lsrsrcdef并加上-c选项显示资源类本身的定义,示例2是将资源类作为参数传递给命令lsrsrcdef的输出,可见属于资源管理器:
示例2
/#lsrsrcdef-c-e"
ResourceClassDefinitionfor
resourceclass1:
class_name="
class_id=9
properties={"
has_rsrc_insts"
"
has_ctrl_interface"
mtype_subdivided"
}
display_name="
FileSystem"
description="
TheFileSystemresourceclassmonitorstheattributesand
mountstatusofallresources."
locator="
NodeNameList"
class_pattr_count=1
class_dattr_count=3
class_action_count=0
pattr_count=32
dattr_count=4
action_count=0
error_count=0
rsrc_mgr_count=1
rsrc_mgrs1:
mgr_name="
first_key=1
last_key=1
资源类本身也有一些属性可以通过lsrsrcdef-c-Ap|dresource_class来进一步显示,其中-A选项表示希望显示的属性是永久属性(-Ap),还是动态属性(-Ad),这类属性值可能随时发生变化。
如果要显示资源相关信息,只要去掉lsrsrcdef命令中的-c选项并加上-Ad|p选项,其中-Ad表示显示动态属性,-Ap显示永久属性。
示例3显示资源的动态属性定义:
示例3
/#lsrsrcdef-Ad-e"
ResourceDynamicAttributeDefinitionsfor
attribute1:
program_name="
OpState"
OperationalState"
group_name="
General"
public"
Whenevertheoperationalstateofaresourceischanged,
thisdynamicattributeisasserted."
attribute_id=1
group_id=0
data_type="
uint32"
variable_type="
state"
variety_list={[1,8]}
variety_count=1
init_value=0
min_value=0
max_value=100
expression="
OpState!
=1"
expression_description="
Aneventwillbegeneratedwhenthefilesystemgoesoffline."
rearm_expression="
rearm_description="
PTX_name="
attribute2:
PercentTotUsed"
…
attribute3:
PercentINodeUsed"
可以看出资源有三个动态(-Ad选项)属性,同样的方法可以显示出资源的永久属性。
显示资源类/资源属性值
RMC同样提供了用于显示资源类和资源属性值的方法rmc接口lsrsrc。
例如,希望得到系统中所有的资源及其属性值。
可以通过lsrsrc-Ad|p|b-s“selection_string”来得到。
其中-A选项值的d代表动态属性,p表示永久属性,b表示两者,-s选项用于过滤希望显示的资源信息。
示例4显示了Name属性不等于(‘/’)的资源的永久属性值:
示例4
/#lsrsrc-Ap-s"
Name!
='
/'
ResourcePersistentAttributesfor
resource1:
Name="
/opt"
MountPoint="
MountDir="
Dev="
/dev/hd10opt"
Vfs="
jfs"
Log="
Mount="
true"
Permissions="
rw"
Account="
Type="
Size=262144
Frag=512
Nbpi=4096
Compress="
no"
Bf="
false"
Ag=8
ManualMode=0
ActivePeerDomain="
NodeNameList={"
resource2:
/tmp"
resource3:
/var"
resource4:
/usr"
resource5:
/home"
创建资源
一般情况下并不需要手动去创建资源,因为在各个资源管理器初始化的时候都会自动调用资源类的发现程序去检查系统当前属于该资源类的资源并存储。
例如对于资源类,它属于资源管理器,当初始化的时候,就会驱动发现程序去检查系统当前存在的文件系统资源并存储起来。
但有时候还是得手动创建一些资源,例如ERRM的资源。
创建资源的rmc接口为mkrsrc。
将-e选项和资源类名作为mkrsrc的参数时,会显示创建该资源类必须指定的属性以及可选属性的例子。
示例5的输出显示了如何创建资源:
示例5
/#mkrsrc-e
Samplemkrsrccommandwithrequiredattributes:
mkrsrcName=char_ptr
Samplemkrsrccommandwithrequiredandoptionalattributes,andcommandarguments:
mkrsrcName=char_ptrNodeNameList=char_ptr_arrayNodeIDs=uint64_array
修改资源类/资源永久属性值
对于已经创建或者自动发现的资源,可以通过rmc接口chrsrc来修改资源的永久属性值,注意并不是所有的永久属性值都可以修改的,资源只读属性是无法通过chrsrc来修改的。
可将属性和资源类作为参数通过中lsrsrcdef接口检查资源属性是否可以手动改变,动态属性值一般不通过rmc修改,而是随着系统变化,属性值自动由各个资源管理器根据一定的频率收集设置。
可以通过-s选项来对满足特定条件的某个或者某些资源的属性值进行修改。
示例6是修改Name属性等于”FSCondition”的资源的EventExpression属性值:
示例6
/#chrsrc-s"
Name='
FSCondition'
EventExpression="
'
除了-s选项,可以通过指定在整个cluster中是唯一的资源句柄(resourcehandler)属性值,来限定某个资源修改属性值,资源句柄可以通过lsrsrc得到,具体请参见参考文献2。
修改资源类的属性值,同样使用chrsrc接口,但比资源多一个-c选项表示资源类。
删除资源
对于系统中的各种资源,可以通过rmc接口rmrsrc删除。
如chrsrc接口一样,rmrsrc支持-s选项和基于资源句柄的形式。
示例7表示删除系统中所有资源:
示例7
/#rmrsrc-s"
.RSCT域
RSCT域表示集群节点配置目的。
集群中的节点可以配置为highavailability(高可用性)或者manageability(可管理性),这样可以将节点所处的域或者环境分为两种:
1)PeerDomain
2)MangementDomain(管理域);
PeerDomain表示该节点位于这样一个集群系统中,集群系统中的节点的地位都是等同的,一个节点知道集群中其余所有节点的信息,这为高可用性应用提供了条件,因为从外界来看,整个集群是一个整体,任何一个节点宕机都可能有剩余节点来继续提供相应的服务;
ManagementDomain,这种集群里,一个管理服务器(ManagementServer)管理若干个被管理节点(ManagedNode),这种Domain中,被管理节点之间互相不知道对方的信息。
只有管理服务器知道所有的被管理节点的信息,这种集群主要是为了简化系统管理,所有的管理工作都可以在管理服务器上完成。
通常的集群往往是PeerDomain和MangementDomain的组合。
如图2所示:
Node1,Node2,Node3是管理服务器的被管理节点同时位于PeerDomain1,Noden-1,Noden类似。
图2.同时拥有PeerDomain和ManagementDoman的集群
建立PeerDomain
建立PeerDomain一般可以遵照以下步骤:
1)列出需要加入到该PeerDomain的所有节点,确保节点之间都是互通的(各个节点/etc/hosts里面都有所有集群节点的Host名与IP信息)而且已经正确安装RSCT软件包。
如有NodeA,NodeB,NodeC,NodeD需要加入PeerDomain。
2)确定1)中的一个节点为originator节点,如NodeA
3)在NodeB,NodeC,NodeD上执行preprpnodeNodeA,使得节点NodeA和这些节点间建立信任关系;
4)在Originator节点如NodeA上,执行mkrpdomain<
domain_name>
NodeANodeBNodeCNodeD
5)在任一个节点上执行startrpdomain<
启动该PeerDomain,注意一个节点可以同时位于多个PeerDomain中,但同时只能在其中一个domain里面Online。
6)PeerDomain建立以后可以通过addrpnode,rmrpnode增加和减少集群中的节点。
通过stoprpdomain使得整个集群offline,通过stoprpnode/startrpnode停止和启动节点。
如果从资源的角度分析PeerDomain的建立,相当于各个节点的系统在后台创建了两种隶属于资源管理器的资源类和的资源。
同样可以通过lsrsrc命令显示这两种资源的属性值。
建立ManagementDomain
对于建立管理域(ManagementDomain),目前是通过基于RSCT的上层的软件CSM实现的。
将集群中的一个节点作为管理服务器(Managementserver),其余节点作为该管理服务器的被管理节点。
大体步骤如下:
列出需要加入到该管理域的所有节点,确保已经正确安装RSCT软件包。
指定其中一个为管理服务器,该管理服务器需要知道所有被管理节点的Host名与IP地址(通常将这些信息放在/etc/hosts中)。
在所有节点上安装CSM软件包,相对于被管理节点,管理服务器需要安额外装(以AIX为例)及其依赖的包。
反之,被管理节点需要安装包而这对于管理服务器是可选的(管理服务器本身也可以成为自身的被管理节点)
在管理服务器的上,通过definenode定义被管理节点。
设置资源管理器的AddUnrecognizedNodes属性为1,这样被管理节点可以注册到该管理服务器上。
在被管理节点上执行:
mgmtsvr-n<
被管理节点名>
<
管理服务器的IP>
以上步骤成功执行以后,整个管理域就建立起来了。
从资源的角度分析ManagementDomain的建立,管理服务器在后台创建了隶属于资源管理器的资源类的资源,每个被管理节点对应一个资源以存储被管理节点的信息;
而被管理节点则创建了对应于的资源类的资源以存储管理服务器的各种信息。
3.RSCT资源监控
资源管理器IBMERRM提供了三个资源类,,。
系统资源监控是ERRM主要的功能,即如果系统在某一时刻某个条件(condition)满足,与这个条件关联的预先定义的动作(response)就会被触发。
这里的条件对应于ERRM的资源类,它用于定义用户关心的系统资源的状况,如某个节点的/tmp文件系统使用比例大于90%就是一个条件;
而动作对应于资源类,它用于定义在某个条件满足时,用户想采取的措施,如当上面的/tmp使用大于90%时使用邮件通知系统管理员就是一个动作。
另外,ERRM的还有一个资源类,一个资源用于关联一个资源和一个。
这样只需定义多个资源用于关联不同的资源和资源就可以重复利用已经存在的资源和资源。
同时,只有在资源和资源被一个活动的(Active)的资源关联的时候,这些条件和相应的动作才会触发。
根据需要,可以创建监控不同域范围的资源,然后关联相应的资源来达到资源监控的目的。
其一般步骤如下:
根据需要建立集群,如独立系统,ManagementDomain或PeerDomain;
确定需要监控的系统资源及其属性
创建资源并根据需要设定监控范围;
创建或使用已存在的,在条件满足时触发的动作即资源;
创建资源关联3)和4)中的和资源;
并使其处于Active状态;
上面1),2)两步在上面的章节中已经介绍过。
下面阐述如何具体的,以及资源。
管理资源
根据资源监控范围的不同,可以将系统监控分为对独立系统资源的监控,对PeerDomain范围内系统资源的监控和对ManagementDomain系统范围资源的监控。
而这只需在创建,将不同的参数值传给命令mkcondition的-m选项。
示例8是通过提供的接口mkcondition创建资源的一般形式:
示例8
mkconditionrresource_classe″event_expression″
[E″rearm_expression″][d″event_description″]
[D″rearm_description″][ml│m│p]
[nnode_name1[,node_name2...]][pnode_name]
[qnotoggle│qtoggle][s″selection_string″]
[Sc│w│i][h][TV]condition
下面是其中的重要选项涵义,
-r表示被监控的资源类,
-e表示被监控资源的属性构成的某个条件表达式其返回值是真或者假,开始监控以后rmc以一定频率不断检测该条件的结果,如果为真变触发相应的事件,执行相应的动作。
-E是可选的,意思是如果-e中的表达式为真时,不在重复检测-e中的条件,转而检测-E中的条件,其主要目的是是避免不断触发重复事件;
-d,-D分别是对于-e,-E中条件表达式的描述;
-m表示希望资源监控的范围,l表示local即IndividualWorkstation,m表ManagementDomain中所有节点资源,p表示PeerDomain中所有节点的资源
-n表示在-m的指定的范围内的某个或者某些特定的节点上监控资源,如对于一个有三个节点NodeA,NodeB,NodeC的某个PeerDomain中,如果只需要监控NodeA和NodeB上的资源,则传递-nNodeA,NodeB给mkcondition;
-p表示希望该资源最终被创建在哪个节点;
默认为命令执行所在的节点;
-s表示筛选满足该条件的资源进行监控,默认情况下,会对属于由-r指定的资源类的所有资源进行监控。
例如只希望监控资源中的根文件系统,可以传递-s“Name=‘/’”给mkcondition;
-TV表示打印出mkcondition命令的详细执行输出,一般作为调试使用。
condition表示该资源的名字。
示例9是在PeerDomain中为了监控整个PeerDomain中所有节点的根文件系统的空间使用百分比创建资源的例子:
示例9
mkcondition-r-e“PercentTotUsed>
90”
-d“Aneventwillbegeneratedwhenmorethan90percentofthetotalspaceof
thefilesystemisinuse.”-E“PercentTotUsed<
85”-D“Theeventwillberearmedwhen
thepercentofthetotalspaceusedinthefilesystemfallsbelow85percent.”-mp
-s“Name=‘/’”PeerDomainRootFSCondition
表示如果集群中的任意一个节点的根文件系统使用超过90%,触发相应的事件;
然后转而检测是否该根文件系统使用空间小于85%,如果小于85%则重新检测是否超过90%。
如此继续下去。
此外还可以通过-c选项拷贝已经存在的资源的定义并在此基础上进行修改。
除了可以用提供的接口mkcondition创建资源,同样可以使用rmc提供的接口mkrsrc,其本质都是通过rmcapi完成相应的资源创建。
示例10是与上面的mkcondition命令的相对应的mkrsrc命令形式:
示例10
mkrsrcResourceClass=””EventExpression=
”PercentTot