Kategorien
Linux

TSM Client unter Debian

DebianDer Tivoli Storage Manager (TSM) ist eine proffesionelle Lösung zur Datensicherung von IBM. TSM basiert auf dem Client Server Prinzip. Dabei arbeitet im Hintegrund ein SQL basierendes System, dass alle die Backups von den Clients annimmt und sicher auf die Bänder oder Festplatten befördert.

Der TSM Client ist lediglich für das kopieren der zu sichernden Daten zuständig. Es existieren Clients alle möglichen Betriebssysteme darunter auch verschiedene Linux Diestributionen. Für Debian existiert kein eigener Backup Client, lässt sich aber mit wenigen Handgriffen selbst aus den vorhandenen RPMs konvertieren und nutzen.

Die Anleitung basiert auf dem Debian 4.0 (etch) ist aber auch mit allen anderen Versionen von Debian kompatibel.

Installation der nötigen Debian Pakete

Damit man die RPMs konverieren kann benötigen wir das Paket alien. Da alien Bestandteil der Debian Paketverwaltung ist, reicht zur Installation apt.

apt-get install alien

Konvertieren der Pakete

Als erstes muss man sich einen aktuellen TSM Client von den IBM Servern herunterladen. Die Clients finden sich auf ftp://ftp.software.ibm.com/storage/tivoli-storage-management/patches/client/.

Als erstes erzeugt man ein temporäres Arbeitsverzeichnis und lädt die Pakete herunter.

mkdir tsmbac
cd tsmbac
 
wget ftp://ftp.software.ibm.com/storage/tivoli-storage-management/patches/client/\
v5r5/Linux/LinuxX86/v550/5.5.0.4-TIV-TSMBAC-LinuxX86.tar

Im zweiten Schritt entpackt man die Pakete und konvertiert sie zu debian Paketen.

tar -xvf 5.5.0.4-TIV-TSMBAC-LinuxX86.tar
for i in *.rpm; do fakeroot alien $i; done

In dem Verzeichnis liegen nun die entsprechenden Debian Pakete.
Die erzeugten Debian Pakete können auf jeder beliebigen Debian Maschine installiert werden.

Installation des Clients

Zur Installation kopiert man die Debian Pakete auf die Zielmaschine und installiert sie dort mit dpkg.

dpkg -i *.deb

Damit das ganz läuft brauchen man noch einige wenige Schritte. Zuerst benötigt man noch eine kompatible glibc. Die installiert man einfach mit apt.

apt-get install libstdc++2.10-glibc2.2

Die libstdc++2.10-glibc2.2 ist nicht als Abhängigkeit bei den TSM Client Paketen definiert. Man muss also selber darauf achten, dass das Paket installiert bleibt. Ein Bereinigungslauf von deborphan wird das Paket immer als nicht benötigt markieren.

Abschliessend muss man noch einen Link zu den Sprachdateien erzeugen und den Pfad der TSM Libs dem System bekanntmachen.

cd /opt/tivoli/tsm/client/ba/bin
ln -s ../../lang/en_US
 
echo /opt/tivoli/tsm/client/api/bin/ > /etc/ld.so.conf.d/dsm.conf
ldconfig -v

Init Script

Damit der Client bei jedem Systemstart ausgeführt wird und automatische Backups möglich sind, benötigt man noch ein Startscript für den Client.
Das Script könnte so aussehen:

#!/bin/bash
# init script for tivoli backup client fk@kworx.de
 
 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/tivoli/tsm/client/ba/bin
LANG=en_US.UTF-8
#LANG=en_US DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt
DSM_DIR=/opt/tivoli/tsm/client/ba/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tivoli/tsm/client/api/bin
 
 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tivoli/tsm/client/api/bin
#export LANG DSM_CONFIG DSM_DIR
 
start(){
        echo "Starting TSM scheduler."
        nohup /opt/tivoli/tsm/client/ba/bin/dsmc sched >/var/log/tsm.log 2>&1 & pid=$!
        sleep 1
        if kill -0 $pid 2> /dev/null; then
                echo "${pid}" > /var/run/dsmc.pid
        else
                echo "Start of TSM Scheduler failed"
        fi
 
}
stop(){
        pid=`cat /var/run/dsmc.pid`
        if [ "${pid}" != "" ]; then
                echo "Stopping TSM scheduler"
                kill -9 ${pid} 2> /dev/null
        fi
 
}
 
case "$1" in
        'start')
                start
        ;;
        'stop')
                stop
        ;;
        'restart')
                stop
                start
        ;;
        *)
                echo "usage: $0 { start|stop|restart }"
                exit 1
        ;;
esac
 
exit 0

Das Init Script kopiert man in das Verzeichnis /etc/init.d/ und erzeugt danach einen Link im default runlevel.

ln -s /etc/init.d/tsm /etc/rc2.d/S99tsm

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert