Humboldt-Universität zu Berlin - Computer- und Medienservice

TSM-Client Konfiguration - UNIX, Linux

Hinweise und Anleitungen zur Installation und Konfiguration des TSM-Clients für UNIX und Linux (Debian, Ubuntu) mit CLI (dsm.opt, dsm.sys)

 

UNIX, Linux (Debian, Ubuntu)

Die Konfiguration muss als root durchgeführt werden!
 

Der TSM-Client besitzt zwei Konfigurationsdateien, diese befinden sich im Verzeichnis

/opt/tivoli/tsm/client/ba/bin

dsm.sys (Clientsystemoptionsdatei)

dsm.opt (Clientbenutzeroptionsdatei)
 


Folgende Informationen bekommen Sie von uns, die in den Konfigurationsdateien editiert werden müssen:

SErvername

TCPServeraddress

NOdename

 

Beispiel dsm.sys (Clientsystemoptionsdatei)

************************************************************************
* Tivoli Storage Manager                                               *
*                                                                      *
* Sample Client System Options file for UNIX (dsm.sys.smp)             *
************************************************************************

*  This file contains the minimum options required to get started
*  using TSM.  Copy dsm.sys.smp to dsm.sys.  In the dsm.sys file,
*  enter the appropriate values for each option listed below and
*  remove the leading asterisk (*) for each one.
*
*  If your client node communicates with multiple TSM servers, be
*  sure to add a stanza, beginning with the SERVERNAME option, for
*  each additional server.
*
************************************************************************

SErvername  <======== TSM-SERVER-NAME
   COMMMethod         TCPip
   TCPPort            1500
   TCPServeraddress   <======== TSM-SERVER-NAME.cms.hu-berlin.de

NOdename       <======== CLIENT-NODENAME
PASSWORDAccess  generate
* EXCLUDE.DIR "/home/user/test"
ERRORLOGName    /var/log/dsmerror.log
ERRORLOGRETENTION       60
SCHEDLOGName    /var/log/dsmsched.log
SCHEDLOGRETENTION       30
SCHEDMODE       PROMPTED
MANAGEDSERVICES SCHEDULE
WEBPORTS 2123 0

************************************************************************

