Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


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...
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks


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

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Question has a verified solution.

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

Workplace bullying has increased with the use of email and social media. Retain evidence of this with email archiving to protect your employees.
The article will include the best Data Recovery Tools along with their Features, Capabilities, and their Download Links. Hope you’ll enjoy it and will choose the one as required by you.
This tutorial will walk an individual through the process of configuring basic necessities in order to use the 2010 version of Data Protection Manager. These include storage, agents, and protection jobs. Launch Data Protection Manager from the deskt…
This tutorial will show how to configure a new Backup Exec 2012 server and move an existing database to that server with the use of the BEUtility. Install Backup Exec 2012 on the new server and apply all of the latest hotfixes and service packs. The…

636 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