A resource manager

A resource manager is a daemon process that provides the interface between RMC and actual physical or logical entities.

It is important to understand that although RMC provides the basic abstractions (resource classes, resources, and attributes) for representing physical or logical entities, it does not itself represent any actual entities. A resource manager maps actual entities to RMC's abstractions.

Each resource manager represents a specific set of administrative tasks or system features. The resource manager identifies the key physical or logical entity types related to that set of administrative tasks or system features, and defines resource classes to represent those entity types.

For example, the host resource manager contains a set of resource classes for representing aspects of an individual host machine. It defines resource classes to represent the following resources:
  • individual machines (IBM.Host)
  • paging devices (IBM.PagingDevice)
  • physical volumes (IBM.PhysicalVolume)
  • processors (IBM.Processor)
  • a host's identifier token (IBM.HostPublic)
  • programs running on the host (IBM.Program)
  • each type of adapter supported by the host, including ATM adapters (IBM.ATMDevice), Ethernet adapters (IBM.EthernetDevice), FDDI adapters (IBM.FDDIDevice), and token-ring adapters (IBM.TokenRingDevice)

The resource class definitions describe the persistent and dynamic attributes that individual resource instances of that class can or must define. For example, the Host resource class defines persistent attributes such as Name (the name of the host machine), RealMemSize (the size of physical memory in bytes), and OsVersion (the version of the operating system or kernel running on the host machine). It defines dynamic attributes such as PctTotalTimeIdle (system-wide percentage of time that processors are idle), NumUsers (number of users currently logged on to the system), and UpTime (the number of seconds since the system was last booted).

A resource manager also determines how individual resources of each class are identified. Although you can use the mkrsrc command to explicitly define a resource, this is often not necessary, since resources may be automatically harvested by the resource manager. For example, there is a resource manager used to represent file systems. This resource manager harvests (gathers information on) existing file systems to create resources representing those file systems. It will periodically repeat this harvesting to so that its resources are still representative of the actual file systems available. In addition to harvesting, resources may be created implicitly by other commands. For example, the Host resource manager has a Program resource class that represents programs running on the host. If you were to create a monitoring condition (described in Creating a condition) referring to a particular program, a Program resource representing the program is created implicitly.

Another job of a resource manager to determine the dynamic attribute values of its resources. Since dynamic attributes represent changing characteristics of a resource, the resource manager will periodically poll the actual resources to determine the dynamic attribute values. This is essential to enable resource monitoring (described in Basic resource monitoring and Advanced resource monitoring) where conditions used to trigger responses are logical expressions based on the value of an attribute. It is the periodic polling of resources that enables the event driven condition/response behavior of resource monitoring.

While some resource managers represent system features (such as individual host machines of a cluster, or file systems) others represent resources related to a specific administrative task (such as peer domain configuration, or resource monitoring). Since the purpose of such a resource manager is to provide administrative function, it will provide a command-line interface for performing the administrative tasks. For example, the Configuration resource manager (described in Administering an RSCT peer domain) provides commands for creating creating a peer domain, adding nodes to the domain, taking the domain offline, and so on.

Each resource manager has a startup mode that determines when the RMC subsystem will start it. The startup mode types are:
auto-start
The resource manager is started when the RMC subsystem is started.
conditional auto-start
The resource manager is started when the RMC subsystem is started and when some condition is satisfied.
on-demand
The resource manager is started when one of its resources is first referenced.
online auto-start
The resource manager is started when the node becomes online in a peer domain.
The startup mode for each RSCT resource manager is indicated in Table Table 1 in Resource managers provided with RSCT.

The RMC subsystem can also consider certain resource managers to be idle when they have no work to do for a specified period of time. To conserve system resources, RMC can then gracefully shut down those idle resource managers. RMC currently uses a value of ten minutes to decide that a resource manager is idle. Whether or not a resource manager is subject to automatic shut down when it is idle is also indicated in Table Table 1 in Resource managers provided with RSCT.