Erläuterungen

  • SErvername In der Antwort-Mail des TSM-Teams enthaltener Name des Backup-Servers (TSM-SERVER-NAME nirvana, orcus, jordan, blackhole). Der Servername muss mit dem Namen in dsm.opt übereinstimmen (s.u.).
  • COMMMethod TCPip – Mit der Option commmethod wird die verwendete Übertragungsmethode für die Konnektivität der Client-Server-Übertragung angegeben. In unserem Anwendungsumfeld per default TCPip.
  • TCPPort 1500 – Der Port, über den die Kommunikation mit dem Backup-Server erfolgt; die Standardeinstellung ist 1500.
  • TCPServeraddress – TCP/IP-Adresse des Backupservers, z.B. nirvana.cms.hu-berlin.de
  • NOdename – Ein eindeutiger Name unter dem der Client (Worstation, Dateiserver, PC) am Backupserver registriert ist (CLIENT-NODENAME) und sich am Backupserver identifiziert. Dieser Name muss nicht gleich dem Hostnamen sein. Beispielsweise können bei mehreren Betriebssystemen (VMs) auf einem Server (Host) verschiedene Nodenames verwendet werden.
  • PASSWORDAccess generate (Standardeinstellung an der HU) – Mit der Option Passwordaccess kann festgelegt werden, ob das Kennwort automatisch generiert (generate) oder als Benutzereingabeaufforderung definiert werden soll (prompt). generate ist u.a. notwendig für Schedule-Operationen. Mit generate wird das Kennwort verschlüsselt und lokal gespeichert. Wenn das alte Kennwort verfällt, wird ein neues Kennwort vom TSM generiert. Eine Aufforderung zur Kennworteingabe erfolgt hier nur bei der Registrierung des Clients zur Synchronisierung des ersten, von uns mitgeteilten Kennworts oder bei einer manuellen Änderung des Kennworts durch das TSM-Team. Bei prompt muss das Kennwort jedes Mal, wenn ein Client eine Verbindung zum Server herstellt, eingegeben werden.
  • EXCLUDE – Die Exclude-Optionen können verwendet werden, um Objekte von den Sicherungs- oder Archivierungsservices auszuschließen, beispielsweise temporäre Dateien, Log-Dateien, lokale Caches von Netzdateien und Betriebssystemdateien. Am CMS der HU bestehen zentral festgelegte Ausschlüsse (Exclude-Optionen) bei der Datensicherung von UNIX/Linux Systemen in TSM. Weitere Exclude-Optionen werden in der Clientoptionsreferenz von IBM (Exclude-Optionen) beschrieben. Mit Hilfe des Kommandos dsmc q inclexcl kann die aktuelle Einstellung der Exclude-Optionen des TSM-Clients überprüft werden.
  • ERRORLOGName /var/log/dsmerror.log – errorlogname gibt den Pfad und den Namen der Datei an, in der das Fehler-Protokoll gespeichert wied. Default ist dsmerror.log im Verzeichnis /var/log/
  • ERRORLOGRETENTION 60 – Die Option errorlogretention definiert, ob bzw. wieviel Tage die Einträge im Error-Protokoll aufbewahrt werden, und ob abgeschnittene Einträge gesichert werden.
    Beispiele:
    errorlogretention N – die Log-Datei wird nicht bereinigt. Sie wächst permanent ...
    errorlogretention 60 – Einträge, die älter sind als 60 Tage, werden gelöscht
    errorlogretention 60 S – Einträge, die älter sind als 60 Tage, werden in einer Datei (dsmerror.pru) im selben Verzeichnis gespeichert und im Log gelöscht
  • SCHEDLOGName /var/log/dsmsched.logschedlogname gibt den Pfad und den Namen der Datei an, in der das Schedule-Protokoll gespeichert wird. Default ist dsmsched.log im Verzeichnis /var/log/
  • SCHEDLOGRETENTION 30schedlogretention definiert, ob bzw. wieviel Tage die Einträge im Schedule-Protokoll (dsmsched.log) aufbewahrt werden, und ob abgeschnittene Einträge gesichert werden. Das Schedule-Protokoll wird nach Beendigung eines Schedules abgeschnitten.
    Beispiele:
    schedlogretention N – die Log-Datei wird nicht bereinigt. Sie wächst permanent ...
    schedlogretention 30 – Einträge, die älter sind als 30 Tage, werden gelöscht
    schedlogretention 30 S – Einträge, die älter sind als 30 Tage, werden in einer Datei (dsmsched.pru) im selben Verzeichnis gespeichert und im Log gelöscht
  • SCHEDMODE PROMPTED Mit schedmode kann angegeben werden, ob der Modus Polling (der Client fragt den Server regelmäßig nach Schedule-Aktionen) oder der Modus Prompted (der Server stellt eine Verbindung zum Client her, wenn eine Schedule Operation gestartet werden muss) verwendet werden soll.
  • MANAGEDSERVICES SCHEDULE – Mit managedservices wird angegeben, ob der Client Acceptor Daemon (Prozeß: dsmcad) den Scheduler managed. Wenn diese Option nicht angegeben wird, übernimmt der Prozeß dsmsched diese Aufgabe. Früher konnte man bei MANAGEDSERVICES auch die Option WEBCLIENT angeben, dieser wird aber nicht mehr unterstützt.
  • WEBPORTS 2123 0WEBPORTS verlangt zwei Portangaben. Der erste Port gibt an, auf welchem Port der CAD-Daemon lauschen soll, in diesem Fall Port 2123. Ein Wert von 0 legt fest, daß sich der Daemon selbst einen freien Port suchen soll.
    Der zweite Port, hier 0, diente dazu, den Port für den WEBCLIENT festzulegen, der allerdings nicht mehr unterstützt wird. Gibt man bei MANAGEDSERVICES nur SCHEDULE an, wird dieser zweite Port ignoriert, gleichwohl müssen zwei Ports angeben werden, andernfalls gibt es eine Fehlermeldung.
    Weitere Hinweise zur Firewall-Unterstützung des Tivoli Storage Managers finden Sie in: Die Tivoli Storage Manager-Client/Server-Übertragung über eine Firewall hinweg konfigurieren.
     


