Chapter 5 Managing Resource Pools
This chapter contains procedures for creating, using, and managing resource
pools.
The following topics are discussed:
Resource Pool Overview
In the Solaris 9 and Solaris 10 releases, a resource pool, or pool, is a configuration
mechanism that is used to partition the resources of a host. Every host has a default
pool, and all processes are initially bound to this pool. Newly created pools take
their processors from the default pool. A host can be partitioned into more than
one pool. Additionally, each entry in the /etc/project file has
an associated pool. If the /etc/project entry does not have a
pool specified, then that entry is bound to the default pool. Otherwise, the project
is bound to the specified pool. New processes started in a project are bound to the
corresponding pool.
If you are running the Solaris 8 release, only one resource pool is available.
The container is automatically assigned to the pool_default.
Because resource pools do not exist in this OS version, the pool_default is created artificially. All of the CPUs on a host that runs the Solaris
8 release are considered to be in a single pool by convention.
After installation of the software, the database is populated with information
about the existing resource pools on the system. Container Manager enables you to manage
and create resource pools through its GUI. Use the Hosts view to manage resource pools
on a host. To access a pool from the navigation window, click the key symbol next
to a host. The tree expands and lists the corresponding pools under the host name.
Note –
You must be a pool administrator to manage (create, modify, delete) resource
pools. The pool administrators are specified while setting up the Solaris Container
Manager software.
Creating New Resource Pools
After the Container Manager software is installed on a host, all existing resource
pools are discovered and loaded into the module's management information base (MIB)
table. Newly created pools take their processors from the host's default pool, which
is called pool_default. One full CPU is always assigned to the
default pool. Therefore, the number of available CPUs for creating new pools is always
the total number of available CPUs minus one.
The Resource Pools table is located in the Hosts view under the Resource
Pools tab. Information about a pool is listed in a single row in this table. The following
information is available for each resource pool:
- Resource Pool Name
-
The name of the resource pool
- CPUs
-
Total number of CPUs that are contained in the pool
- Unreserved CPUs
-
The number of CPUs that are available or currently available for container creation
- CPU Shares
-
The number of CPU shares in the resource pool to be distributed to
its zones or projects.
To Create a New Resource Pool
Steps
-
If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.
-
Select the Hosts view by clicking the left tab in the
navigation window.
A list of hosts is displayed in the navigation window.
-
Select the host name.
The Resource Pools
table is displayed in the right pane.
-
Click the New Resource Pool button.
The
New Resource Pool dialog box is displayed. The Total Number of CPUs on the host and
the Available CPUs are listed.
Figure 5–1 Resource Pool Window on a Solaris 10 Host
Note –
The dialog box varies by operating system. If you are using a Solaris
10 host, the dialog box has more options.
-
Provide a name for the new pool in the Resource Pool
Name field.
-
(Solaris 8 and 9 only) Provide the number of CPUs for
the pool.
This number must be less than or equal to the number that is
in the Available CPUs field and must be an integer.
-
Select a scheduler, timesharing (TS) or fair share scheduler (FSS).
For more information about the schedulers, see Fair Share Scheduler (FSS) and Timesharing Scheduler (TS).
-
Type the total number of CPU shares.
The total number of CPU shares is the basis for assigning ratios of the pool's
resources to projects and should be an integer. For example, if you assign the pool
100 CPU shares, you can assign 50 shares of the pool to one project, 20 shares to
another project, and 30 to another.
-
(Solaris 10 only) Type the maximum and minimum CPU reservation.
Minimum CPU reservation is the desirable minimum number of CPUs the pool must
have. Maximum CPU reservation is the maximum number of CPUs the pool can have.
The minimum CPU value is (total number of CPUs ) - (minimum CPUs of other pools).
There is no limit on the maximum number of CPUs.
For more information
about dynamic resource allocation, see the System Administration
Guide: Solaris Containers-Resource Management and Solaris Zones
-
(Solaris 10 only - Optional) Select the locality factor for dynamic allocation
of the pool.
None means do not factor in the physical location of the
CPUs on a board.
Loose means to factor in the physical location of the
CPUs on a board.
Tight means the CPU must be local, that is, on the same
board as the initial CPU that is allocated to the pool.
-
(Solaris 10 only - Optional) Select a utilization goal.
Select from the following options:
-
Click OK to save your changes.
The information
in the Resource Pools table is updated with the new pool.
Modifying Resource Pools
When you want to change the CPUs, the scheduler type, or CPU shares, you modify
the resource pool. If you use the Solaris 10 release, you can also change the maximum
and minimum CPU reservation, the locality factor, and utilization goals for a pool.
Note –
You cannot modify the default resource pool.
To Modify a Resource Pool
Steps
-
If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.
-
Select Hosts view by clicking the left tab in the navigation
window.
A list of hosts is displayed in the navigation window.
-
Locate the desired host in the list, and click the
expansion triangle next to the name.
The tree expands and all resource
pools that are bound to the host are displayed.
-
Select the resource pool by clicking its name in the
navigation window.
-
Select the Properties tab.
-
Edit the attributes desired.
-
Click Save.
Deleting Resource Pools
You cannot delete a host's default resource pool. A resource pool cannot
be deleted if any container is still associated with it.
To Delete a Resource Pool
Steps
-
If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.
-
Select Hosts view by clicking the left tab in the navigation
window.
A list of hosts is displayed in the navigation window.
-
Select the host name.
The Resource Pools
table is displayed in the right pane.
-
To enable the Delete button, select the check box next
to the resource pool.
If the Delete button does not become active, then
containers are still using this pool and you cannot delete it.
-
Click the Delete button.
The selected resource
pool is deleted and its name is removed from the tree.