|
ContentsIndex |
To get a script in the cluster framework, specifically in our case, one that starts and stops IBM Tivoli Storage Manager's (TSM) Distributed Service Manager (DSM) scheduler, several steps were needed. The most critical for me was to stop following the TSM manual where it was telling me that all configurations files and all scripts for starting and stopping the TSM scheduler must be on shared storage. This simply doesn't work. The dsm.opt file for each TSM node (note that a TSM node is different to, and not a cluster node!) can and generally should be on shared storage, mainly for consistency. The scripts for starting, stopping and probing the TSM services, however, need to be local and present on every node at all times. This availability of the scripts is what the cluster framework needs in order to add the resource into the cluster. If the script wasn't available on all nodes when I tried to create the resource, cluster spat the dummy. After setting up the scripts and manually testing the TSM client to make sure the configuration was correct on all nodes, it was possible to add a new resource to the cluster of type SUNW.gds - a general data service. To add the scripts as a GDS resource into the cluster, the following command does the job: # clresource create -g www-rg -t SUNW.gds \ So in this example, the script /etc/init.d/dsm.scheduler.cluster.sh is located on local storage on all nodes and is identical across all nodes. The script is shown below. The file /zones/webdata/tsm/dsm.opt is located on shared storage and switches between nodes in the event of a failover. When the resource group starts on a different node, the script is run and the resource comes online. Curiously, the dsmcad daemon process The script to start, stop, and probe the DSM client is shown below. The script could definitely be done better, however, it works. I've also noticed it may be possible to directly start and stop the scheduler process, dsmc, using the script. I haven't tried this. However, I'm sure it would work. Note that I include this script for informational purposes only, I don't promise that it will work for you. #!/bin/ksh # Generally, we should start up with something like this: # set the necessary environment variables so that TSM doesn't vomit # work out which argument is the command and which the config file # now check what we want to do. /opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=$DSM_CONFIG 'stop') 'probe') *) esac |
Comments (1)
May 08, 2009
barthw says:
Hello. This works well. However, one thing that I have noticed is, for som...Hello.
This works well. However, one thing that I have noticed is, for some reason dsmcad wants to write its logfile to / ... This causes an error and prevents dsmcad from starting, causing the RG to fail and eventually go offline. To get around this, I snuck a "cd /var/tmp" on the line before the "/opt/tivoli/tsm/client/ba/bin/dsmcad -optfile=$DSM_CONFIG" in the start directive.
Have you seen this behaviour at all?
I had attempted to adjust the logfile locations in the dsm.opt/dsm.sys file, but that didn't seem to help either ...
Thanks,
-b.