spatial locality on retrieve

lipi

ADSM.ORG Member
Joined
Jan 14, 2015
Messages
46
Reaction score
0
Points
0
PREDATAR Control23

Tivoli TSM 7.1.5.

I need to retrieve 1000 files. These files are located in multiple tapes.

If I do a "dsmc retrieve -filelist=1000files.txt" , will I get spatial locality benefits? That means: will TSM first investigate where are the files in 1000files.txt located, group them by tape, and then start recovering avoiding unnecessary tape mounts?

And what happens if I want to parallelize dsmc retrieve? Should I create a set of scripts to first indentify location of files in tapes for then applying dsmc retrieves?


Best regards
 
PREDATAR Control23

TSM will process the files to be retrieved as presented, i.e., sequentially. This means one or more tapes will be alternatively be loading and unloading.

The best way is to try to group the files by tape volume, create and save multiple file.txt and fire up multiple restore sessions by file.txt group.
 
PREDATAR Control23

TSM will process the files to be retrieved as presented, i.e., sequentially. This means one or more tapes will be alternatively be loading and unloading.

The best way is to try to group the files by tape volume, create and save multiple file.txt and fire up multiple restore sessions by file.txt group.

:/

How can a client know on which tape does he have a file? Does dsmc provide such a command? I cannot find it.
 
PREDATAR Control23

There is no native TSM command for this. You need to come up with a select query that digs information between files names (names MUST have complete path) and where this are stored.

I tried this once and the query is takes too long. Might not be worth it for long files lists. Trying to dig in for the select statement so I can share.

It would be easy if you have node collocation enabled.
 
PREDATAR Control23

Try this select command:

Code:
select occ.filespace_name,occ.node_name,vu.volume_name from occupancy as occ,volumeusage as vu where (occ.node_name=vu.node_name and occ.node_name='NODENAME') and (occ.filespace_name=vu.filespace_name) order by occ.node_name

this will give you a listing of all volumes that has data for the given node. If you want to be filespace specific rather than node name specific:

Code:
select occ.filespace_name,occ.node_name,vu.volume_name from occupancy as occ,volumeusage as vu where (occ.node_name=vu.node_name) and (occ.filespace_name=vu.filespace_name and occ.filespace_name='PATH_OF_FILE_CASE_SENSITIVE') order by occ.filespace_name
 
Top