Dump installazione client TSM e DPM su server Suse SLES 9.3

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.

INIT Script per il client Tivoli Storage Manager su piattaforma SUSE

Applicazione:

Il client Tivoli Storage Manager non viene fornito di uno script di INIT per la piattaforma SUSE Linux Enterprise: se ne hai bisogno puoi usare quello che segue.

Spiegazione:

Questo script di INIT consente di far partire il daemon relativo al client acceptor di Tivoli Storage Manager su piattforma SUSE Linux Enterprise.

Script:

Copia il testo qui sotto in un file nominato preferibilmente dsm.

#!/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

DSMCAD_PIDFILE=/var/run/dsmcad.pid
DSMC_PIDFILE=/var/run/dsmc.pid

. /etc/rc.status

# First reset status of this servicerc_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    ;
;
esacrc_exit

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 se vuoi testarlo e lasciarlo partire automaticamente esegui chkconfig dsm on, e controlla le corrispondenti directory /etc/init.d/rcx.d per verificare che il lnk simbolico sia stato creato.