Patching Solaris 10 zones in parallel

Installing Solaris 10 patches 119254-66(SPARC)/119255-66(x86) or later provides an enhancement to the standard Solaris 10 patch utilities, which comprise the supported method for patching non-global zones on your Solaris 10 system. This feature improves zones patching performance by patching non-global zones in parallel.

Update: This feature is now delivered by default in Solaris 10 10/09

Previously, patching Solaris systems was a enduring and time consuming process as each system were upgraded using a single thread which is a shame when you consider some of the latest SPARC systems can run in excess of 256 threads.

Once you have applied the above patch edit /etc/patch/pdo.conf and set the value of num_proc variable to the number of zones that you wish to patch in parallel.

The global zone is still patched first. When the global zone has finished patching, the number of non-global zones set in num_proc are patched together. The maximum number is 1.5 times the number of online CPUs , up to the number of actual non-global zones on the system.

An example is:

  • Number of online CPUs is 4
  • Setting is num_proc=6

If there are more than this number of non-global zones on the system, the first 6 will be patched in parallel, then the remaining non-global zones will be patched as processes finish patching the first group.