Admin Alert: Moving i5/OS Resources on the Fly
July 30, 2008 Timothy Prickett Morgan
With the newer Power i, System i, and i Series machines, IBM provides the ability to reconfigure your CPU and Main Memory (RAM) configurations on the fly. This week I’ll show you how to set up your system so that you can automatically transfer CPU capability and memory between systems. It’s not difficult, as long as you have the right version of the Hardware Management Console (HMC).
A Framework For Moving Resources
The best way to teach is by example, so let’s create a framework scenario where I can illustrate the concepts and techniques involved. Let’s say that our example shop has a System i 550 running i5/OS V5R3. The machine has two partitions (a production and a development partition), three CPUs, and 32 GB of main memory. The CPUs and the RAM are divided up between the partitions in the following way:
The development machine is busiest during the day, and it doesn’t get much use at night. With foreign customers, a second shift, and an end of day batch procedure, the production system works around the clock. Production is so busy that the company wants to borrow spare CPU and memory from the development machine at night, so that the configuration profiles change to meet their production demand. To meet nightly demands for batch processing, the operations manager would like his partitions to look like this from 8 p.m. to 8 a.m.
This scenario requires us to perform two sets of transfers between the development and production partitions. One operation will transfer .5 processors and 8 GB of RAM from the development box to the production box at 8 p.m. A second operation will transfer the resources back from production to development at 8 a.m. the next morning.
I’ll discuss how to automate these transfers on a nightly basis.
Part One: Checking Your Pre-Reqs
To run this automation, you need to be controlling your i5/OS system through a Linux HMC version 6 or above. I tested this setup by using HMC version 6.1.3, build 20080112.1. If you’re using a pre-version 6 HMC, the options I’m describing here may not be available. To check your HMC version, start your server and open the Licensed Internal Code Maintenance→HMC Code Update node in the navigation area of the HMC screen. Your HMC version information will appear in the right-hand pane.
Before you can move processors and memory between partitions, you also have to make sure that your partitions are set up to send and receive the resources that you’ll be shifting around. For processors, each partition contains a minimum, maximum, and desired number of processors that can be assigned to that partition. The same goes for memory. If the amount of resources that you’re going to shift between partitions makes one of the partitions go over or under its maximum/minimum limits, the transfer will not occur.
To check what your maximum and minimum limits are, expand the Server and Partition→Server Management→Partitions→Partition name node to reveal your partition profiles. In the HMC, there are two profiles for each partition and both profiles usually have the same name. Highlight the partition profile name that is preceded by a check mark, and right-click on that name. Select Properties from the pop-up menu that appears. On the Partition Profiles Properties Screen, select the Processors tab to view the partition’s processor properties and select the Memory tab to view the partition’s memory properties for that partition. Here you can modify the maximum, minimum, and desired amount of processors or memory. Make sure that you set up boundary limits that match the desired configurations that you want to run on your partitions. Click OK to save the changes. The only trick is that you’ll need to completely shut down the partition you’re changing limits for and restart it for the new settings to take effect. Processor and memory limit changes will not be changed until the partition is reactivated from a cold state.
Part Two: Setting Up the Automated Transfers
Once your partitions are correctly configured, you can set up the transfers by using the HMC’s Schedule Operations function. In the Navigation Area, open the HMC Management→HMC Configuration node. The right hand pane of the screen will show all the HMC Configuration options. Click on the Schedule Operations item, which brings up the Scheduled Operations window. This window will contain one item for each server and partition that is controlled by the HMC. If you want to transfer processor or memory from one partition to another, highlight the entry for the partition that you want to transfer the resources from and click OK. This will bring up the Customize Scheduled Operations window for that partition.
This window allows you to set up three types of scheduled operations for a partition:
To set up a resource move from the Customize Scheduled Operations window, click on Options→New from the menu bar, which will bring up the Add a Scheduled Operation window. Select Dynamic Reconfiguration from that window and click OK. This will bring up the Set up a Scheduled Operations window, where you can configure your scheduled move. This window has three tabs that allow you to configure the following pieces of a scheduled resource move.
For our example, where we want to transfer .5 processors and 8 GB of memory between our development and production servers each day from 8 p.m. to 8 a.m., we would enter four recurring transfers under Customize Scheduled Operations.
On the development partition, we would enter two operations: one to transfer the CPU and the other to transfer the memory. We would use the Date and Time tab to designate that each operation goes off at 8 p.m. We would then use the Repeat tab to specify that these are repeated scheduled operations that will occur on specific days of the week (Monday through Sunday) either for a specified interval (measured in weeks or number of repetitions) or infinitely (which means that the operations will continue running indefinitely until they are cancelled). On the Options tab, we would specify that we want to move the .5 CPU or the 8 GB from the development to the production partition. Once the two development partitions operations are entered, all the scheduled operations for the next week will be added to the Customize Scheduled Operations screen.
On the production partition, we would enter another two scheduled operations that send the resources back to the development partition. These operations should be scheduled to run at 8 a.m. every morning under the Date and Time tab and they would mirror the operations on the development box. Like the development operations, all the iterations of the scheduled operations for the next week will automatically appear on the production partition’s Customize Scheduled Operations screen.
If we want to view the details for a scheduled operation, highlight the operation on the Customize Scheduled Operations screen and click on View→Scheduled Details. This will show you the details of how the operation is set up. The biggest pain about setting up automated operations is that you cannot change the operation from the Scheduled Details screen, you can only view it. If you make a mistake and want to change your operation parameters, you need to delete the operation (using the Options→Delete function on the screen) and recreate it again.
Rules for Transferring Memory Between Machines
When setting up a memory transfer between partitions, beware of these limitations:
If you check these simple settings, your transfer will be more likely to succeed. It’s easy for a scheduled operation to fail if these values aren’t correctly set.
Checking Your Transfers
To see if your scheduled operations completed or failed at their appointed time, open the HMC Configuration options again (by clicking HMC Management→HMC Configuration from the navigation area) and open the View Console Events option. This will provide a list of all the events that have recently occurred on the console. There will be entries for your scheduled operations that tell you when the operation started, when it ended, and whether it was successful.
And that is how you can automatically transfer system resources between systems. If you follow these simple rules, your transfers should process flawlessly.