TSM-Client Konfiguration - UNIX, Linux
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 indsm.opt
übereinstimmen (s.u.).COMMMethod TCPip
– Mit der Optioncommmethod
wird die verwendete Übertragungsmethode für die Konnektivität der Client-Server-Übertragung angegeben. In unserem Anwendungsumfeld per defaultTCPip
.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 OptionPasswordaccess
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. Mitgenerate
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. Beiprompt
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 Kommandosdsmc 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 istdsmerror.log
im Verzeichnis /var/log/
ERRORLOGRETENTION 60
– Die Optionerrorlogretention
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öschterrorlogretention 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.log
–schedlogname
gibt den Pfad und den Namen der Datei an, in der das Schedule-Protokoll gespeichert wird. Default istdsmsched.log
im Verzeichnis /var/log/SCHEDLOGRETENTION 30
–schedlogretention
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öschtschedlogretention 30 S –
Einträge, die älter sind als 30 Tage, werden in einer Datei (dsmsched.pru) im selben Verzeichnis gespeichert und im Log gelöschtSCHEDMODE PROMPTED –
Mitschedmode
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
– Mitmanagedservices
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 0 –
WEBPORTS verlangt zwei Portangaben im Bereich 1000-32767. 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 indsm.sys
übereinstimmen (s.o.).SUbdir
– Die OptionSUbdir
gibt an, ob Unterverzeichnisse benannter Verzeichnisse bei der Verarbeitung berücksichtigt werden sollen. Parameteryes
= Unterverzeichnisse werden verarbeitet;no
= Unterverzeichnisse werden nicht verarbeitet.QUIET
– Mit der OptionQUIET
wird die Anzahl der Nachrichten, die während der Verarbeitung auf dem Bildschirm angezeigt werden, begrenzt. Bei der Ausführung des Befehlsincremental
,selective
oderarchive
können beispielsweise Informationen zu allen Dateien, die gesichert werden, angezeigt werden. Sollen diese Informationen nicht angezeigt werden, kann hierfür die OptionQUIET
verwendet werden. Wenn die OptionQUIET
verwendet wird, werden Fehler- und Verarbeitungsdaten weiterhin angezeigt, und die Nachrichten werden in Protokolldateien geschrieben. WirdQUIET
nicht angegeben, wird die StandardoptionVERBOSE
verwendet.DOMAIN
– Die OptionDOMAIN
gibt an, welche Objekte bzw. Filespaces (Dateisysteme, Laufwerke oder Datenträger) bei Sicherungen berücksichtigt werden sollen. Die Standard-Einstellung istDOMAIN ALL-LOCAL
, damit werden alle lokalen Filesysteme / Laufwerke gesichert. Mit der AngabeDOMAIN "/"
wird das komplette Systemverzeichnis gesichert, bei der Angabe vonDOMAIN "/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
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
- Für das Konfigurieren siehe auch die TSM-Handbücher von IBM sowie die IBM Support Website - Set the client scheduler process to run as a background task and start automatically at startup (für alle Plattformen).
- Detaillierte Informationen über die einzelnen TSM-Verarbeitungsoptionen finden Sie in der Clientoptionsreferenz von IBM.
- Ausführliche Hinweise zur Verwendung von UTF-8 und TSM befinden sich im Tivoli Field Guide The Tivoli Storage Manager Client and UTF-8 (Using the Linux and UNIX Backup-Archive Client to Backup and Restore Files in Multiple Byte Character Set Environments such as UTF-8).