ADSM-L

Re: Magstar 3570

2001-07-27 09:22:29
Subject: Re: Magstar 3570
From: Miles Purdy <PURDYM AT FIPD.GC DOT CA>
Date: Fri, 27 Jul 2001 08:22:43 -0500
I wrote this little script to do exactly what you want. I have to admit that 
performance does not increase linearly with the number of streams. 

Anyway, this script will run N archives concurrently. It finds all the files in 
a subdirectory, and sorts them by size. It then makes N archive scripts and 
runs them all together.

Change $MC (management class), and $NUM_STREAMS (this can be number of tapes 
drive +1).

miles

#!/usr/bin/ksh
#
# Name: Fast Archive 2
#
# Purpose:
#
# Author: Miles Purdy
#
# Date:
#
# Required Parameters:
# -------------------------------------------------------------------------
#
# Optional Parameters:
# -------------------------------------------------------------------------
#
# Change History:
#
# Date          Name            Comments
# _________________________________________________________________________
#

# set umask to prevent others from reading tmp files
umask 077

DIRECTORY=$1

RETCODE=0
MC=1day
NUM_STREAMS=7

echo $0 started at $(date).

WORK_DIR=${WORK_DIR:=/tmp}
SCR_DIR=$UNIX_SYSTEM_DIRECTORY/bin

if [[ `hostname` != 'unxr' ]]
then
   echo "This scripts should be run from unxr."
   exit
fi

COUNT=1
/usr/bin/find $DIRECTORY -fstype jfs -type f -xdev -ls | sort -bnr +6.0 -7.0 \
     | sed "s/^.* \//\//" | while read LINE
     | sed "s/^.* \//\//" | while read LINE
do

   if [[ ! -s /tmp/file_list.$$.$COUNT ]]
   then
      echo "#!/usr/bin/ksh"      > /tmp/file_list.$$.$COUNT
      echo ""                   >> /tmp/file_list.$$.$COUNT
      chmod +x /tmp/file_list.$$.$COUNT

   fi

   echo "$DSM_DIR/dsmc archive -archmc=$MC $LINE" >>/tmp/file_list.$$.$COUNT

   let "COUNT = COUNT + 1"
   if [[ $COUNT -eq $NUM_STREAMS ]]
   then
      COUNT=1
   fi

done


COUNT=1
while [[ $COUNT -lt $NUM_STREAMS ]]
do
   /tmp/file_list.$$.$COUNT 1>/tmp/$$.$COUNT 2>&1 &
   let "COUNT = COUNT + 1"
done

wait

COUNT=1
while [[ $COUNT -lt $NUM_STREAMS ]]
do
   cat /tmp/$$.$COUNT
   let "COUNT = COUNT + 1"
done

echo "==================================================================="
COUNT=1
while [[ $COUNT -lt $NUM_STREAMS ]]
do
   echo "Stream $COUNT:"
   cat /tmp/$$.$COUNT | grep -i "Total number of bytes transferred"
   cat /tmp/$$.$COUNT | grep -i "Elapsed processing time"
   cat /tmp/$$.$COUNT | grep -i "Aggregate data transfer rate"
   echo "-------------------------------------------------------------------"
   let "COUNT = COUNT + 1"
   let "COUNT = COUNT + 1"
done

# exit
echo $0 ended at $(date).
exit $RETCODE




-------------------------------------------------------------------------------------------
----------------
Miles Purdy 
Miles Purdy 
System Manager
Farm Income Programs Directorate
Winnipeg, MB, CA
purdym AT fipd.gc DOT ca
ph: (204) 984-1602 fax: (204) 983-7557
-------------------------------------------------------------------------------------------
----------------
>>> Bill.Wheeler AT LA-Z-BOY DOT COM 26-Jul-01 2:12:29 PM >>>
>>> Bill.Wheeler AT LA-Z-BOY DOT COM 26-Jul-01 2:12:29 PM >>>
Hello *SMers,

        Here is a situation that we are trying to look at to hopefully cut
down our archive time.  I was wondering if any of you have an idea if it
would be possible.

Currently we are running TSM 4.1.2.0 on an AIX 4.3.3.0

We run a nightly archive of 70 GB that is taking just over 8 hours
uncompressed.   In our Magstar 3570 we have two different tape drives.   My
question follows:   Is it possible to be running two different archives at
the same time to cut down the processing time?   If it is possible how would
you go at it?   I know I see allot of *SMers talking about backup clients at
the same time, but the information we back up comes off of one RS/6000 AIX
server.    Is it possible to be running two sessions off the same machine at
the same time?


Any help would be grateful.

Thanks in Advance,

Bill Wheeler
AIX Administrator
La-Z-Boy Incorporated
bill.wheeler AT la-z-boy DOT com <mailto:bill.wheeler AT la-z-boy DOT com>
<Prev in Thread] Current Thread [Next in Thread>