Resources, resource groups, and resource types
By Jean-Christophe Lamoure on Apr 03, 2009
Resources and resources groups : the building
blocs of clustered applications. (from docs.sun.com)
Resources, Resource Groups, and Resource Types
Data services use several types of resources: applications such as Sun Java System Web Server or Apache Web Server use network addresses (logical host names and shared addresses) on which the applications depend. Application and network resources form a basic unit that is managed by the RGM.
Data services are resource types. For example, Sun Cluster HA for Oracle is the resource type SUNW.oracle-server and Sun Cluster HA for Apache is the resource type SUNW.apache.
A resource is an instantiation of a resource type that is defined cluster wide. Several resource types are defined.
Network resources are either SUNW.LogicalHostname or SUNW.SharedAddress resource types. These two resource types are preregistered by the Sun Cluster software.
The HAStoragePlus resource type is used to synchronize the startup of resources and device groups on which the resources depend. This resource type ensures that before a data service starts, the paths to a cluster file system's mount points, global devices, and device group names are available.
RGM-managed resources are placed into groups, called resource groups, so that they can be managed as a unit. A resource group is migrated as a unit if a failover or switchover is initiated on the resource group.
When you bring a resource group that contains application resources online, the application is started. The data service start method waits until the application is running before exiting successfully. The determination of when the application is up and running is accomplished the same way the data service fault monitor determines that a data service is serving clients.
The RGM controls data services (applications) as resources, which are managed by resource type implementations. These implementations are either supplied by Sun or created by a developer with a generic data service template, the Data Service Development Library API (DSDL API), or the Resource Management API (RMAPI). The cluster administrator creates and manages resources in containers called resource groups. The RGM stops and starts resource groups on selected nodes or in selected zones in response to cluster membership changes.
These settings and states are as follows:
Managed or unmanaged settings. These cluster-wide settings apply only to resource groups. The RGM manages resource groups. You can use the clresourcegroup command to request that the RGM manage or unmanage a resource group. These resource group settings do not change when you reconfigure a cluster.
When a resource group is first created, it is unmanaged. A resource group must be managed before any resources placed in the group can become active.
In some data services, for example, a scalable web server, work must be done prior to starting network resources and after they are stopped. This work is done by initialization (INIT) and finish (FINI) data service methods. The INIT methods only run if the resource group in which the resources are located is in the managed state.
When a resource group is moved from unmanaged to managed, any registered INIT methods for the group are run on the resources in the group.
When a resource group is moved from managed to unmanaged, any registered FINI methods are called to perform cleanup.
The most common use of the INIT and FINI methods are for network resources for scalable services. However, a data service developer can use these methods for any initialization or cleanup work that is not performed by the application.
Enabled or disabled settings. These settings apply to resources on one or more nodes or zones. A system administrator can use the clresource command to enable or disable a resource on one or more nodes or zones. These settings do not change when the cluster administrator reconfigures a cluster.
The normal setting for a resource is that it is enabled and actively running in the system.
If you want to make the resource unavailable on all cluster nodes or zones, disable the resource on all cluster nodes or zones. A disabled resource is not available for general use on the cluster nodes or zones that you specify.
Online or offline states. These dynamic states apply to both resources and resource groups.
Online and offline states change as the cluster transitions through cluster reconfiguration steps during switchover or failover. You can also change the online or offline state of a resource or a resource group by using the clresource and clresourcegroup commands.
A failover resource or resource group can only be online on one node or in one zone at any time. A scalable resource or resource group can be online on some nodes or zones and offline on others. During a switchover or failover, resource groups and the resources within them are taken offline on one node or in one zone and then brought online on another node or zone.
If a resource group is offline, all of its resources are offline. If a resource group is online, all of its enabled resources are online.
You can temporarily suspend the automatic recovery actions of a resource group. You might need to suspend the automatic recovery of a resource group to investigate and fix a problem in the cluster. Or, you might need to perform maintenance on resource group services.
A suspended resource group is not automatically restarted or failed over until you explicitly issue the command that resumes automatic recovery. Whether online or offline, suspended data services remain in their current state. You can still manually switch the resource group to a different state on specified nodes or zones. You can also still enable or disable individual resources in the resource group.
Resource groups can contain several resources, with dependencies between resources. These dependencies require that the resources be brought online and offline in a particular order. The methods that are used to bring resources online and offline might take different amounts of time for each resource. Because of resource dependencies and start and stop time differences, resources within a single resource group can have different online and offline states during a cluster reconfiguration.
You can configure property values for resources and resource groups for your Sun Cluster data services. Standard properties are common to all data services. Extension properties are specific to each data service. Some standard and extension properties are configured with default settings so that you do not have to modify them. Others need to be set as part of the process of creating and configuring resources. The documentation for each data service specifies which resource properties can be set and how to set them.
The standard properties are used to configure resource and resource group properties that are usually independent of any particular data service.
The RGM extension properties provide information such as the location of application binaries and configuration files. You modify extension properties as you configure your data services. The set of extension properties is described in the individual guide for the data service.
Data Service Agent
is a specially written software that allows a data service in a cluster to operate properly.
Data Service Agent (or Agent) does the following to a standard application:
stops/starts an application
provides a registration information file that allows Sun Cluster to store all the info about the methods
In short, a data service agent is composed of one or more resource group, each resource group consisting of one or more resources.
The various resource type available are (3.2u2) :
SUNW.LogicalHostname:3 SUNW.SharedAddress:2 SUNW.Event SUNW.HAStoragePlus:6 SUNW.ScalDeviceGroup:3 SUNW.ScalMountPoint:3 SUNW.wait_zc_boot SUNW.scmasa SUNW.derby SUNW.sctelemetry SUNW.ims SUNW.scics SUNW.ds6ldap SUNW.iim SUNW.crs_framework:2 SUNW.rac_framework:4 SUNW.rac_udlm:3 SUNW.rac_svm:3 SUNW.rac_cvm:3 SUNW.gds:6 SUNW.Proxy_SMF_failover SUNW.Proxy_SMF_multimaster SUNW.Proxy_SMF_scalable SUNW.jsas:4 SUNW.jsas-na:3.2 SUNW.s1as:3.2 SUNW.s1mq:4 SUNW.hadb:3.1 SUNW.hadb_ma:3.2 SUNW.iws:5 SUNW.apache:4.1 SUNW.dns:3.2 SUNW.nfs:3.2 SUNW.oracle_listener:5 SUNW.oracle_rac_server:5 SUNW.oracle_server:6 SUNW.scalable_rac_listener SUNW.sap_livecache:3.2 SUNW.scalable_rac_server SUNW.scalable_rac_server_proxy SUNW.sap_xserver:3 SUNW.sapdb:3.1 SUNW.sapenq SUNW.saprepl:4 SUNW.sapscs:2 SUNW.sapwebas:5 SUNW.sap_as:4 SUNW.sap_as_v2 SUNW.sap_ci:3.1 SUNW.sap_ci_v2 SUNW.sybase:5 SUNW.wls:3.2 SUNW.sblgtwy:3.1 SUNW.sblsrvr:3.1 SUNW.krb5
Registered by default :