OK, my 2 cents worth...
Every atl we have services 2 or 3 adsm servers.
As Daniel says, use seperate scratch pools for each adsm server
connected to the ATL!
To shuffle tapes between servers connected to the same atl just do:
dsmadmc -serv=serv1 -id=___ -pass=___ q libvol | grep Scratch > s1scr
wc -l s1scr (say it yields 200 so you want to move 100 to serv2)
head -100 s1scr > mymacro
vi mymacro, you will have a bunch of lines as below...
s13494LIB1 AAA361 Scratch
use the following vi commands
:g/s1/s/s1/checkout libvol s1/
and
:g/s1/s/Scratch/checklabel=no remove=no/
then start a dsmadmc with serv1 and say "macro mymacro"
exit dsmadmc
vi mymacro again
(it now looks like below)
checkout libvol s13494LIB1 AAA361 checklabel=no remove=no
use
:g/out/s/out/in/
:g/s1/s/s13494lib1/s23494lib2/
:g/remove/s/remove=no/status=scratch devt=3590/
save mymacro, enter a dsmadmc WITH SERV2 (the other server!) and issue
"macro mymacro"
BOOM, 100 volumes shifted between servers !
You could get fancy and have a daily cron task that balances the scratch
tapes between all systems connect to an ATL but there is really no reason
to.
I've also got jobs on one of the adsm servers connected to each atl that
runs a "mtlib -l/dev/lmcp1 -qI"... I cut out the volsers and save them in a
file... then I run a "q libvol" against all adsm servers using the ATL
(cutting out the volser) and with "comm" I get a list of volumes that are
in the atl but are not libvols of any server attached... then I take that
list and issue "q vol xxx" against all attached adsm servers to make sure
there is no data on it. Once I'm sure it is a blank tape I check it into
the server that could use a scratch (or which ever server is using the
volser range that covers that tape)
We started keeping different volser ranges for each attached adsm server
but after a while (all the times we rob peter to pay paul / shift tapes to
cover lacking scratch volumes) it is to the point where it really doesn't
matter any more.
Anyway, just my 2 cents worth...
Hope it helps,
later,
Dwight
______________________________ Reply Separator _________________________________
Subject: Re: Sharing a 3494 between ADSM servers using 1 scratch ca
Author: heimdall (heimdall AT MAIL DOT ORG) at unix,mime
Date: 1/11/99 8:27 AM
>> I wish to share a 3494 between 2 AIX ADSM V3 servers where both servers
>> have a common scratch pool. The previous references to this suggest that
>> a 3494 can be shared between ADSM servers using separate scratch pools,
>> but no mention of the same scratch pool.
Because of the problems with getting the two databases in sync with one
another, you can't really do this.
>> 1) Does ADSM call for a scratch tape ( & let the lmcp work out which
>> volume it gets) or does it call for a particular volume that would be in
>> a q libvol as scratch? If its the second I think we could get a "scratch
>> volume denied" type message.
I'm not quite certain on this, but I think it calls for the tape from the
database, and not the 3494.
>> 2) We have to do a checkin search=yes on both systems regularly & a aud
>> libr to sync the libvol info across both systems.
What I would recommend doing with this is using two distinctly different
sets of labels, one type for each server. For instance, try A00000 for
server A and the B00000 series for server B. When you do this, you could
use the version 3 "VOLRANGE=VOL1,VOL2" option to your checkin. ie:
ADSM> checkin libv atl3494 search=yes volrange=a00000,a99999 status=scratch
devt=3590
-Daniel
------------------------------------------
Daniel Whicker (heimdall AT mail DOT org)
|