Tivoli Storage Manager client software

This page describes Tivoli Storage Manager (TSM) backup software installation on client machines (servers as well as PCs).

Download of TSM software

TSM client software can be downloaded from IBM (get patches here) and we store some relevant Linux/UNIX versions locally in /home/data/TSM/ and Windows versions in \\serv309\WindowsXP\TSM\5.3.

TSM documentation

TSM documentation is available on-line from IBM's Tivoli Documentation site.

There is a TSM (formerly named ADSM) user forum at http://www.adsm.org/forum/cmps_index.php including mailing lists at http://adsm.org/lists/html/.

There is a useful set of TSM FAQs at http://www.oucs.ox.ac.uk/hfs/help/index.xml

Define new TSM clients in the TSM server

If you want to add a new TSM client machine, which wasn't registered previously on the central TSM server, you have to register the machine on the TSM server.

Use the procedures Backup of TSM client nodes described in TSM-server-configuration.

Installing Linux TSM client software

Unpack the tar-ball into a new subdirectory. The TSM tar-ball contains several RPM packages, and you need to install:

mkdir TSM
cd TSM
(copy the TSM tar-ball here)
tar xvf 6.1.3.4-TIV-TSMBAC-LinuxX86.tar
chown -R root.root .
chmod 644 *
rpm -ivh TIVsm-BA.i386.rpm TIVsm-API.i386.rpm

Some configuration files must be created in the TSM client directory /opt/tivoli/tsm/client/ba/bin and they are:

  • dsm.sys: Set the Nodename to the machine's hostname. Set Servername to TSM server's name Set TCPServeraddress to TSM server's DNS hostname
  • dsm.opt: Modify the DOMAIN line to include the desired filesystems.

and /etc/inclexcl.list:

  • inclexcl.list: Filename patterns which should/should not be backed up. The list is read from the bottom up, and the patterns take some getting used to :-) Modify this (if needed) for the types of files that should be backed up.

The easiest way is to copy these 3 files from a working TSM client and edit them.

TSM prerequisites

It seems that the TIVsm-API RPM requires this package:

compat-libstdc++-33

TSM client v6.2

The TSM client v6.2 requires an auxiliary IBM Global Security Kit (GSKit) contained in RPM packages gskcrypt32 or gskcrypt64, see Installing the Tivoli Storage Manager Linux x86/x86_64 client. The RPMs are delivered with the TSM client v6.2 tar-ball, so install them before the TSM packages by:

rpm -ivh gskcrypt32-8.0.13.4.linux.x86.rpm gskssl32-8.0.13.4.linux.x86.rpm

Modify default language environment

With the default setup, files that contain national characters (such as æ ø å) will not be backed up ! You will find an error message in /dsmerror.log like this one:

07/10/07   00:00:51 ANS4042E Object name '/u/fysadm/findinge/ifakjf/mail/Hjælpelærere' contains one or more unrecognised characters and is not valid.

You need to modify the Locale setting as explained in http://www.oucs.ox.ac.uk/hfs/help/kb.xml.ID=ANS4042E

We have created this wrapper script /usr/local/bin/dsmc which should be used in stead of /usr/bin/dsmc:

#!/bin/sh

# Execute Tivoli Storage Manager command, but set the proper Locale first
# See http://www.oucs.ox.ac.uk/hfs/help/faq/index.xml.ID=locale

echo Setting Locale to en_US
export LANG=en_US
export LC_ALL=en_US

exec /opt/tivoli/tsm/client/ba/bin/dsmc $*

The easiest way is to copy this file from a working TSM client.

Fix TSM messages repository

Also, the TSM messages may not have been installed correctly. If you get the error:

# dsmc
ANS9999E amsgrtrv.cpp(3087): Message No 11000 could not be found.
ANS9999E amsgrtrv.cpp(3087): Message No 11000 could not be found.
ANS0101E Unable to open English message repository 'dsmclientV3.cat'.

then consult http://adsm.org/forum/showthread.php?t=3809 and do:

cd /opt/tivoli/tsm/client/ba/bin
ln -s /opt/tivoli/tsm/client/lang/en_US    # TSM v.5
ln -s /opt/tivoli/tsm/client/lang/EN_US    # TSM v.6

Log in to the TSM server for the first time

The first time the client logs in to the TSM server the node's password must be given. For Linux clients we use the username root (and the "SECRET" password):

# dsmc
Setting Locale to en_US
IBM Tivoli Storage Manager
Command Line Backup/Archive Client Interface
  Client Version 5, Release 5, Level 1.10
  Client date/time: 05/01/2009 11:33:51
