Konfiguration und automatisches Backup einrichten unter Linux

Konfigurationsdateien erstellen oder anpassen

Die für Ihren Klienten notwendigen spezifischen Zugangsdaten haben Sie nach der Anmeldung vom ZIH erhalten:
Nodename, TCPServeraddress, TCPPort und Password. Diese können auch im Self-Service-Portal eingesehen werden.

Es sind zwei Konfigurationsdateien unter Linux notwendig:

In der Datei "dsm.opt"  wird normalerweise nur eine Art Sprungmarke gesetzt, die in der Datei dsm.sys ebenfalls genauso zu finden sein muss. 
Beispiel für den Inhalt der Datei dsm.opt, kann so übernommen werden:


Servername server_a

In der Datei "dsm.sys" werden unter anderem Verbindungsdaten eingetragen. Folgendes Beispiel einer "dsm.sys"-Datei können Sie nach einigen Anpassungen übernehmen:

Servername server_a
COMMMethod TCPip
TCPPort *)
TCPServeraddress *)
nodename *)
passwordaccess generate

schedlogname /opt/tivoli/tsm/client/ba/bin/dsmsched.log
errorlogname /opt/tivoli/tsm/client/ba/bin/dsmerror.log
schedlogretention 50 d
errorlogretention 50 d

DOMAIN / /home /mnt/wichtige_Daten