Beispiel dsm.opt (Clientbenutzeroptionsdatei)

************************************************************************
* IBM Tivoli Storage Manager                                           *
*                                                                      *
* Sample Client User Options file for UNIX (dsm.opt.smp)               *
************************************************************************

*  This file contains an option you can use to specify the TSM
*  server to contact if more than one is defined in your client
*  system options file (dsm.sys).  Copy dsm.opt.smp to dsm.opt.
*  If you enter a server name for the option below, remove the
*  leading asterisk (*).

************************************************************************

* SErvername   A server name defined in the dsm.sys file
SERVERNAME     <========= TSM-SERVER-NAME
SUbdir          yes
QUIET
DOMAIN ALL-LOCAL
* DOMAIN "/"
* DOMAIN "/home"
************************************************************************

Erläuterungen

  • SErvername In der Antwort-Mail des TSM-Teams enthaltener Name des Backup-Servers (TSM-SERVER-NAME nirvana, orcus, jordan, blackhole). Der Servername muss mit dem Namen in dsm.sys übereinstimmen (s.o.).
  • SUbdir – Die Option SUbdir gibt an, ob Unterverzeichnisse benannter Verzeichnisse bei der Verarbeitung berücksichtigt werden sollen. Parameter yes = Unterverzeichnisse werden verarbeitet; no = Unterverzeichnisse werden nicht verarbeitet.
  • QUIET – Mit der Option QUIET wird die Anzahl der Nachrichten, die während der Verarbeitung auf dem Bildschirm angezeigt werden, begrenzt. Bei der Ausführung des Befehls incremental, selective oder archive können beispielsweise Informationen zu allen Dateien, die gesichert werden, angezeigt werden. Sollen diese Informationen nicht angezeigt werden, kann hierfür die Option QUIET verwendet werden. Wenn die Option QUIET verwendet wird, werden Fehler- und Verarbeitungsdaten weiterhin angezeigt, und die Nachrichten werden in Protokolldateien geschrieben. Wird QUIET nicht angegeben, wird die Standardoption VERBOSE verwendet.
  • DOMAIN – Die Option DOMAIN gibt an, welche Objekte bzw. Filespaces (Dateisysteme, Laufwerke oder Datenträger) bei Sicherungen berücksichtigt werden sollen. Die Standard-Einstellung ist DOMAIN ALL-LOCAL, damit werden alle lokalen Filesysteme / Laufwerke gesichert. Mit der Angabe DOMAIN "/" wird das komplette Systemverzeichnis gesichert, bei der Angabe von DOMAIN "/home" das Home-Verzeichnis. Weitere Eintellungsmöglichkeiten siehe die IBM Clientoptionsreferenz zur Option Domain.
     

Achtung: Nach Änderungen an den Konfigurationsdateien dsm.sys / dsm.opt muss der der TSM-Scheduler (s.u.) neu gestartet werden, damit die Änderungen wirksam werden!

Eine Übersicht aller Optionen finden Sie in der Clientoptionsreferenz von IBM.

 



Passwort synchronisieren

Vor dem ersten Aufruf des Backups muss das Passwort synchronisiert werden.

Aufruf des Kommandos:

dsmc q se

Frage nach der Nutzer ID mit <Enter> beantworten.

Dann wird nach dem Passwort gefragt - das Ihnen mitgeteilte Passwort eingeben.
 


TSM-Scheduler (dsmcad)

Einrichtung des TSM-Schedulers

 

Der Scheduler wird vom System-Daemon gestartet, bei älteren Versionen übernimmt diese Aufgabe der Init-Daemon.

 

systemd

 

Start / Stop des Schedulers

systemctl start dsmcad

systemctl stop dsmcad

Status des Schedulers überprüfen

systemctl status dsmcad

Scheduler automatisch bei Reboot starten

systemctl enable dsmcad

Prozeßnr. herausfinden

ps -ef |grep dsmcad |grep -v grep

Beispiel:

root   1306  1  0 09:00 ?  00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad

Port herausfinden, auf dem dsmcad lauscht

netstat -tulpn  | grep dsmcad

Beispiel:

tcp        0      0 0.0.0.0:13993     0.0.0.0:*    LISTEN      1306/dsmcad

 

