IBM Support

Tivoli Storage Manager V6.x and V7.1 have the potential for data loss if data deduplication is turned off in a storage pool.

Flashes (Alerts)


Abstract

If a storage pool contains deduplicated data and data deduplication is turned off by using UPDATE STGPOOL DEDUPLICATE=NO, there is the potential that data can be missing or later removed from the storage pool erroneously.

Content

Releases affected:
Tivoli Storage Manager server V6.x and V7.1.0 for all platforms
All other releases and levels are unaffected

Required Conditions:

A storage pool must be defined with DEDUPLICATE=YES and deduplicated data is stored in to that storage pool. If the storage pool deduplication is turned off by using UPDATE STGPOOL DEDUPLICATE=NO and more data is stored in the storage pool, it is possible for database entries to be deleted after reclamation is performed. In addition to reclamation, MOVE DATA and MOVE NODEDATA where the source and the target storage pool are the same storage pool can also expose this problem.

The following SELECT statements can be used to list the files that are exposed to this problem:

db2 /x "select 'show invo ' || cast (objid as char(24)) from tsmdb1.backup_objects bk where bk.bfsize > 0 and not exists ( select bfid from tsmdb1.bf_aggregated_bitfiles bf where bf.bfid=bk.objid and bf.srvid=0 ) and not exists ( select bfid from tsmdb1.af_bitfiles af where af.bfid=bk.objid and af.srvid=0 ) and not exists ( select bfid from tsmdb1.df_bitfiles df where df.bfid=bk.objid and df.srvid=0) for read only with ur" >> macro.file

db2 /x "select 'show invo ' || cast (objid as char(24)) from tsmdb1.archive_objects bk where bk.bfsize > 0 and not exists ( select bfid from tsmdb1.bf_aggregated_bitfiles bf where bf.bfid=bk.objid and bf.srvid=0 ) and not exists ( select bfid from tsmdb1.af_bitfiles af where af.bfid=bk.objid and af.srvid=0 ) and not exists ( select bfid from tsmdb1.df_bitfiles df where df.bfid=bk.objid and df.srvid=0) for read only with ur" >> macro.file

db2 /x "select 'show invo ' || cast (objid as char(24)) from tsmdb1.spaceman_objects bk where bk.bfsize > 0 and not exists ( select bfid from tsmdb1.bf_aggregated_bitfiles bf where bf.bfid=bk.objid and bf.srvid=0 ) and not exists ( select bfid from tsmdb1.af_bitfiles af where af.bfid=bk.objid and af.srvid=0 ) and not exists ( select bfid from tsmdb1.df_bitfiles df where df.bfid=bk.objid and df.srvid=0) for read only with ur" >> macro.file

The output from these SELECT statements will generate a list of SHOW INVO commands that can be used as a macro file for the administrative client to display information about the files that are affected by this problem. These select statements will cause a complete table scan for the inventory tables and can take a long time to perform. These statements may be executed while the server is running, however, in that mode they can produce false positives. To identify a false positive the SHOW INVO command will report the object can not be found on the server.

Problem Resolution:
Apply the fixing level when available. This problem is fixed in Tivoli Storage Manager server level 6.2.7.000, 6.3.5.000, and 7.1.0.100 and later for all server platforms by APAR IT02713. For previous versions or levels of the Tivoli Storage Manager server use the circumvention to prevent continued exposure to this problem in storage pools where data deduplication is turned off.

Circumvention:
This problem can be avoided by leaving DEDUP=YES and setting IDENTIFYPROCESSES=0 and turn off client-side data deduplication. This will prevent new deduplicated files from being created in the storage pool and no longer expose the server to this data loss potential.

[{"Product":{"code":"SSGSG7","label":"Tivoli Storage Manager"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Server","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1;6.2;6.3;7.1","Edition":"","Line of Business":{"code":"LOB26","label":"Storage"}}]

Document Information

Modified date:
25 September 2022

UID

swg21677998