(c) Copyright by IBM Corporation and other(s) 1990, 2008. All Rights Reserved.

Node Name: YMER
Please enter your user id <YMER>: root

Please enter password for user id "ROOT":

Session established with server CAMD_TSM2: Linux/i386
  Server Version 5, Release 5, Level 2.0
  Server date/time: 05/01/2009 11:33:51  Last access: 05/01/2009 11:29:20

tsm>

When you enter the TSM client password, TSM stores it permanently in the file /etc/adsm/TSM.PWD for future logins.

Automatic backups on RHEL5

In order to have automatic backups initiated nightly by the central server, the following daemon process lines should be appended to /etc/inittab on RHEL5 (and older):

# TSM backup daemon
adsm::respawn:/usr/bin/dsmc sched >/dev/null 2>&1 # TSM scheduler

Run telinit q to have the system respawn the dsmc daemon process.

Automatic backups on RHEL6

The dsmc daemon should be started from the init system as above for RHEL5, however, RHEL6 has a new init system Upstart instead of inittabs, see man 5 init. The configuration files for init are located in the /etc/init/ directory. A sample /etc/init/dsm-sched.conf daemon startup script is:

# dsm-sched
# This service starts the Tivoli Storage Manager "dsmc sched" backup
# process and respawns it as the scheduled backup happens or the
# dsmc process gets killed or dies.
start on runlevel [2345]
stop on runlevel [016]
respawn
exec /usr/bin/dsmc sched >/dev/null 2>&1

See also TSM for 32 or 64 bit debathena or Ubuntu - Install, Configure, Set Up and Confirm the Scheduler for TSM.

A slightly more sophisticated version sets up required environment variables:

# dsm-sched
# This service starts the Tivoli Storage Manager "dsmc sched" backup
# process and respawns it as the scheduled backup happens or the
# dsmc process gets killed or dies.
start on runlevel [2345]
stop on runlevel [016]
respawn
respawn limit 10 120
script
      export LANG=en_US
      export LC_ALL=en_US
      exec /opt/tivoli/tsm/client/ba/bin/dsmc sched >/dev/null 2>&1
end script

Ask init to reload the new service:

initctl start dsm-sched
Firewall on RHEL6

In order for the automatic backup to work, the TSM server must be able to contact the TSM client. Therefore the following lines should be added to /etc/sysconfig/iptables:

# Permit our TSM backup servers
-A INPUT -s <server-IP> -j ACCEPT

and the iptables service must be restarted.

Automatic backups on RHEL7

The dsmc daemon should be started from the Systemd system. The configuration files for Systemd are located in the /usr/lib/systemd/system directory. A sample /usr/lib/systemd/system/dsmc.service service startup script is:

[Unit]
Description=Tivoli Storage Manager client daemon
After=firewalld.service NetworkManager.service network.target

[Service]
Environment="LANG=en_US" "LC_ALL=en_US"
ExecStart=/opt/tivoli/tsm/client/ba/bin/dsmc sched

[Install]
WantedBy=basic.target

Ask Systemd to start the new service:

systemctl start dsmc
Firewall on RHEL7

In order for the automatic backup to work, the TSM server must be able to contact the TSM client. Therefore the following firewall command should be run:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 0 -s <server-IP>/32 -j ACCEPT

and the firewalld service must be restarted.

Missing /dsmerror.log

The dsmc process sometimes aborts with an error in /var/log/messages like this: /dsmerror.log. errno = 13 , Permission denied. This problem is fixed by:

touch /dsmerror.log

Upgrading TSM client software

Some issues arise when upgrading the TSM client from 5.3.0.0 to later versions.

error while loading shared libraries: libgpfs.so

If you get the message:

dsmc: error while loading shared libraries: libgpfs.so: cannot open shared object file: No such file or directory

then you need to install /etc/ld.so.conf.d/tsm.conf containing the line:

/opt/tivoli/tsm/client/api/bin

and run the command:

ldconfig

TSM Java client

The graphical TSM client user interface is (in recent TSM versions) a Java client /usr/bin/dsmj. A prerequisite for dsmj is the j2re Java runtime environment. Check its presence by:

# rpm -q j2re

and install it in case it's missing.

Backup to multiple TSM servers

It may be desirable to make backups from one TSM client machine to two (2) independent TSM servers. The reason for this idea is to provide redundancy, in the event that one of the TSM servers become unavailable due to some breakdown or damage.

For this purpose we use the technique Managing multiple schedule requirements on one system (an older but more complete text is here) in the TSM Linux client manual appendix A.

