ADSM-L

[ADSM-L] Collocation groups, and the management thereof.

2010-04-02 21:29:08
Subject: [ADSM-L] Collocation groups, and the management thereof.
From: "Allen S. Rout" <asr AT UFL DOT EDU>
To: ADSM-L AT VM.MARIST DOT EDU
Date: Fri, 2 Apr 2010 14:42:52 -0400
I'm weeding my collocgroups, and I decided my management script is
getting smooth enough that I'd consider exposing it for you-all to
take and beat upon if you desire.  Throw tomatoes, kibitz, fix my
bustedness, whatever. :)


http://nersp.osg.ufl.edu/~asr/media/cg/

In there are:

the script itself, calc-collcation-groups

My local version of the "connect PERL to the TSM server" code,
tsm_query.pm

An example of verbose output showing something of the "train of
thought" of the code.



There are several things you'd have to change, to get it to function
in your environment:

0) comment out tsm_config.pm, and either comment out or use my
   tsm_query.pm


1) list of servers.  I get mine from a global config I maintain;
   utterly unportable.  You can plug in your own config, or just
   literally list some servers at the spot where I say

   if ($#{$server} > -1 ) {@servers = @{$server} ;} else {@servers = keys 
%$config;}

   ... Something like

   @servers = ("name1", "name2", "etc");

   will do the trick.



2) Names of primary stgpools.  'Q nodedata' does not accept a
   particularly flexible set of arguments.  I stuck a pattern in there
   which expands to (semantically) "my primary tape stgpool".

   Collocgroup analysis is, of course, per-stgpool.  You'll want to
   analyze separately per-stgpool.

   Change that pattern on the line where I say:

   # ICK!  Constant storagepool convention, ICK!



Here's the basic procedure.


   I define a target size of the volumes in a devclass, a percentage
   of the nominal capacity of the volume

   I define collocgroups by policy domain.  Groups are named
   [DOMAINNAME]-[digits].  So, ERP has groups ERP-1 ERP-2, etc. etc.

   Walk through all the nodes.

   Nodes with primary occupation in excess of target size are not
   candidates for collocgroup membership.  If they're in a group now,
   generate the statement to remove them.  Otherwise, skip.

   For nodes with primary occupation less than target size, walk
   through the domain's existing collocgroups, and look for one with
   enough room to add it, and still remain less than target size.
   Generate the statment to add.

   After looking at all the nodes, note which domains need more
   collocgroups, and how many are necessary to accomodate the
   overflow.


   Look at all "tiny" tapes (tapes with occupation less than a set
   percentage of the target size).  If they're in a collocgroup that
   has other tapes with enough space to fit, then generate the move
   data statement to clear the tapes.




- Allen S. Rout

<Prev in Thread] Current Thread [Next in Thread>
  • [ADSM-L] Collocation groups, and the management thereof., Allen S. Rout <=