TSM migration processes

Posted on 2010-11-29
Medium Priority
Last Modified: 2013-11-14
Hi ,

I want to understand TSM migration process, there are some migration scripts which are scheduled in crontab on tsm server, which runs the migration process. Following is the commands in the migration script, just want to know what exactly it means :-

# Reset number of migration processes for all other disk pools:
dsmadmc -id=admin -password=admin upd stg db_arch_disk_pool migpr=1
dsmadmc -id=admin -password=admin upd stg db_disk_pool migpr=1
dsmadmc -id=admin -password=admin upd stg db_arch_disk_pool migpr=1
dsmadmc -id=admin -password=admin upd stg windows_san migpr=1
# Turn off migration for all other disk pools:
dsmadmc -id=admin -password=admin upd stg db_arch_disk_pool hi=100 lo=90
dsmadmc -id=admin -password=admin upd stg db_disk_pool hi=100 lo=90
dsmadmc -id=admin -password=admin upd stg db_arch_disk_pool hi=100 lo=90
dsmadmc -id=admin -password=admin upd stg windows_san hi=100 lo=90
# Set number of migration processes higher for mis_unix_xxx disk pools:
dsmadmc -id=admin -password=admin upd stg mis_unix_prod migpr=2
dsmadmc -id=admin -password=admin upd stg mis_unix_temp migpr=1
# Turn on migration for mis_unix_xxx disk pools:
dsmadmc -id=admin -password=admin upd stg mis_unix_prod hi=1 lo=0
dsmadmc -id=admin -password=admin upd stg mis_unix_temp hi=1 lo=0

so, just want to know what these commands are exactly doing.

Question by:virgo0880
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 3
  • +1

Accepted Solution

renever earned 400 total points
ID: 34237759

dsmadmc -id=admin -password=admin
- logon to tsm server

upd stg <storage pool name> migpr=1
-  sets the number of sessions for migration (is number of tapedrives)
- you have 4 storage pools

