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 http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic=/com.ibm.itsmfdt.doc/ans50000502.htm.
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 TCPServeraddress tsm1.example.com Passwordaccess Generate Schedlogname /var/log/adsmlog Schedlogretention 8 Schedmode prompted INCLEXCL /etc/inclexcl.list Servername CAMD_TSM2 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
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 DOMAIN ALL-LOCAL
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:
#!/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.
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