Oracle Solaris Resource Pools: Dynamically Expanding CPU Resources for a Production Zone
One of the powerful capabilities of Oracle Solaris is the ability to allocate dedicated CPU resources to critical workloads using Resource Pools and Processor Sets. Recently, I had to increase the CPU allocation for a clustered production zone without causing any downtime.
This article walks through the process of reviewing the existing configuration, backing up the resource pool configuration, modifying the processor set, and activating the changes online.
Environment Overview
The server hosts multiple Solaris zones:
Reviewing the Production Zone Configuration
The target zone was prodcluster01.
Notable configuration items:
- Dedicated Resource Pool
- Fair Share Scheduler (FSS)
- Cluster-enabled zone
- 64 GB shared memory allocation
- Multiple network interfaces for cluster traffic
Reviewing Current Pool Allocations
Before making any resource changes, check the current pool distribution.
Current CPU allocation:
| Pool | CPUs |
|---|---|
| prodpool | 32 |
| dbpool | 16 |
| pool_default | 80 |
The production zone currently owns a dedicated processor set containing 32 CPUs.
Verify Processor Set Configuration
Check the current processor set definition.
Output:
This indicates that the processor set is statically configured with 32 CPUs.
Backup the Existing Configuration
Before making changes, always save the current configuration.
Verification:
Having a backup provides a quick rollback option if necessary.
Increasing CPU Allocation
The requirement was to increase CPU resources allocated to the production cluster zone.
Current allocation:
Target allocation:
Modify the processor set:
At this point, the change is stored in the configuration repository but has not yet been activated.
Verify Before Activating
Checking immediately after the modification:
The active configuration still shows 32 CPUs because the updated configuration has not yet been committed.
Activate the New Configuration
Apply the modified resource pool configuration.
This operation dynamically reallocates CPUs without requiring a system reboot.
Verify the Results
Check the allocations again:
Success.
The production processor set increased from:
and the CPUs were automatically taken from the default pool:
All changes were made online with no interruption to the running zone.
Lessons Learned
Always Backup First
Before modifying any resource pool configuration:
Having a rollback option is a best practice in production environments.
Changes Are Not Active Until Committed
Modifying the processor set changes only the configuration database.
To activate the change:
Online Resource Reallocation
Oracle Solaris allows CPUs to be reassigned between processor sets dynamically, enabling administrators to respond quickly to changing workload demands without requiring downtime.
Resource Pools Simplify Capacity Management
Dedicated pools provide predictable performance and workload isolation for critical applications.
Command Summary
Conclusion
Oracle Solaris Resource Pools provide a powerful framework for workload isolation and capacity management. In this example, a production cluster zone's dedicated CPU allocation was increased from 32 CPUs to 48 CPUs using online pool reconfiguration, demonstrating how Solaris can dynamically adapt system resources to meet evolving business demands without impacting application availability.