ADSM-L

Re: a simple question

2005-02-17 09:12:50
Subject: Re: a simple question
From: asr AT UFL DOT EDU
To: ADSM-L AT VM.MARIST DOT EDU
Date: Thu, 17 Feb 2005 09:12:30 -0500
==> On Thu, 17 Feb 2005 13:18:42 -0000, "Warren, Matthew (Retail)" 
<Matthew.Warren AT POWERGEN.CO DOT UK> said:


> Do people mix the two, or is it a case of 'We use TSM scripting' or 'We use
> Shell / python etc..' based on preference / environment restrictions.

> Are there any benefits to TSM scripting other than it doesn't require an
> external process and relevant software to achieve it?


My opinion is that encoding as much of your logic as you can in TSM schedules
and scripts saves you dependencies, and increases our common understanding of
"how we do things".

If the minute-to-minute details of your TSM servers' management depend on some
outside scripts, then you're really off in the weeds as far as best practices
are concerned: You're a population of one.  If you use an aftermarket
application, then you're part of a larger group, but you're still vulnerable
if any of your products goes wrong.

So I use PERL code outside of TSM to translate configuration data from one
large XML file into lots and lots of scripts, and then I use that repeatable
process to change my config, but if I don't touch the servers, they just keep
on running, migrating, reclaiming, etc.


Below I've included an edited example, one of my server stanzas.  From that
information, and with reference to the running server, I generate a laundry
list of scripts:

Turn on/off  migration for stgpools of devclass X,Y,Z
Start/stop migration for stgpools of devclass X,Y,Z
Start/stop reclamaition for stgpools of devclass X,Y,Z
Backup the database
Backup the devconfig and volhist
Blow away all existing schedules
Define schedules

etc.




<server>
<name>webct</name>
<active>Yes</active>
<description>online course management.</description>
<IP>tsm-webct.cns.ufl.edu</IP>
<port>1605</port>
<httpport>1685</httpport>


<!-- Where does this TSM server get its' config data? -->
<dir>/var/tsm/webct</dir>

<!-- When I start all 9 servers, in what order should I start them? -->
<startdelay>2</startdelay>
<startorder>3</startorder>

<!-- Device class to which Database Backups should be sent -->
<db_devclass>remote_ctrl</db_devclass>

<stgpools>
  <stgpool name="webct-disk" type="primary"  lowmig="0" highmig="90"  >
    <copy-to>webct-c0</copy-to>
  </stgpool>

  <stgpool name="webct-3590" type="primary" reclaim-target="50" >
    <copy-to>webct-c0</copy-to>
  </stgpool>

  <stgpool name="webct-c0" type="copy" reclaim-target="50"  />
</stgpools>

<circadian>

  <tick name="c-backup-3590dev"    time="17:00" cmd="run a-backup-3590dev"/>

  <tick name="c-backup-disk-0"     time="20:15" cmd="run a-backup-disk" />
  <tick name="c-backup-disk-1"     time="00:15" cmd="run a-backup-disk" />
  <tick name="c-expire-begin"      time="02:00" cmd="expire inventory" />
  <tick name="c-backup-disk-2"     time="03:15" cmd="run a-backup-disk" />

  <tick name="c-startmig-disk"     time="04:15" cmd="run a-mig-on-disk" />
  <tick name="c-stopmig-disk"      time="04:16" cmd="run a-mig-off-disk" />


  <tick name="c-delete-volhist"    time="08:10" cmd="run a-delete-volhist" />
  <tick name="c-backup-db"         time="05:00" cmd="run a-backup-db" />

  <tick name="c-reclaim-on-3590"   time="09:00" cmd="run a-reclaim-on-3590dev"/>
  <tick name="c-reclaim-off-3590"  time="16:00" cmd="run 
a-reclaim-off-3590dev"/>

</circadian>

<charging>
 <default account="wctnsam"/>
</charging>

<backupAges>
 <default tolerance="1"/>
</backupAges>

<reporting>
<default reportTo="osg-nsam-l AT lists.ufl DOT edu"/>
</reporting>

</server>

<Prev in Thread] Current Thread [Next in Thread>