April 23

Perl: Running IBM’s balance.pl from SVCTools on Centos/Red Hat

balance.pl is used when mdisk drive groups get off balanced in a storage pool.
At this time, IBM does not have a way to automatically balance drive groups.
This can really cause an issue as you add more drive chassis’ to your V7000.
Over time the earlier created mdisk groups house more data than the newer groups.
This cause the workload to be off balanced as the old drive do a far higher percentage of the work.
The end result is higher data transfer latencies.  We especially noticed this with writes rather than reads.

I ran into an issue where I could not get the SVC.pm module to be seen by my perl installation.

I ran the command:
perl balance.pl PoolName -k privatekeyname.ppk -c 192.168.1.10 -r

I received the following error:
Can’t locate IBM/SVC.pm in @INC (@INC contains: ……./usr/lib64/perl5) at /SVCTools/examples/balance.pl line 258.

I created an IBM directory in /usr/Lib64/perl5
example: /usr/Lib64/perl5/IBM
I placed the SVC.pm file in the IBM directory

balance.pl ran fine afterward

For testing use: balance.pl PoolName -k privatekeyname.ppk -c 192.168.1.10 -r

For actually running the extent migration use: balance.pl PoolName -k privatekeyname.ppk -c 192.168.1.10 -r -e

Additional Information:
EXAMPLES
To have the script report a set of migrations for a standard Managed
Disk Group configuration where all disks need to be balanced, only
a basic invocation is needed:

perl balance.pl myMDiskGrp -k C:key.ppk -c myCluster -r

This will provide a complete list of migration “phases”. All operations
in an individual phase can be run concurrently. If you are happy with
the results being produced by the script, you can run the commands
manually or have the script do this for you:

perl balance.pl myMDiskGrp -k C:key.ppk -c myCluster -r -e

If you do not want the script to run as many migrates as possible, you
can restrict the number using -n [number].

To run the script only against a particular set of MDisks or VDisks:

perl balance.pl myMDiskGroup -k … -r -m MDisk1,MDisk2,MDisk3,…

perl balance.pl myMDiskGroup -k … -r -vtVDisk1,VDisk2,VDisk3,…

For additional command line output, specify -v (–verbose).


Copyright 2021. All rights reserved.

Posted April 23, 2013 by Timothy Conrad in category "Programming

About the Author

If I were to describe myself with one word it would be, creative. I am interested in almost everything which keeps me rather busy. Here you will find some of my technical musings. Securely email me using - PGP: 4CB8 91EB 0C0A A530 3BE9 6D76 B076 96F1 6135 0A1B