Der 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 |