Installing and Administering Solaris Container Manager 3.6.1

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.

ProcedureTo Create a New Resource Pool

Steps
  1. If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.

  2. Select the Hosts view by clicking the left tab in the navigation window.

    A list of hosts is displayed in the navigation window.

  3. Select the host name.

    The Resource Pools table is displayed in the right pane.

  4. 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

    Attributes to create a resource pool 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.


  5. Provide a name for the new pool in the Resource Pool Name field.

  6. (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.

  7. 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).

  8. 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.

  9. (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

  10. (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.

  11. (Solaris 10 only - Optional) Select a utilization goal.

    Select from the following options:

    • Type an integer value between 0 and 100 in Greater than field or Less than field or both to specify a range.

    • Type an integer value between 0 and 100 in the Approximately field.

  12. 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.


ProcedureTo Modify a Resource Pool

Steps
  1. If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.

  2. Select Hosts view by clicking the left tab in the navigation window.

    A list of hosts is displayed in the navigation window.

  3. 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.

  4. Select the resource pool by clicking its name in the navigation window.

  5. Select the Properties tab.

  6. Edit the attributes desired.

  7. 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.

ProcedureTo Delete a Resource Pool

Steps
  1. If the Container Manager GUI is not already open, access it as described in To Start the Container Manager GUI.

  2. Select Hosts view by clicking the left tab in the navigation window.

    A list of hosts is displayed in the navigation window.

  3. Select the host name.

    The Resource Pools table is displayed in the right pane.

  4. 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.

  5. Click the Delete button.

    The selected resource pool is deleted and its name is removed from the tree.