A scalable data service is one that takes advantage of the Sun Cluster cluster networking facility. Such a service is implemented as a resource type managed by the Resource Group Manager (RGM).
The standard resource properties Scalable, Network_resources_used, Port_list, Load_balancing_policy, and Load_balancing_weights are common to all scalable resource types. See scrgadm(1M) for the syntax and description of these properties.
Some data services can run in either a scalable or non-scalable mode; such services permit you to specify a value of TRUE or FALSE for the Scalable property, at the time the resource is created. If this property is set to TRUE on a resource, the resource is said to be in "scalable mode"; the resource then must be contained in a scalable mode resource group, that is, a group that can have its Maximum_primaries property set greater than 1.
For a data service that can only run in scalable mode, the Scalable property is implicitly TRUE for resources of this type, and cannot be changed by the adminstrator.
The Load_balancing_weights property can be changed at any time, even while the resource is online. Network_resources_used, Port_list, and Load_balancing_policy are set when the resource is created, and cannot be edited afterward. Depending on how the resource type is implemented, these properties might have default values, or you might be required to provide values at resource creation time.
A scalable service instance running on a particular node needs to be able to reply to clients over the public networks. The RGM automatically monitors the health of the public networks on nodes where scalable services are to run, and might bring down a scalable service instance on a particular node if the public network becomes inaccessible from that node. If monitoring is disabled on a scalable resource using scswitch-n -M -j, then these network checks are disabled.
Whenever a resource having the Scalable =TRUE property is created or updated, the RGM validates various resource properties and will reject the attempted update if these are not configured correctly. Among the checks that are performed are the following:
The Network_resources_used property must be non-empty. It must contain the names of existing SharedAddress resources. Every node in the Nodelist of the resource group containing the scalable resource must appear in either the NetIfList property or the AuxNodeList property of one of the named SharedAddress resources.
The resource group that contains the scalable resource must have its RG_dependencies property set to include the resource groups of all SharedAddress resources listed in the scalable resource's Network_resources_used property.
The Port_list property must be non-empty. It must contain a list of port/protocol pairs where protocol is either tcp or udp. For example: Port_list=80/tcp,40/udp.
IP affinity guarantees that connections from a given client IP address are forwarded to the same cluster node. Affinity_timeout, UDP_affinity, and Weak_affinity are only relevant when Load_balancing_policy is set to either Lb_sticky or Lb_sticky_wild. See r_properties(5) for detail information.
Sun Cluster 3.1 Data Services Installation and Configuration Guide
Sun Cluster 3.1 Data Services Developers' Guide