PreviousNextIndex

Appendix D: RSCT: Resource Monitoring and Control Subsystem


Starting with HACMP 5.3, HACMP interfaces with the RSCT Resource Monitoring and Control (RMC) subsystem instead of with the Event Management subsystem. In previous versions of the HAES product, the Cluster Manager interfaces with the Event Manager to let you define custom events based on system metrics and an expression that applied to those metrics. It also uses the Event Manager to monitor applications as well as to determine the nodelist for resource groups if dynamic node priority is used.

The RMC subsystem replaces Event Management resource variables with resource classes and attributes associated with the resource class.

A resource class is a set of resources of the same type. A resource class defines the common characteristics that instances of the resource class can have. A resource attribute describes some characteristic of a resource. There are two types of resource attributes, persistent attributes and dynamic attributes. Persistent attributes describe enduring characteristics of the resource. Dynamic attributes, on the other hand, represent changing characteristics of the resource.

See the RSCT for AIX 5L and Linux: Administration Guide and the RSCT for AIX 5L Technical Reference for more information.

HACMP now uses the RMC subsystem for these instances:

  • Dynamic Node Priority
  • Application Monitoring
  • User Defined Events.
  • Conversion of User-Defined Event Definitions

    The clconvert routine only converts a subset of Event Manager user-defined event definitions to the corresponding RMC event definitions. All user-defined event definitions must be manually reconfigured with the exception of the following UDE definitions defined by DB2:

    HACMPude: 
            name = "DB2_PROC_DOWN" 
            state = 0 
            recovery_prog_path = "/usr/bin/db2_proc_recovery" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.Prog.xpcount"   
            instance_vector = "NodeNum=*;ProgName=db2sysc;UserName=root" 
            predicate = "X@0<X@1 && X@1!=0" 
            rearm_predicate = "X@0>X@1" 
    HACMPude: 
            name = "DB2_PAGINGSPACE_LOW" 
            state = 0 
            recovery_prog_path = "/usr/bin/db2_paging_space" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.aixos.PagSp.%totalfree" 
            instance_vector = "NodeNum=*" 
            predicate = "X<31" 
            rearm_predicate = "X>70" 
    HACMPude: 
            name = "DB2_PAGINGSPACE_VERY_LOW" 
            state = 0 
            recovery_prog_path = "/usr/bin/db2_paging_space" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.aixos.PagSp.%totalfree" 
            instance_vector = "NodeNum=*" 
            predicate = "X<11" 
            rearm_predicate = "X>90" 
    HACMPude: 
            name = "DB2_AUTO_PROC_DOWN" 
            state = 0 
            recovery_prog_path = "/usr/bin/nfs_auto_recovery" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.Prog.xpcount" 
            instance_vector = "NodeNum=*;ProgName=automount;UserName=root" 
            predicate = "X@0<X@1 && X@1!=0" 
            rearm_predicate = "X@0>X@1" 
    HACMPude: 
            name = "DB2_NFSSTAT_PROC_DOWN" 
            state = 0 
            recovery_prog_path = "/usr/bin/nfs_auto_recovery" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.Prog.xpcount" 
            instance_vector = "NodeNum=*;ProgName=rpc.statd;UserName=root" 
            predicate = "X@0<X@1 && X@1!=0" 
            rearm_predicate = "X@0>X@1" 
    HACMPude: 
            name = "DB2_NFSLOCK_PROC_DOWN" 
            state = 0 
            recovery_prog_path = "/usr/bin/nfs_auto_recovery" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.Prog.xpcount" 
            instance_vector = "NodeNum=*;ProgName=rpc.lockd;UserName=root" 
            predicate = "X@0<X@1 && X@1!=0" 
            rearm_predicate = "X@0>X@1" 
    HACMPude: 
            name = "DB2_NFS_PROC_DOWN" 
            state = 0 
            recovery_prog_path = "/usr/bin/nfs_auto_recovery" 
            recovery_type = 2 
            recovery_level = 0 
            res_var_name = "IBM.PSSP.Prog.xpcount" 
            instance_vector = "NodeNum=*;ProgName=nfsd;UserName=root" 
            predicate = "X@0<X@1 && X@1!=0" 
            rearm_predicate = "X@0>X@1" 
    

    Conversion of Event Manager-based Dynamic Node Priority Policy and Application Monitor Definitions

    The existing preconfigured dynamic node priority policy definitions and the existing Application Monitor definitions are converted to the equivalent RMC definitions. All other user-defined node priority policies are converted to use the default policy (the ordered nodelist). Only the three preconfigured dynamic node priority policies are supported in HACMP 5.3 and 5.4.

    Mapping of Event Management Resource Variables to RMC Resource Attributes

    The following table shows how the Event Management resource variables map to the RMC resource attributes.

    Event Manager Resource Variable
    RMC Resource Attribute
    Description
    IBM.PSSP.aixos.PagSp.totalfree
    IBM.Host.TotalPgSpFree
    Available virtual memory paging space
    IBM.PSSP.aixos.Disk.busy
    IBM.PhysicalVolume.PctBusy
    Fraction of time disks are busy
    IBM.PSSP.aixos.CPU.glidle
    IBM.Host. PctTotalTimeIdle
    Available processor time
    IBM.PSSP.aixos.CPU.glkern
    IBM.Host.PctTotalTimeKernel
    Amount of time all processors is in kernel mode
    IBM.PSSP.aixos.CPU.gluser
    IBM.Host.PctTotalTimeUser
    Amount of time all processors are in user mode
    IBM.PSSP.aixos.CPU.glwait
    IBM.Host.PctTotalTimeWait
    Amount of time all processors are in wait state
    IBM.PSSP.aixos.cpu.idle
    IBM.Processor.PctTimeIdle
    Amount of time a processor is in idle state
    IBM.PSSP.aixos.cpu.kern
    IBM.Processor.PctTimeKernel
    Amount of time a processor is in kernel mode
    IBM.PSSP.aixos.cpu.user
    IBM.Processor.PctTimeUser
    Amount of time a processor is in user mode
    IBM.PSSP.aixos.cpu.wait
    IBM.Processor.PctTimeWait
    Amount of time a processor is in wait state
    IBM.PSSP.aixos.Disk.rblk
    IBM.PhysicalVolume.RdBlkRate
    Average rate at which blocks are read from the disk
    IBM.PSSP.aixos.Disk.wblk
    IBM.PhysicalVolume.WrBlkRate
    Average rate at which blocks are written to the disk
    IBM.PSSP.aixos.Disk.xfer
    IBM.PhysicalVolume.XferRate
    Average rate of transfers issued to the disk
    IBM.PSSP.aixos.FS.%nodesused
    IBM.FileSystem.PercentINodeUsed
    Percentage of total I-Node used
    IBM.PSSP.aixos.FS.%totused
    IBM.FileSystem.PercentTotUsed
    Percentage of total space used
    IBM.PSSP.aixos.VG.free
    Unavailable
    The amount of free space in a volume group, in megabytes.
    IBM.PSSP.aixos.LAN.rcverrors
    Unavailable
    Count of frame receive errors at adapter level.
    IBM.PSSP.aixos.LAN.recvdrops
    Unavailable
    Count of receive packets dropped at device driver level.
    IBM.PSSP.aixos.LAN.xmitdrops
    Unavailable
    Count of transmit packets dropped at device driver level.
    IBM.PSSP.aixos.LAN.xmiterrors
    Unavailable
    Count of frame transmit errors at adapter level.
    IBM.PSSP.aixos.LAN.xmitovfl
    Unavailable
    Count of transmit queue overflows.
    IBM.PSSP.aixos.Mem.Kmem.calls
    IBM.Host.KMemNumMbuf
    Average number of allocated Mbufs
    IBM.PSSP.aixos.Mem.Kmem.failures
    Unavailable
    Number of unsuccessful requests for a kernel memory buffer.
    IBM.PSSP.aixos.Mem.Kmem.inuse
    Unavailable
    Count of kernel memory buffers in use.
    IBM.PSSP.aixos.Mem.Kmem.memuse
    Unavailable
    Current memory use (bytes).
    IBM.PSSP.aixos.Mem.Real.%free
    Unavailable
    Percent memory that is free.
    IBM.PSSP.aixos.Mem.Real.%pinned
    Unavailable
    Percent memory that is pinned.
    IBM.PSSP.aixos.Mem.Real.numfrb
    Unavailable
    Number of pages on free list.
    IBM.PSSP.aixos.Mem.Real.size
    Unavailable
    Size of physical memory (4K pages).
    IBM.PSSP.aixos.Mem.Virt.pagein
    Unavailable
    4K pages read by VMM.
    IBM.PSSP.aixos.Mem.Virt.pageout
    Unavailable
    4K pages written by VMM.
    IBM.PSSP.aixos.Mem.Virt.pagexct
    Unavailable
    Total page faults.
    IBM.PSSP.aixos.Mem.Virt.pgspgin
    Unavailable
    4K pages read from paging space by VMM.
    IBM.PSSP.aixos.Mem.Virt.pgspgout
    Unavailable
    4K pages written to paging space by VMM.
    IBM.PSSP.aixos.PagSp.%totalfree
    IBM.Host.TotalPgSpFree
    Total free disk paging space (4K pages).
    IBM.PSSP.aixos.PagSp.%totalused
    IBM.Host.PctTotalPgSpUsed
    Total used disk paging space (percent).
    IBM.PSSP.aixos.PagSp.totalsize
    IBM.Host.TotalActivePagingSpace
    Total active paging space size (4K pages).
    IBM.PSSP.aixos.pagsp.%free
    IBM.PagingDevice.PctFree
    Free portion of this paging space LV (percent).
    IBM.PSSP.aixos.pagsp.size
    IBM.PagingDevice.Size
    Size of a paging space LV (4K pages).
    IBM.PSSP.aixos.Proc.runque
    IBM.Host.ProcRunQueueb
    Average count of processes that are waiting for the CPU
    IBM.PSSP.aixos.Proc.swpque
    IBM.Host.ProcSwapQueue
    The average number of processes waiting to be paged in.
    IBM.PSSP.Prog.pcount
    IBM.Program.ProgramName
    Processes running a specified program.
    IBM.PSSP.Prog.xpcount
    IBM.Program.ProgramName
    Processes running a specified program, called by an executable routine.


    PreviousNextIndex