upd stg <storage pool name> hi=100 lo=90
- sets the high and low watermark for migration. (normally 90-70)
- meaning if the amount of data is more than 100% (high) then it will move data to the next storage pool (see q stgp) until it reaches 90% (low again)
- this is used to keep free space available in the storagepool
- in your case it stops the migration of the storage pools. (it will not use tapedrives so it can be used for other migrations

upd stg mis_unix_prod migpr=2
- probably big server as it needs 2 tapedrives

admin upd stg storageppolname hi=1 lo=0
- set the value for the storage pool to 1, 0 (could be 0,0) which will migrate the other storage pools to the next destionation

In my opninion the script is used to handle the migration process with to less tapedrives.

You can add these commands also in TSM scheduling, you don't need to enter your password in here.
There are probably multiple cron jobs. You can also use one maintenance script where you can use the migrate command


>>-MIGrate STGpool--pool_name--+-------------------+------------>
   '-DUration--=--minutes-'  '-REClaim--=--+-No--+-'  

Commands can be entered
migrate stgpool <name> dur=<minutes> wait=yes

You can set the number of minutes that a migration may last
and it will wait till the job has been finished (or exceeded the duration time)
You can add multiple lines in the script.

Or use two scripts
If you have two tapedrives you can create two scripts and balance it yourself (sizes)



help upd stgp
on tsm server may help


Expert Comment

ID: 34237817
Hello agin

You can also use parallel and serial to control the process


Regards again
LVL 62

Assisted Solution

gheist earned 200 total points
ID: 34238273
It is bad idea to fill disk pools completely 75/50 woul make sure no client gets rejected for full storage...
Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.


Author Comment

ID: 34253362
Hi renver,

Thanks for that info.  So in the above commands, migpr=1 means it will use only one tape drive...is that right ? then how come migration ends immediately as we have given it one tapedrive. Also is there any way to find out how much time is taken by each migration process to be complete through query in actlog which would be helpful to me to get the statistics.

Whether "upd stg <storage pool name> hi=100 lo=90" this command will set the migration process off immediately ...?

LVL 62

Expert Comment

ID: 34256219
It is one-minute timer. It will not migrate at the same moment, but really soon.
hi=1 lo=0 will migrate immediatly all data out and prepare pool for deletion.

Expert Comment

ID: 34256831

You can see the progress qith
q pr

you will see migration processes (if any)

You can also check with

q stgp

you can verify if the storage pool has been migrated completely
(It is possible that the data has been migrated to the next storage pool but that the data is still held in the diskpool for quicker restores

q stgp f=d

and check for utilized and migratied percentage
h q stgp
LVL 68

Assisted Solution

woolmilkporc earned 400 total points
ID: 34257627
select max(ACTIVITY) Activity, avg(END_TIME-START_TIME) "Avg. Duration",  -
ENTITY "Pool                                "  from summary -
where ACTIVITY='MIGRATION' group by entity order by 2

Author Comment

ID: 34259182
Based on this query, I am getting following output :

ACTIVITY                      Avg. Duration         Pool                                
------------------ ------------------------          ------------------------------------
MIGRATION                 0 00:03:20.032967 DB_ARCH_DISK_POOL                  
MIGRATION                 0 00:08:03.625000 MIS_UNIX_TEMP                      
MIGRATION                 0 00:17:32.433333 MIS_UNIX_PROD                      
MIGRATION                 0 05:48:25.916666 WINDOWS_SAN                        
MIGRATION                 0 15:36:18.633333 DB_DISK_POOL    

I'm not understanding the "avg.duration" part what exactly it means, its the number of minutes taken to complete. Also, if i want it for a particular day..how can i get it.

LVL 68

Expert Comment

ID: 34261885
Yes, it's days hours:minutes:seconds.decimal.places. . .

Basically it means the average duration of the migration processes for a particular storage pool, calculated over all processes recorded in the summary table.

You could add "count(*)" to the query to get the number of processes per pool over which the average value has been calculated.

Issue Q STATUS and look for "Activity Summary Retention Period" to find out over which time period these processes have been recorded.

Attached is an example of a detail report for yesterday, Dec 01, 2010

ENTITY "Pool                                "  from summary -
where -
START_TIME>='12/01/2010 00:00:00' -
and -
START_TIME<='12/01/2010 23:59:59' -
and -
order by ENTITY

Open in new window

LVL 62

Expert Comment

ID: 34268009
hi=100 is a bad idea as it might make clients handle storage shortage
hi=80 lo=20 will protect from such situations.

Author Comment

ID: 34268397
Thanks for you experts suggestions...guys.


I am trying to integrate count(*) with the query but getting following error

"ANR2938E The column 'ACTIVITY' is not allowed in this context; it must either be named in the GROUP BY clause or be nested within an aggregate function.

I am trying to execute this query :

select ACTIVITY, START_TIME, END_TIME, END_TIME-START_TIME "Duration", ENTITY "Pool", count(*) as "Sessions" from summary where START_TIME>='11/30/2010 00:00:00' and START_TIME<='11/30/2010 23:59:59' and ACTIVITY='MIGRATION' order by ENTITY
What is wrong in this query.


LVL 62

Expert Comment

ID: 34268485
You need to reduce difference for SAN and DB pools to make sure migration is not so long
Asking for second time for
 q stgp f=d

LVL 68

Expert Comment

ID: 34268535
count(*) was meant for the first quey I gave you, which is an aggregated query (containing "group by").
The second one is a detail query, and aggregate functions like count(*) are not allowed in such queries.


Author Comment

ID: 34268958
ok sir, got it working now. Thanks for that


Author Closing Comment

ID: 34284961
Splitting the points.

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This article shows how to use a free utility called 'Parkdale' to easily test the performance and benchmark any Hard Drive(s) installed in your computer. We also look at RAM Disks and their speed comparisons.
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question