Al via due implementazioni di IBM Tivoli Monitoring

In questi giorni partono, per due clienti distinti, altrettanti progetti che prevedono l’implementazione di una soluzione di monitoraggio basata su IBM Tivoli Monitoring.

Per entrambi il prodotto utilizzato è IBM Tivoli Monitoring Express (la versione express prevede sostanzialmente 2 limiti: va installata su un single server e può gestire al massimo 100 server) nella versione 6.1.

I media di installazione disponibili per i business partner o per i clienti con un contratto passport attivo forniscono la versione 6.1 con fix pack 1 incluso e risalgono a luglio 2006.  Uno sforzo di IBM per fornire dei media più aggiornati sarebbe apprezzabile soprattutto perché siamo già al fix pack 6 e perché installare un fix pack non è proprio user-friendly (per usare un eufemismo). La versione Express si vanta di poter essere installata con un paio di click e in mezz’ora di tempo (tempo necessario a creare database e a popoplare i depots degli agenti): verissimo; peccato che poi per installare un fix pack ci voglia una giornata: leggere il file di istruzioni per credere.

Un altro problema introdotto dall’utilizzo di un media di installazione troppo datato lo si incontra installando il sw su Windows 2003. Terminata l’installazione (circa 40 minuti) va attivata la licenza che trasforma la versione try&buy in una versine regolare. Sorpresa: la licenza non viene riconosciuta e tantomeno attivata. Ricerca sul supporto di IBM e si scopre che a partire dal giugno 2007 la licenza non può essere installata su Windows2003. Come risolvere? Semplice: si disinstalla tutto, si mette l’orologio di sistema prima del giugno 2007, si reinstalla tutto, si rimette a posto l’orologio di sistema (occhio alla eventuule scadenza di password amministrative!): un’ora e mezzo buttata (per la gioia del cliente che è lì con te e sta guardando nell’ottica di un poco redditizio training on the job).

Chi ben comincia è a metà dell’opera, dice il proverbio. IBM con la famiglia Express ha iniziato molto bene, ma …

Molte cose in IBM partono bene, ma poi sembrano essere lasciate un pò troppo a se stesse: magari potrebbere rivedere i propri processi di job rotation affinché questi non impattino così negativamente sui servizi erogati.

Finché a ruotare sono le persone… il problema è quando iniziano a ruotare quelle dei clienti o dei partner.  😆

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.