- scalable resource types
A scalable data service is one that takes advantage of the Oracle Solaris 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 the r_properties(5) man page for the syntax and description of these properties.
Some data services can run in either a scalable or non-scalable mode. These services permit you to specify a value of True or False for the Scalable property at the time that 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 to a value that is 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.
You can change the Load_balancing_weights and Port_list properties at any time, even while the resource is online. Network_resources_used and Load_balancing_policy are set when the resource is created, and you cannot edit these properties afterward. Depending on how the resource type is implemented, these properties might have default values, or you might be required to provide values when you create the resource.
A scalable service instance running on a particular node or zone needs to be able to reply to clients over the public networks. The RGM automatically monitors the health of the public networks on nodes or zones where scalable services are to run, and might bring down a scalable service instance on a particular node or zone if the public network becomes inaccessible from that node or zone. If you disable monitoring on a scalable resource by using the clresource unmonitor command, these network checks are disabled.
When the Scalable resource property that is set to True is created or updated, the RGM validates various resource properties and will reject the attempted update if these properties are not configured correctly. Among the checks that are performed are the following:
The Network_resources_used property must not be empty. This property must contain the names of existing SharedAddress resources. Every node or zone that you specify for the Nodelist property of the resource group that contains the scalable resource must appear in either the NetIfList property or the AuxNodeList property of one of the SharedAddress resources.
Note that you can also specify a zone in a scalable resource's Nodelist property. To specify a zone for Nodelist, use the following syntax:
nodename:zonename
nodename is the name of the node where zonename is located. zonename is the name of the zone that you want to include in Nodelist. For example, to specify the non-global zone zone-1 which is located on the node phys-schost-1, type:
phys-schost-1:zone-1
A resource group that contains a 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 not be empty. This property must contain a list of port and protocol pairs, where protocol is tcp, tcp6, udp, or udp6. Possible protocols that you can specify include tcp for only TCP IPv4, tcp6 for both TCP IPv4 and TCP IPv6, udp for only UDP IPv4, or udp6 for both UDP IPv4 and UDP IPv6.
For example, you can specify Port_list=80/tcp,40/udp.
IP affinity guarantees that connections from a given client IP address are forwarded to the same cluster node or zone. 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 detailed information.
clresource(1CL), clresourcegroup(1CL), clresourcetype(1CL), rt_callbacks(1HA), rt_reg(4), r_properties(5)
Oracle Solaris Cluster Software Installation Guide, Oracle Solaris Cluster Data Services Developer’s Guide