ADSM-L

Re: dsm.opt not fully effective for server induced backups

2006-04-29 12:22:58
Subject: Re: dsm.opt not fully effective for server induced backups
From: Andrew Raibeck <storman AT US.IBM DOT COM>
To: ADSM-L AT VM.MARIST DOT EDU
Date: Sat, 29 Apr 2006 10:25:47 -0600
> I do not mean to be disagreeable, but my testing has indicated that you
> cannot exclude a drive in Windows with an exclude or exclude.dir
> command.  I use the domain -z: and that works.

Well.... yes and no. It depends on how rigidly or loosely you define the
word "exclude". The short answer is that, at least in TSM terms, you
cannot exclude a drive on Windows, NetWare, or Mac (see addendum 2 near
the bottom of my post).

In TSM, the EXCLUDE option suppresses backup of the named object
regardless of how you attempt the backup. For example, suppose you have
the following:

   exclude z:\myfile

When this option is in effect, you cannot back up c:\myfile. That is, none
of the following will back up this file:

   dsmc incremental
   dsmc incremental z:\myfile
   dsmc selective z:\myfile
   dsmc selective z:\my*
   GUI backup
   etc.

Note, however, that the client still scans the target of the operation
(z:\myfile, z:\my*, from the examples above). It just won't back up
objects that match that target.

Similarly, when you specify the following:

   exclude z:\*
   exclude.dir z:\*

Then run a command like this:

   dsmc incremental z:

The target of the operation (z:) is still scanned. However, objects
matching the above exclude criteria will not be backed up, which is pretty
much everything on z:. Let's look at the EXCLUDE statements a little more
closely:

   exclude.dir z:\*

This says to exclude all directories, as well as their files and
subdirectories, located in the root of z:. Note that this does not cover
files immediately under the root of z:. Only directories (and their files
and subdirectories). So attempting to back up any directory on z: or its
files and subdirectories, will not back up anything.

The other EXCLUDE statement:

   exclude z:\*

prevents the backup of any files immediately below z:\.

So between those two EXCLUDE statements, just about everything on z: is
excluded. The lone exception, that you can't bypass, is the root of z:
itself. Thus the first time you run:

   dsmc incremental z:

You will see this, and only this object get backed up:

   Directory-->                   0 \\amr\c$\ [Sent]

At the same time, note that z: is still scanned by any backup operations
that target z:. It is just that nothing will get backed up.

So... do those two EXCLUDE statements I showed above "exclude" z:? Not as
such, no... the client will still scan z: during the backup. The effect,
though, is that nothing gets backed up.

Now consider this alternative method to "exclude" z:

   domain -z:

If you perform a domain-level backup:

   dsmc incremental

Then z: will be ignored in its entirety. But does this mean that we have
effectively "excluded" z:? Consider these:

   dsmc incremental z:
   dsmc incremental z:\myfile
   dsmc selective z:\ -subdir=yes
   dsmc selective z:\myfile

In all of the above cases, z: will be processed, and, assuming that there
are no EXCLUDE statements to do otherwise, files on z: will indeed be
backed up. This is because the DOMAIN statement affects only domain-level
operations (dsmc incremental or scheduled incremental backups of the
domain).

So does using DOMAIN as shown above "exclude" z:? Technically, no, not in
terms of how TSM defines "exclude".

Bottom line: whichever technique meets your needs is certainly valid.

I hope that this helps to clear things up, and that I didn't muddy the
waters further.

> This may also have to do with versions and other stuff.

Off-hand, I do not recall there being any major issues in past releases
that would affect this behavior, at least not for local drives.

ADDENDUM 1
The originator of this thread originally had a statement like this in the
options file:

   exclude.dir z:\...\*

and I recommended this instead:

   exclude.dir z:\*

I would like to note that these are effectively the same. The former is
redundant, however, since EXCLUDE.DIR for a given directory implies that
the named directory's files and subdirectories are also excluded. Since
"exclude.dir z:\...\*" covers directories in the root of z:, it is
unnecessary to specfiy subdirectories as well. So "exclude.dir z:\*"
should be considered "idiomatic". Also, it's less characters to type. :-)

ADDENDUM 2
When speaking of "excluding drive z: in Windows", what we are really
seeking is the EXCLUDE.FS option that is available to Unix systems (except
Mac OS X). Currently EXCLUDE.FS is not available for Windows, NetWare, or
Mac. So using the EXCLUDE/EXCLUDE.DIR or DOMAIN options are methods for
getting around this limitation.

ADDENDUM 3
DOC APAR IC49067 has been taken to help better explain how to "exclude"
drives on the OSes that do not support EXCLUDE.FS.

Regards,

Andy

Andy Raibeck
IBM Software Group
Tivoli Storage Manager Client Development
Internal Notes e-mail: Andrew Raibeck/Tucson/IBM@IBMUS
Internet e-mail: storman AT us.ibm DOT com

IBM Tivoli Storage Manager support web page:
http://www-306.ibm.com/software/sysmgmt/products/support/IBMTivoliStorageManager.html

The only dumb question is the one that goes unasked.
The command line is your friend.
"Good enough" is the enemy of excellence.