initd

 

In /etc/init.d/ muss eine Prozedur existieren, die den TSM-Scheduler dsmcad startet und stoppt.

Ab TSM-Client-Version 6.3. wird bei der Installation des Clients ein Link erzeugt, der auf eine Startprozedur zeigt. (Falls dieser nicht existieren sollte, siehe unten)

/etc/init.d/dsmcad -> /opt/tivoli/tsm/client/ba/bin/rc.dsmcad

Start / Stop des Schedulers

/etc/init.d/dsmcad start

/etc/init.d/dsmcad stop

Status des Schedulers überprüfen

/etc/init.d/dsmcad status

sollte etwa Folgendes liefern: "TSM Client Acceptor Daemon is running"
 
ps -ef |grep dsmcad |grep -v grep
sollte beispielsweise diesen Prozess anzeigen:
root   1306  1  0 09:00 ?  00:00:00 /opt/tivoli/tsm/client/ba/bin/dsmcad
Startprozedur für boot / System Start bereitstellen

update-rc.d dsmcad.sh defaults

Fehlermeldung ANS404SE und dsmcad

Wenn die benötigte locale unter Unter Debian/Ubuntu fehlt, kommt es beim Start des Schedulers (bei Verwendung des des unten aufgeführten Beispielscripts) zu dieser Fehlermeldung: /etc/init.d/dsmcad: Zeile 41: Warnung: setlocale: LC_ALL: Die Standorteinstellung (en_US) kann nicht geändert werden.
Dann müssen die locales für gcc noch installiert und/oder aktiviert werden.
Beispielsweise wäre dies für gcc-4.8 das Paket gcc-4.8-locales:
apt-cache search gcc locales
sudo apt-get install gcc-4.8-locales
Nun müssen die vorhandenen locales überprüft und eventuell zusätzliche aktiviert werden. Vorhande locales anzeigen: locale -a
In der Liste der locales sollte auch en_US angezeigt werden (nicht nur en_US.utf8).
Wenn en_US fehlt, muss diese in /etc/locale.gen eingetragen werden.
Die benötigte locale erzeugen: sudo locale-gen en_US
Beim Neustart des Schedulers darf die Fehlermeldung nun nicht mehr erscheinen.


Hier ein Beispiel, wenn /etc/init.d/dsmcad nicht vorhanden ist:

Beispiel dsmcad.sh

#!/bin/bash
 ########################################################################
 ## This script is used to start/stop the dsmcad under ubuntu
 ## The original script was: start/stop mldonkey p2p client
 ## 2007 by Christoph Langner, published under the GPL v3
 ## published on http://wiki.ubuntuusers.de/MLDonkey
 ## Changed the script to start/stop the dsmcad for ubuntu
 ## 2008 by Timo Scheller, published under the GPL v3
 ## Modified, Feb. 2009 for Ubuntu Server 8.04.2
 ## Modified, Feb. 2010, Fixed to change this ANS4042E:
 ## http://www-01.ibm.com/support/docview.wss?uid=swg21290640
 ## No warranty, use it at your own risk!
 #######################################################################
 
 ### BEGIN INIT INFO
 # Provides:          dsmcad
 # Required-Start:    $local_fs dbus
 # Required-Stop:     $local_fs dbus
 # Should-Start:         $syslog
 # Should-Stop:       $syslog
 # Default-Start:     2 3 4 5
 # Default-Stop:      S 0 1 6
 # Short-Description: TSM Client Acceptor Daemon (dsmcad)
 # Description:       Start/Stop the TSM CAD Daemon
 ### END INIT INFO
 
 #PATH=/sbin:/bin:/usr/sbin:/usr/bin
 DESC="TSM Client Acceptor Daemon"
 NAME="dsmcad"
 DAEMON=/opt/tivoli/tsm/client/ba/bin/$NAME
 SCRIPTNAME="/etc/init.d/$NAME"
 #NC="/bin/nc"
 
 . /lib/lsb/init-functions
 
