Back to Parallel Patching for Solaris 10
By chrisarmes on Jun 16, 2009
In my previous entry Parallel Patching in Solaris 10 I mentioned that the patches for this would be released before the end of June, these should be available on SunSolve from tomorrow (June 17th), feature is contained in the latest Solaris 10 patch utilities patch, 119254-66 (SPARC) and 119255-66 (x86).
This is available for use on all Solaris 10 systems.
install this patch, set the maximum number of non-global zones to be
patched in parallel in the config file /etc/patch/pdo.conf, and away
Prior to this feature, each non-global zone was patched sequentially, leading to unnecessarily long patching times for zones systems.
With this feature invoked, the global zone continues to be patched first, but then the non-global zones can be patched in parallel, leading to significant performance gains in patching operations on Zones systems.
While the performance gain
is dependent on a number of factors, including the number of non-global
zones, the number of on-line CPUs, the speed of the system, the I/O
configuration of the system, etc., a performance gain of ca. 300% can
typically be expected for patching the non-global zones - e.g. On a
T2000 with 5 sparse root non-global zones.
Here's the relevant note from the patch README file:
NOTE 10: 119255-66 is the first revision of the patch utilities to deliver "zones parallel patching".
This new functionality allows multiple non-global zones to be patched in parallel by patchadd. Prior to revision 66, patchadd would patch all applicable non-global zones sequentially, that is one after another. With zones parallel patching, a sysadmin can now set the number of zones to patch in parallel in a new configuration file for patchadd called /etc/patch/pdo.conf.
The two factors that affect the number of non-global zones that can be patched in parallel are
1. Number of on-line CPUs
2. The value of num_proc in /etc/patch/pdo.conf
If the value of num_proc is less than or equal to 1.5 times the number of on line CPUs, then patchadd limits the maximum number of non-global zones that will be patched in parallel to num_proc. If the value of num_proc is greater than 1.5 times the number of on line CPUs, then patchadd limits the maximum number of non-global zones that will be patched in parallel to 1.5 times the number of on line CPUs. Note that patchadd will patch all applicable non-global zones on a system, the above description outlines only how patchaadd determines the maximum number of job slots to be used during parallel patching of non-global zones.
An example of this in operation would be where:
number of non-global zones=5
and number of on line CPU's is 32 ( assume a T2000 here )
In this case the maximum setting for num_proc would be 48, but as the number of non-global zones=5, then num_proc will be set to 5.
Please see comments in /etc/patch/pdo.conf for more details on setting num_proc.