We modify the example configurations in the manual so that the two independent TSM client daemons use different configurations pointing to different TSM servers. The two TSM servers require no special configuration for this setup, it's all defined on the TSM clients. Of course, the clients must be defined in both TSM servers in a similar way, and they can have the same name in both TSM servers.

We have not yet considered how to implement this on Windows TSM clients, but the starting point will be the Managing multiple schedule requirements on one system manual page at http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic=/com.ibm.itsmfdt.doc/ans50000502.htm.

Configurations for 2 TSM servers

At FYS we have found the following configurations on the TSM Linux clients:

The TSM system file /opt/tivoli/tsm/client/ba/bin/dsm.sys must contain multiple stanzas, one for each TSM server that the client may use, so that the client will know how to connect to a given TSM server name, for example:

Servername         TSMSERVER1
      Nodename        node1
      TCPPort            1500
      TCPServeraddress   tsm1.example.com
      Passwordaccess Generate
      Schedlogname /var/log/adsmlog
      Schedlogretention 8
      Schedmode prompted
      INCLEXCL /etc/inclexcl.list

Servername         TSMSERVER2
      Nodename        node1
      TCPPort            1500
      TCPclientport           1508
      TCPServeraddress   tsm2.example.com
      Passwordaccess Generate
      Schedlogname /var/log/adsmlog2
      Errorlogname /var/log/adsmerrlog2
      Schedlogretention 8
      Schedmode prompted
      INCLEXCL /etc/inclexcl.list

Here the Nodename must of course be changed to that of the client in question. Specifying the TCPclientport makes sure that a non-default TCP/IP port is used for any non-default server/client pairs. If the TSM client has a firewall implemented, then remember to open the TCPclientport 1508 in the firewall (the file /etc/sysconfig/iptables on RHEL Linux).

The TSM system file /opt/tivoli/tsm/client/ba/bin/dsm.opt must NOT contain the Servername parameter, a correct setup may contain:

Tapeprompt no
* Quiet
DOMAIN "/" "/u"
* DOMAIN ALL-LOCAL

A wrapper around the dsmc command is used to use the second server. The file /usr/local/bin/dsmc2 contains:

#!/bin/sh
export LANG=en_US
export LC_ALL=en_US
# Configure the non-default TSM server
exec /opt/tivoli/tsm/client/ba/bin/dsmc $* -servername=CAMD_TSM2

Notice that the command arguments $* precede the -servername flag.

Performing backups of Linux TSM clients

Configuration of dsmc

There does not seem to exist a manual page for the dsmc command with all of the available command flags.

Configuration of the dsmc command is explained in http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic=/com.ibm.itsmfdt.doc/ans5000061.htm, see also http://www.wu-wien.ac.at/manuals/adsmdoc/adsmunix/cp5ec517.htm.

The relevant environment variables are:

  • DSM_DIR

    Points to the executable files dsmtca and dsmstat, the resource files, and the dsm.sys file.

  • DSM_CONFIG

    Points to the client user options file for users who create their own personalized file.

  • DSM_LOG

    Points to the directory where you want the dsmerror.log file to reside. The error log file contains information about any errors that occur during processing.

In addition, if you have more than one ADSM server available to you, and you want to contact a different server for backup-archive services than the one specified in your client user options file, you can specify the server with the SERVERNAME option. For example:

dsmc -servername=server_b

You can also specify an options file by -optfile:

dsmc query session -optfile=myopts.opt

see http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic=/com.ibm.itsmfdt.doc/ans50000340.htm

Incremental backup

Run the TSM command-line backup client:

# dsmc i

The first time dsmc is run it will ask for the node's password, and this is usually the superuser password.

Backup of NFS automount directories

Automounted NFS directories on Linux clients will not get backed up, unless the filesystem happens to be mounted for some reason.

To make dsmc perform the NFS automount you must specify in the /opt/tivoli/tsm/client/ba/bin/dsm.opt file the AUTOMOUNT option for all automounted filesystems:

AUTOMOUNT /home/camp /home/mic

There is a TSM AUTOMOUNT option documentation. See IC65085: TIVOLI STORAGE MANAGER UNIX AND LINUX B/A CLIENT AUTOMOUNT AND DOMAIN ALL-AUTO-NFS / ALL-AUTO-LOFS OPTIONS CLARIFICATION for details.

Installing Windows TSM client software

The latest Tivoli Storage Manager software level is 5.4. We have downloaded the software to \\serv309\WindowsXP\TSM\5.4. Execute the file 5.4.0.2-TIV-TSMBAC-WinX32.exe (or newer) and select default options.

