Backup to 2 independent TSM servers

It may be desirable to make backups from one TSM client machine to two (2) or more 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 such as fire or theft.

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 two 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, contrary to what the documentation may lead you to believe.

We have found that the configurations shown below on the TSM Linux clients solves the problem.

We have not yet considered how to implement this on Windows clients, but the starting point will be the Managing multiple schedule requirements on one system manual page at

Configurations for 2 TSM servers

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         CAMP_BACKUP
      Nodename        node1
      TCPPort            1500
      Passwordaccess Generate
      Schedlogname /var/log/adsmlog
      Schedlogretention 8
      Schedmode prompted
      INCLEXCL /etc/inclexcl.list

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

The following comments apply to these stanzas:

  • Here the Nodename must of course be changed to that of the client in question.
  • The Servername must match the name of the TSM server at address TCPServeraddress.
  • Specifying the TCPclientport makes sure that a non-default TCP/IP port is used for any non-default server/client pairs.

The TSM system file /opt/tivoli/tsm/client/ba/bin/dsm.opt MUST NOT contain the Servername parameter ! A correct setup may contain, for example:

Tapeprompt no
* Quiet

dsmc command for second TSM server

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

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.

Scheduled backups are performed as usual with 2 instances of dsmc running in parallel. For example, the /etc/inittab file may start the 2 daemons using lines like:

# TSM backup client daemons
tsm::respawn:/usr/local/bin/dsmc sched >/dev/null 2>&1 #TSM scheduler no. 1
tsm2::respawn:/usr/local/bin/dsmc2 sched >/dev/null 2>&1 #TSM scheduler no. 2

IT-wiki: 2_independent_TSM_servers (last edited 2010-10-19 15:20:43 by localhost)