export DSM_DIR=/opt/tivoli/tsm/client/ba/bin
export DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt
export DSM_LOG=/var/log/tsm
# Fixed to change this ANS4042E: http://www-01.ibm.com/support/docview.wss?uid=swg21290640
export LANG=en_US
export LC_ALL=en_US

 

 
 ## Functions
 #
 # Root-Check
 #
 rootcheck() {
 if [ $UID -ne 0 ] ; then
        echo "You must be a root user" 2>&1
        exit 1
 fi
 }
 #  
 # Get PID of daemon
 #
 pidof_dsmcad() {
        PID=$(pidof $DAEMON)
        if [ ! $PID ]; then
                return 1
        fi
        echo $PID
 }
 #
 # Start the dsmcad daemon
 #
 d_start () {
        rootcheck
        if [ ! $(pidof_dsmcad) ]; then
                $DAEMON > /dev/null 2>&1
        fi
 }
 #
 # Stop dsmcad daemon
 #
 d_stop () {
        rootcheck
        pkill -f $DAEMON
 }
 #
 # Get Status of dsmcad
 #
 d_status() {
        if [ $(pidof_dsmcad) ]; then
                echo "$DESC is running"
        else
                echo "$DESC is not running"
        fi
 }
 #
 # init-Skript
 #
 case $1 in
        start)
                log_daemon_msg "Starting" $DESC $DAEMON
                d_start
                if [ $(pidof dsmcad) ]; then
                        log_end_msg 0
                else
                        log_end_msg 1
                fi
        ;;
 
        stop)
                log_daemon_msg "Stopping" $DESC $DAEMON
                d_stop
                sleep 2
                if [ $(pidof $DAEMON) ]; then
                        log_end_msg 1
                else
                        log_end_msg 0
                fi
        ;;
 
        status)
                d_status
        ;;
 
        restart)
                $0 stop
                sleep 1
                $0 start
 
        ;;
 
        *)
                echo "Usage: /etc/init.d/dsmcad {start|stop|restart|status}"
        ;;
 esac
 #######################################################################

Wenn das Shellscript dsmcad.sh nicht arbeitet, müssen eventuell die Dateiberechtigungen angepasst werden: sudo chmod 755 dsmcad.sh


Im Shellskript dsmcad.sh wird der eigentliche TSM-Scheduler durch das Programm

/usr/sbin/dsmcad_start aufgerufen, dabei werden Variablen übergeben.


Beispiel dsmcad_start

#!/bin/sh
#
#
#
CMD='/usr/bin/dsmcad'
if [ -f /etc/profile ]; then
   . /etc/profile
fi
if [ -f /usr/bin/dsmcad ]; then
   LANG=en_US.UTF-8
   LC_ALL=en_US.UTF-8

#  LC_TYPE=en_US
#LANG="en_US.UTF-8"
#LC_ALL="en_US.UTF-8"
#LC_CTYPE="en_US.UTF-8"
   export LANG LC_ALL LC_TYPE
   DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt
   DSM_DIR=/opt/tivoli/tsm/client/ba/bin
   DSM_LOG=/var/log
   export DSM_CONFIG DSM_DIR DSM_LOG
   $CMD >/dev/null 2>&1
fi

##########################################################

 

Wenn dsmcad_start nicht arbeitet, müssen eventuell die Dateiberechtigungen angepasst werden: sudo chmod 755 /usr/sbin/dsmcad_start

 

Hinweis zur Unterstützung für Dateinamen, die nicht-englische Zeichen enthalten

Die LANG-Variablen können von Bedeutung sein, wenn Probleme mit Umlauten auftreten. Dann können diese Art von Fehlern in der TSM-Log zu sehen sein:

ANS4042E Object name '/path/to/some_strange_filename' contains one or more unrecognised characters and is not valid

Um diese Fehler zu beheben, muss dpkg-reconfigure locales ausgeführt und "en_US.ISO-8859-1" als zusätzliche locale ausgewählt werden. Des Weiteren muss das TSM-Startskript (z.B. /etc/init.d/dsmcad) geändert werden, um die LANG und LC_ALL Umgebungsvariablen zu überschreiben:

export LANG=en_US
export LC_ALL=en_US



Startprozedur für boot / System Start bereitstellen

Für SuSE

/sbin/insserv /etc/init.d/dsmcad.sh

Für Redhat (IBM Support Website)

 


 

Weitere Hinweise und Informationen


zurück zu Zentraler Backupservice