Enabling host harvesting using the CLI

Before you begin

  • IBM® Spectrum Symphony must be installed and running.
  • To run the command to enabling host harvesting (egosh ego elimrestart), you must be logged on to Windows as the local systems operating system account administrator, or logged on to Linux® as the root operating system account.

Procedure

  1. On each host that you want to harvest, run egoconfig addresourceattr "[resource scvg]" (for desktop harvesting) or egoconfig addresourceattr "[resource svrscvg]" (for server harvesting) before joining the host to the cluster. The command adds the scvg or svrscvg resource tag to hosts to indicate they are harvest-ready. Note that this step is not necessary if the host was configured as a harvest-ready host during IBM Spectrum Symphony installation.
  2. Restart EGO on the hosts you added the resource tag to.
    Note: If a race condition occurs, workload will run on these hosts for a short time; to avoid this, shut down these hosts and remove them from the cluster before restarting them.
  3. From any host, run:
    egosh ego elimrestart SA on host_name ....
    This sets the agent control flag to on and enables EGO to harvest the specified hosts. The following default threshold values are used:
    • Idle time threshold in minutes: 10 (Note: For server harvesting, you must set the idle time to 0)
    • Adjusted CPU utilization threshold as a percentage: 0
    • CPU idle time threshold in minutes: 10

    The thresholds are configurable.

    Note: The remaining steps are optional, but recommended.
  4. From the cluster management console, create a new dynamic resource group for harvest-ready hosts.
    1. Name the group in such a way that you can identify it as a group of harvest-ready hosts.
    2. Select Hosts filtered by resource requirement and in the resource requirement, specify: select (!mg && scvg) (for desktop harvesting) or select (!mg && svrscvg) (for server harvesting).
    Note: If the harvest resource group is not the last resource group appearing in the resource plan, the resources from the harvest resource group might be used before resources from other resource groups. If you want to ensure that the dedicated grid resources are used before the harvest-ready resources, you should create the harvest resource group last. This way, work is only allocated to your harvest-ready resources if all other resources are busy. This principle only applies if you complete the remaining steps and no other resource groups are added after the harvest group.

    The resource group dynamically includes any host that is not a management host and has the scvg resource tag associated with it.

  5. In all other resource groups that use compute hosts, add !scvg or !svrscvg, as applicable, to the resource requirement.

    This prevents host overlaps between resource groups.

  6. From the cluster management console, identify the applications that you want to have work running on harvested hosts.
    1. Modify the consumer properties to include the new harvest resource group for each application that should run on harvested hosts.
    2. Check that the grace period specified is appropriate. Work is terminated on a harvested host when it becomes busy, taking the grace period into consideration. A lesser grace period terminates the work faster than a higher grace period.
    Note: Specify any number of resource groups in addition to the harvest resource group if you want the work to run on dedicated cluster hosts as well. Work only runs on harvested hosts if dedicated hosts are not available. Again, this principle is only true if you complete the optional steps in this procedure.
  7. Create a new consumer and name it so you can identify that it is used only for harvesting.
    1. Specify the new harvest resource group as the consumer’s only resource group.
    This consumer owns all the slots of the harvest-ready resource group and lends them to other consumers as needed.
    Note: Never register any applications to this consumer.
  8. Modify the resource plan for the harvest resource group.
    1. Specify the harvest consumer to own all slots that will be harvested.

      You can set the harvest consumer to own more slots than are displayed if you know more harvest-ready host slots will be available in the future.

    2. Enable lending but specify no limit.
    3. Leave borrowing disabled.
    4. Disable sharing.

      This introduces a non-editable default setting.

  9. Enable borrowing in the resource plan for the consumers associated with applications that you want to make use of harvest-ready hosts.