After installing the software, start the Tivoli Storage Manager->Backup-Archive GUI tool and configure the software using the TSM wizard Backup Archive Client:

  1. Select Create new options file.
  2. Set the TSM Nodename to the user's username (by convention; we assume that this nodename has been created in the TSM server).
  3. Set communication type to TCP/IP.
  4. Set Server address to TSM server hostname.
  5. In the Recommended Include/Exclude List choose Unselect all.
  6. In the Common File Exclusion Selection choose Unselect all.
  7. In the Domain for Backup, make sure that the checkbox Back up all local file systems is unchecked.

    Highlight only the C: harddisk (with the PC's name in parentheses).

    Make sure to unselect SYSTEMOBJECT and other kinds of devices. This is important because the SYSTEMOBJECT causes TSM to attempt to backup the entire PC, with many backup errors as a consequence.

  8. Click Finish.

Configuring logging

The TSM logfiles in file://C:/Program Files/Tivoli/TSM/baclient/ can become very large. Therefore you should configure the TSM client to clean up logfile entries:

  • In the Backup-Archive GUI window select Preferences.
  • In the Edit -> Preferences window select the tab Scheduler.
  • Press the button Select... to the right of the Schedule log.
  • In the Log file names and locations window select put a check mark in Prune old entries and set Prune entries older than to a few days and do not check Save pruned entries.
  • Press OK a couple of times to save the settings.

Restoring data

If the user data need to be restored at this point, start the TSM GUI and:

  • Select Actions -> Restore
  • Select View -> Display active/inactive files (if you don't do this, all deleted files will appear to be missing !).
  • Select files in File Level and click Restore.

Configuring TSM scheduler

If you want this PC to be backed up automatically every day at noon, this TSM node must be defined in the Noon backup schedule in the TSM server. Furthermore, the PC must run a TSM client scheduler process which will be contacted by the TSM server.

Configure the TSM Scheduler from the TSM GUI Utilities->Setup Wizard, choosing Help me configure the TSM Client Scheduler. Choose default values except for:

  • Name of TSM scheduler: Noon_backup
  • Enter the TSM node's password at the appropriate prompt.
  • Service login options: For When do you want the service to start select Automatically when Windows boots.

When the scheduler has started, you must also change some Windows firewall settings as shown below.

Windows XP SP2 firewall settings

The TSM client scheduler on the Windows XP PC will be blocked by the Windows Firewall, if Windows XP Service Pack 2 (SP2) has been installed. This means that the central TSM scheduler will be unable to contact the client PC, and no backup will be done.

IBM offers advice on Windows XP Service Pack 2 firewall setting for TSM Client saying how to allow TSM through the firewall.

For Web Client, Scheduler Service /w prompted mode managed by the CAD:

  1. Bring up Control Panel.
  2. Double click on Windows Firewall.
  3. Click on the Exceptions Tab.
  4. Click on Add Program.
  5. Click on the Browse button.
  6. Select the file “dsmcad.exe” from the installation directory. Default is C:\Program Files\Tivoli\TSM\baclient\dsmcad.exe.
  7. The focus will shift back to the Firewall Exception Tab once the executable is selected. Hit OK to finish the process.

For Scheduler Service /w prompted mode NOT managed by the CAD (this is what we normally use):

  1. Follow the above steps.
  2. In step 6, look for the file “dsmcsvc.exe” instead of “dsmcad.exe”.

For Command Line Scheduler /w prompted mode:

  1. Follow the above steps.
  2. In step 6, look for the file “dsmc.exe” instead of “dsmcad.exe”.

An alternative solution suggested is to use TSM polling mode:

  • Determine and reset this by starting up the Backup/Archive GUI program and clicking Edit --> Preferences --> Scheduler and make sure the Polling radio button is selected.

Performing backup of Windows TSM clients

Start the program Program Files->Tivoli->TSM GUI and select Backup. Choose Local to back up the local hard disk.

Sending backup reports to users

Individual users of PCs that have TSM backup should receive daily reports in case there is some error in the backup of the PC (for example, large files that were omitted from backup).

It would be nice if a report of files that were not backed up could be generated on the TSM server, but this doesn't seem to be possible.

Therefore we run a daily cron-script on the TSM server which will send mail to users. It will simply inform the user about the backup status, and the user will then have to open the file C:/Program Files/Tivoli/TSM/baclient/dsmerror.log to see the actual errors.

IT-wiki: TSM_client (last edited 2015-08-25 13:11:52 by OleHolmNielsen)