include /.../*
include /.../*.log MC90D90V
exclude.dir /.../nobackup
exclude /.../*core
exclude /home/username/ausschliessen.txt

Die entsprechenden Schritte für die Anpassung werden nachfolgend beschrieben.

Optionale weitere Konfigurationsoptionen

Eine Liste der in der dsm.sys vorkommenden Schlüsselwörter und syntaktische Besonderheiten werden unter Konfigurations-Details noch genauer beschrieben.

Verbindung zum Server

Nach Erstellen der Konfigurations-Dateien (dsm.opt und dsm.sys)  kann mit dem Befehl "dsmc" in der Kommandozeile die Verbindung zum Backupserver initiiert werden. Die Abfrage nach der "USERID"  meint den "Nodenamen", den können Sie einfach bestätigen. Danach wird das Passwort verlangt, welches Sie beim Antrag im Self Service-Portal eingegeben haben. Nach der Eingabe des Passworts erhalten Sie einen Prompt der Backup-Klientsoftware, die Verbindung mit dem Server ist zustandegekommen.

root@myPC~: dsmc
IBM Spectrum Protect
Command Line Backup-Archive Client Interface
  Client Version 8, Release 1, Level 7.0
  Client date/time: 08/23/19   09:51:43
(c) Copyright by IBM Corporation and other(s) 1990, 2019. All Rights Reserved.
Node Name:  Ihrnodename
Please enter your user id <Ihrnodename>:
Please enter password for user id "Ihrnodename":
Session established with server IhrBackupserver: Linux/x86_64
  Server Version 8, Release 1, Level 7.000
  Server date/time: 08/23/19   09:51:43  Last access: 08/20/19   15:48:12
Protect>

Manuelles Backup

Jetzt  können Sie ein von Hand gestartetes Backup (manuelles Backup) durchführen. Nachfolgend wird mit dem Kommando incremental und der Angabe eines vollständigen Dateinamens als Beispiel eine einzelne Datei gesichert:

Protect> incr   /home/username/wichtige_Datei.txt
Protect> quit
root@myPC~:

Wenn das Abspeichern des Passwortes in verschlüsselter Form lokal auf Ihrem Rechner funktioniert hat, erreichen Sie den Protect-Prompt beim nächsten Aufruf von "dsmc" ohne erneute Eingabe des Passwortes.
Erst jetzt kann das automatische Backup konfiguriert und eingerichtet werden.

Einrichten des automatischen Backups

Damit ein automatisches Backup im Hintergrund stattfinden kann, muss ein entsprechender Dienst oder Prozess permanent auf Ihrem System im Hintergrund laufen. Diesen kann man entweder von der Kommandozeile aus starten, muss aber dann nach jedem Booten der Klientenmaschine die Start-Aktion wiederholen oder man automatisiert den Start des Dienstes oder Prozesses.
Die Konfigurationsdateien werden nur beim Start des automatischen Backups gelesen, nachträgliche Änderungen werden erst nach einem Neustart des entsprechenden Hintergrundprozesses wirksam.

Manueller Start des Schedulers von Kommandozeile

Der Start von der Kommandozeile (z.B. für Tests) kann so erfolgen:

root@myPC~$   nohup /opt/tivoli/tsm/client/ba/bin/dsmc sched  > /dev/null 2>&1  &

Automatischer Start des schedulers für Systeme mit systemd

Anlegen einer Datei /etc/systemd/system/tsmclient.service

root@myPC~$  cd /etc/systemd/system
root@myPC/etc/systemd/system$  cat tsmclient.service
[Unit]
Description=TSMClient Scheduler
[Service]
Environment="LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64"
ExecStart=/opt/tivoli/tsm/client/ba/bin/dsmc sched
Type=simple
[Install]
WantedBy=multi-user.target

Testweise Start des Service/ Dienstes

root@myPC/etc/systemd/system$ systemctl start tsmclient

Abfrage Status des Test-Services

root@myPC/etc/systemd/system$ systemctl status tsmclient

● tsmclient.service - TSMClient Scheduler
   Loaded: loaded (/etc/systemd/system/tsmclient.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-08-22 16:02:48 CEST; 23s ago
   Main PID: 24755 (dsmc)
   CGroup: /system.slice/tsmclient.service
           └─24755 /opt/tivoli/tsm/client/ba/bin/dsmc sched
Aug 22 16:02:48 B32 systemd[1]: Starting TSMClient Scheduler
Aug 22 16:02:48 B32 systemd[1]: Started TSMClient Scheduler

 

Service/ Dienst enablen (= Start beim Booten)

root@myPC/etc/systemd/system$ systemctl enable tsmclient

Automatischer Start des Schedulers in älteren Systemen mit init.d

Anlegen einer Datei in /etc/rc.d/init.d  z.B.  /etc/rc.d/init.d/isp-scheduler

root@myPC$ cat /etc/rc.d/init.d/isp-scheduler
#!/bin/sh
#
# chkconfig:   35 95 20
# description: Spectrum Protect scheduler start script
# processname: isp-scheduler
### BEGIN INIT INFO
# Provides:          isp-scheduler
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Start Spectrum Protect scheduler at boot time
# Description:       Spectrum Protect scheduler start script
# processname:       isp-scheduler
### END INIT INFO
SCRIPT_NAME=`basename $0`
DSMC_DIR=/opt/tivoli/tsm/client/ba/bin
DSMC_NAME=dsmc
DSMC_BIN=$DSMC_DIR/$DSMC_NAME
LOCKFILE=/var/lock/subsys/$SCRIPT_NAME
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check for dsmc - executeable
[ -f /opt/tivoli/tsm/client/ba/bin/dsmc ] || exit 0
# functions
start() {
        # location for default logs, if they're not specified in dsm.sys, is
        # cwd. Make it a reasonable one.
        cd /var/log
        # Start daemon
        echo -n $"Starting $SCRIPT_NAME: "
        cmd="$DSMC_BIN sched > /dev/null 2>&1 &"
        daemon $cmd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $LOCKFILE
        return $RETVAL
}
stop() {
        # Stop daemon
        echo -n $"Shutting down $SCRIPT_NAME: "
        killproc $DSMC_NAME
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
        return $RETVAL
}
#
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        status)
                status $DSMC_NAME
                ;;
        restart|force-reload)
                stop
                start
                ;;
        *)
                echo $"Usage: $SCRIPT_NAME {start|stop|restart|force-reload|status}"
                exit 1
                ;;
esac
exit $?

Datei muss ausführbar sein

root@myPC$ chmod 755 /etc/rc.d/init.d/isp-scheduler/

Einfügen des Scripts in Boot-Startup

root@myPC$ chkconfig --add  isp-scheduler

Kontrolle, ob Dienst/ Service läuft

root@myPC~$ ps -ef | grep "dsmc sched" | grep -v grep

sollte  immer wie nachfolgend dargestellt einen aktiven Prozess zeigen:

root 6828 1 0 13:15 pts/2 00:00:00 dsmc schedule

Backup-Statusmail

Sie erhalten als Administrator eines Backup-Klienten, der eine automatische Sicherung durchführt,  täglich eine Statusmail vom Backup-Service.
Den Status erkennen Sie bereits im Subject der Mail. Alles andere als "Completed" bedarf einer genaueren Überprüfung. 

Fehler?

Leider gibt es  Fehler, die die Software nicht als solche erkennt und Ihnen trotzdem einen Status "Completed" liefert.
Sie sollten deshalb  die beiden Log-Dateien "dsmsched.log" und "dsmerror.log" (normalerweise  unter "/opt/tivoli/tsm/client/ba/bin/")  immer überprüfen und bei auftretenden Fehlern unbedingt reagieren.
Öffnen Sie im Zweifelsfall ein Ticket , welches die "dsmsched.log" und "dsmerror.log" Dateien enthält.
 

Hinweis zur graphischen Oberfläche 
Die Konfiguration ist zumindest teilweise auch mit der graphischen Oberfläche möglich. Da dies kaum Anwendung findet, wurde auf die Beschreibung hier verzichtet.
Die graphische Oberfläche kann mit dem Befehl "dsmj" aufgerufen werden. Es muss "Java" auf Ihrem Rechner installiert sein, bitte darauf achten, dass es inzwischen von Oracle lizenzrechtliche Einschränkungen gibt.

FAQ's und weitere Dokumentation
FAQ's/ weitere Dokumentation