Question
How do I configure multiple dsmcad instances to start automatically on a single Linux host?
Answer
Under certain circumstances, it may be beneficial to use multiple dsmcad schedule services on a single Linux client host. This document describes the requirements to configure multiple dsmcad instances to run and start automatically at system start:
1. Create two unique node stanzas in the dsm.sys file (by default, this is located in /opt/tivoli/tsm/client/ba/bin/):
# cat /opt/tivoli/tsm/client/ba/bin/dsm.sys
SErvername node1
COMMMethod TCPip
TCPPort 1500
TCPServeraddress localhost
nodename node1
errorlogname /opt/tivoli/tsm/client/ba/bin/dsmerror-node1.log
schedlogname /opt/tivoli/tsm/client/ba/bin/dsmsched-node1.log
managedservices webclient sched
httpport 1581
passwordaccess generate
SErvername node2
COMMMethod TCPip
TCPPort 1500
TCPServeraddress localhost
nodename node2
errorlogname /opt/tivoli/tsm/client/ba/bin/dsmerror-node2.log
schedlogname /opt/tivoli/tsm/client/ba/bin/dsmsched-node2.log
managedservices webclient sched
httpport 1582
passwordaccess generate
NOTE: It may be beneficial to include certain includes/excludes to differentiate these nodes. Otherwise, the same data be be backed up using the two node names.
2. Create two dsm.opt files, one for each node (by default these will be located in /opt/tivoli/tsm/client/ba/bin):
# cat /opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
servername node1
# cat /opt/tivoli/tsm/client/ba/bin/dsm-node2.opt
servername node2
3. Enable passwordaccess generate by logging in with the credentials for both nodes:
# dsmc q sess -optfile=dsm-node1.opt
...
# dsmc q sess -optfile=dsm-node2.opt
...
4. Make two copies of the default rc.dsmcad init script (by default, this script is located in /opt/tivoli/tsm/client/ba/bin):
# cp /opt/tivoli/tsm/client/ba/bin/rc.dsmcad /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node1
# cp /opt/tivoli/tsm/client/ba/bin/rc.dsmcad /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node2
5. Edit rc.dsmcad-node1:
- Change this line for RHEL distributions::
daemon $DSMCAD_BIN
- To be this:
daemon $DSMCAD_BIN -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
- Change this line for SLES distributions:
startproc $DSMCAD_BIN
- To be this:
startproc $DSMCAD_BIN -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
6. Edit rc.dsmcad-node2:
- Change this line on RHEL distributions:
daemon $DSMCAD_BIN
- To be this:
daemon $DSMCAD_BIN -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node2.opt
- Change this line for SLES distributions:
startproc $DSMCAD_BIN
- To be this:
startproc $DSMCAD_BIN -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node2.opt
7. Create new links in /etc/init.d/ to point to the 2 new rc.dsmcad init scripts. This allows the Linux init service to start the dsmcad services at system start:
# ln -s /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node2 dsmcad-node2
# ln -s /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node1 dsmcad-node1
# ls -la dsm*
lrwxrwxrwx. 1 root root 45 Aug 2 08:04 dsmcad-node1 -> /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node1
lrwxrwxrwx. 1 root root 45 Aug 2 08:04 dsmcad-node2 -> /opt/tivoli/tsm/client/ba/bin/rc.dsmcad-node2
8. Register the 2 new rc scripts with chkconfig:
# chkconfig --add dsmcad-node1
# chkconfig --add dsmcad-node2
9. Test the configuration with “service start” to make sure the scripts load and start without issue:
# service dsmcad-node1 start
Starting dsmcad-node1: [ OK ]
# service dsmcad-node2 start
Starting dsmcad-node2: [ OK ]
# ps -ef | grep dsmcad
root 2689 1 0 09:04 ? 00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
root 2719 1 0 09:04 ? 00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node2.opt
10. Reboot and confirm that the two dsmcad instances started automatically:
# ps -ef | grep dsmcad
root 1830 1 0 09:14 ? 00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
root 1856 1 0 09:14 ? 00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=/opt/tivoli/tsm/client/ba/bin/dsm-node2.opt