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.