Per un cliente del fabrianese ho recentemente curato l’installazione e la configurazione di un client Tivoli Storage Manager e del Tivoli Data Protection for Mail su un server con OS Suse SLES 9.3
I pacchetti del TSM installati erano versione 5.4.1-2
L’installazione è stata eseguita remotamente con una connessione ssh al server.
Ho appoggiato i pacchetti su un server http e li ho scaricati dal server SUSE con un comando wget creando alcune directory di servizio sotto /root
Tutti i pacchetti erano in formato RPM tranne il DPM il cui installer era in formato eseguibile.
Installazione delle api 5.4.1-2 con il comando rpm -Uvh
Installazione del client BA versione 5.4.1-2 con il comando rpm -Uvh
Installazione dei file dei messagi in italiano versione 5.4.1-2 con il comando rpm -Uvh
Dopo aver creato il file di ocnfigurazione /opt/tivoli/tsm/client/ba/bin/dsm.sys lanciando il comando dsmc per testare la corretta installazione veniva fuori il seguente errore.
Errore di shared library libgpfs.so non trovata al lancio di dsmc. Quindi:
- Esecuzione di ldconfig
- Edit del file /etc/ld.so.conf
- Aggiunta della riga /opt/tivoli/tsm/client/api/bin
Creazione del link simbolico
dsm.sys -> /opt/tivoli/tsm/client/ba/bin/dsm.sys
nella directory
/opt/tivoli/tsm/client/api/bin
Esecuzione di TDP-Domino.i386.bin dalla directory /dpd/LK4T-3781-00/domino/linux86 con l’opzione –i perché non siamo su X
./ TDP-Domino.i386.bin –i console
./ TDP-Domino.msg.it_IT.i386.bin –i console
Esecuzione di dominstall dalla directory /opt/tivoli/tsm/client/domino/bin
./dominstall -console
Aggiunta al file /local/notesdata/.profile delle variabili contenute nel file
/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/<notes_user>.profile
NOTA: <notes_user> va sostituito con l’utente sotto cui gira Domino.
export DSMI_LOG=/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user> export DSMI_CONFIG=/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/dsm.opt export DOMI_DIR=/opt/tivoli/tsm/client/domino/bin export DOMI_LOG=/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user> export DOMI_CONFIG=/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/domdsm.cfg alias domdsmc=domdsmc_<notes_user> export PATH=/opt/ibm/lotus/bin:/local/notesdata:$PATH |
Aggiunta anche la seguente parte:
export LANG=it_IT export LC_CTYPE=it_IT |
File dsm.sys finale:
SErvername server_a COMMMethod TCPip TCPPort 1500 TCPServeraddress xxx.yyy.zzz PASSWORDACCESS GENERATE MANAGEDSERVICES SCHEDULE WEBCLIENT SCHEDLOGNAME /var/log/dsmsched.log SCHEDLOGRETENTION 15 D ERRORLOGNAME /var/log/dsmerror.log ERRORLOGRETENTION 15 D NODENAME ????? DOMNODE /opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/domdsm.cfg SERVERNAME server_a_<notes_user> COMMMETHOD TCPip TCPPORT 1500 TCPSERVERADDRESS xxx.yyy.zzz PASSWORDACCESS GENERATE SCHEDLOGNAME /var/log/dsmsched.log SCHEDLOGRETENTION 15 D ERRORLOGNAME /var/log/dsmerror.log ERRORLOGRETENTION 15 D PASSWORDDIR /opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user> NODENAME ?????_DOMINO |
Creazione del Tivoli Storage Manager client acceptor daemon
File di init da creare nela directory /etc/init.d
Nominarlo dsm
Salva il file in /etc/init.d/ assegnandogli i permessi chmod 755. Poi esegui chkconfig dsm cosicché il comando venga inserito negli opportuni runlevels. Inoltre esecuzione di chkconfig dsm on (esecuzione automatica), e verifica delle corrispondenti directory /etc/init.d/rcx.d per verificare che il lnk simbolico sia stato creato.
#!/bin/sh ### BEGIN INIT INFO # Provides: dsm # Required-Start: $network $syslog $remote_fs # Required-Stop: $network $syslog $remote_fs # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Tivoli Storage Manager client acceptor daemon ### END INIT INFO # Check for existence of Binaries DSMC_BIN=/opt/tivoli/tsm/client/ba/bin/dsmc DSMCAD_BIN=/opt/tivoli/tsm/client/ba/bin/dsmcad test -x $DSMC_BIN || { echo “$DSMC_BIN not installed”; if [ “$1” = “stop” ]; then exit 0; else exit 5; fi; } test -x $DSMCAD_BIN || { echo “$DSMCAD_BIN not installed”; if [ “$1” = “stop” ]; then exit 0; else exit 5; fi; } prog1=”dsmcad” prog2=”dsmc” export DSM_DIR=/opt/tivoli/tsm/client/ba/bin export DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt # senza gli export qui sotto si riceve un errore quando si carica il web client (applet) # inoltre server per i nomi dei file con caratteri italiani tipo è ò à export LANG=it_IT export LC_CTYPE=it_IT DSMCAD_PIDFILE=/var/run/dsmcad.pid DSMC_PIDFILE=/var/run/dsmc.pid . /etc/rc.status # First reset status of this service rc_reset case “$1” in start) echo -n $”Starting $prog2: ” startproc -f -p $DSMC_PIDFILE $DSMC_BIN sched >/dev/null 2>/dev/null rc_status -v echo -n $”Starting $prog1: ” startproc -f -p $DSMCAD_PIDFILE $DSMCAD_BIN >/dev/null 2>/dev/null rc_status -v ;; stop) echo -n $”Stopping $prog2: ” killproc -p $DSMC_PIDFILE -TERM $DSMC_BIN rc_status -v echo -n $”Stopping $prog1: ” killproc -p $DSMCAD_PIDFILE -TERM $DSMCAD_BIN rc_status -v ;; restart) $0 stop $0 start rc_status ;; status) echo -n “Checking for DSMC” checkproc $DSMC_BIN rc_status -v echo -n “Checking for DSMCAD” checkproc $DSMCAD_BIN rc_status -v ;; *) echo “Usage: $0 {start|stop|restart|status}” exit 1 ;; esac rc_exit |
Modifica dei permessi ai files dsm* contenuti in /var/log affinché anche l’utente <notes_user> possa accederli in scrittura.
Test del data protection for domino
->su – <notes_user>
verifica delle variabili di ambiente con il comando env
Esecuzione dei seguenti comandi
->domdsmc query adsm -configfile=/opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/domdsm.cfg -adsmpwd=<password>
->domdsmc q adsm
->domdsmc q domino
Esecuzione del backup della names.nsf da riga di comando
->domdsmc sel names.nsf
Collegamento all’interfaccia web ed esecuzione del backup del db mail\xxxx.nsf
Collegamento all’interfaccia web ed esecuzione del backup di tutto il filesystem fatta eccezione per la directory /local/notes data
Creazione del command per la schedulazione di domino
Il file è /opt/tivoli/tsm/client/domino/bin/domdsmc_<notes_user>/domsel.sh
#!/bin/bash # # =================================================================== # domsel.smp command file # # Command file containing commands to do a scheduled selective backup # of Domino Databases to IBM Tivoli Storage Manager. # # This file is meant to be executed by the IBM Tivoli Storage Manager # central scheduler in response to a defined schedule on the IBM Tivoli # Storage Manager server. # # Complete paths must be given for all file names and non-system # commands. # =================================================================== # Update DOM_ID with your Domino Server ID # =================================================================== DOM_ID=<notes_user> export DOM_ID_DIR=/opt/tivoli/tsm/client/domino/bin/domdsmc_${DOM_ID} # =================================================================== # Put a date and time stamp in a log file for yourself. # # Note: You can change “domsched.log.sel” to whatever you prefer # =================================================================== date >> ${DOM_ID_DIR}/domsched.log.sel # =================================================================== # Now call the commandline to do the backups. # # Notes: # 1) You can change “domsel.log” to whatever you prefer # 2) domdsmc must be run by the Domino Server ID. If the scheduler # is started from /etc/initab, root is the id that will be running # this script. For this situation, we need to “su” to the Server # ID before running domdsmc. # # =================================================================== iam=`whoami` if [ ${iam} = “root” ] then su – ${DOM_ID} -c “/opt/ibm/lotus/bin/domdsmc_${DOM_ID} selective “‘”*”‘” -subdir=yes -adsmoptfile=${DOM_ID_DIR}/dsm.opt -logfile=${DOM_ID_DIR}/domsel.log” >>${DOM_ID_DIR}/domsched.log.sel & else /opt/ibm/lotus/bin/domdsmc_${DOM_ID} selective ‘*’ -subdir=yes -adsmoptfile=${DOM_ID_DIR}/dsm.opt -logfile=${DOM_ID_DIR}/domsel.log >>${DOM_ID_DIR}/domsched.log.sel & fi |
Creazione sul server Tivoli Storage Manager della schedulazione SCHED_DOMINO_SUSE nel gruppo POL_DOM_SERVER associata al nodo ?????? (vedi il file dsm.sys definito in precedenza) per l’esecuzione del precedente comando.
Test della schedulazione.