====== Konfiguration Scheduler ======
===== Standard-Konfiguration für alle Betriebssysteme =====
Für die Nutzung des Scheduler-Diensten ist in der Standard-Konfiguration keine explizite Anpassung notwendig.
Falls der Scheduler über den //dsm Client Acceptor Daemon (dsmcad)// gestartet werden soll, muss dies in der ''dsm.sys'' / ''dsm.opt'' durch die folgende Option eingestellt werden:
MANAGEDService SCHEDULE
Der //dsmcad// wurde für Windows-Rechner empfohlen, weil er weniger Speicherressourcen benötigt, während das Backup //nicht// läuft. In Anbetracht der aktuellen RAM-Ausstattung von Servern und auch Endgeräten, fällt der Mehrverbrauch durch einen dauerhaft laufenden Scheduler nicht wirklich ins Gewicht. Es ist damit einfacher, direkt den Scheduler als Windows-Dienst zu konfigurieren.
Unter Linux hingegen lässt sich der //dsmcad// direkt über //init.d// bzw. den //systemd// starten und während für den Schedulers entsprechene Routinen erstellt werden müssen. Für Linux/BSD wird daher der //dsmcad// empfohlen.
Darüber hinaus sollten Sie überlegen, die beiden folgenden Optionen zu nutzen:
* ''SCHEDLOGMAX ''
* ''SCHEDLOGRetention [D,S]''
Über **einen** der beiden Parameter wird die maximale Größe des Scheduler-Logs festgelegt, entweder über die Dateigröße in MegaByte (//ERRORLOGMAX //) oder die Aufbewahrungszeit in Tagen (//SCHEDLOGRentenion [D,S]//), die zusätzlichen bei Angaben bei der Option //ERRORLOGRentenion// legen den Umgang mit älteren Logeinträgen fest:
* ''D'' -- Löschen der Daten, (Voreinstellung)
* ''S'' -- Sichern der Daten in einer weiteren Datei //dsmschedlog.pru//.
===== Konfiguration bei mehreren Knoten auf einer Maschine =====
==== Windows ====
Die Konfiguration mehrerer Scheduler ist unter Windows ziemlich einfach:
- Erstellen Sie für jeden Scheduler eine eigene ''dsm.opt''-Datei.
- Weisen Sie bei der Konfiguration des Scheduler-Services die passenden ''dsm.opt''-Datei dem Service zu.
Fertig!
==== Linux ====
Die Steuerung erfolgt über die Optionsdatei, der Start der Scheduler durch den DSMcad:
Soll ein Rechner über mehrere Scheduler gesichert werden, so sind für diesen mehrere Knotennamen oder mehrere Server definiert. In beiden Fällen gibt es mehrere //SErvername //-Einträge und Serverdefinitionen in der Konfigurtaionsdatei //dsm.sys//.
Meist gibt es auch mehrere Optionsdatein //dsm.opt// in unterschiedlichen Ordnern oder mit abweichenden Namen.
Die zu nutzenden Optionsdatei kann entweder im Aufruf der CLI (//dsmc -optfile=//) oder GUI (//dsmj -optfile=//) angegeben werden, alternativ kann die Umgebungsvariable //DSM_CONFIG// mit dem Namen der passenden Optionsdatei besetzt werden.
Dieser letztgenannte Weg kann genutzt werden, um mehrere Scheduler über den DSMcad auf einem Knoten laufen zu lassen.
=== Umsetzung -- Systemd ===
Services werden bei //systemd//-Linuxen über entsprechende //service//-Dateien beschrieben. Im Rahmen der Installation des SP-Clients wird eine ''dsmcad.service''-Datei erzeugt und im Konfigurations-Pfad des Clients (i.d.R. ''/opt/tivoli/tsm/client/ba/bin/'') abgelegt. Der Ansatz für mehrere Client-Instanzen besteht nun darin, diese Datei als Vorlage zu nehmen, zu kopieren und anzupassen und anschließend in das systemd-Verzeichnis zu
* .. kopieren / verschieben:
cp /opt/tivoli/tsm/client/ba/bin/dsmcad.service /opt/tivoli/tsm/client/ba/bin/dsmcad.instance1.service
* .. Editieren
ln -s /opt/tivoli/tsm/client/ba/bin/dsmcad.instance1.service /usr/lib/systemd/system/
Nach jeder Änderung an einer Datei im ''/usr/lib/systemd/system''-Verzeichnis muss das Verzeichnis neu eingeladen werden (''systemctl daemon-reload'').
Die Anpassung der //.service//-Datei umfasst dabei:
- Es ist eine Zeile hinzufügen, die auf das jeweilige //opt//-File verweist, z.B. Environment="DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/instance1.opt
- Das Binary für die Option //ExecStart// ist auf die Kopie des //dsmcad// zu ändern, z.B. ExecStart=/usr/bin/dsmcad.instance1
Außerdem muss das //dsmcad//-Binary kopiert werden, es bietet sich an den Knotennanmen anhängen:
cp /opt/tivoli/tsm/client/ba/bin/dsmcad cp /opt/tivoli/tsm/client/ba/bin/dsmcad.instance1
* Da //ExecStart// in das Verzeichnis ''/usr/bin'' zeigt, muss das Binary vom ''dsmcad.instance1'' auch dorthin kopiert / verlinkt werden:\\ ''ln -s /opt/tivoli/tsm/client/ba/bin/dsmcad.instance1 /usr/bin/''
* Das Startskript funktioiniert offensichtlich nicht, wenn bei ''ExecStart'' direkt auf das Binary im Pfad \\ ''/opt/tivoli/tsm/client/ba/bin/'' verwiesen wird -- warum es dann aber ein Symlink tut? 8-o
== Ausführen ==
- Der Start erfolgt "ganz normal" über das //systemctl//-Kommando, z.B. systemctl start dsmcad.instance1
- Ebenso die Etablierung als Dienst beim Systemstart, z.B.: systemctl enable dsmcad.instance1
=== Umsetzung -- Init-V--Ansatz ===
* Der Start des //dsmcad// erfolgt über das Skript //rc.dsmcad//, dieses liegt in der Regel unter ///etc/init.d/dsmcad// als symbolischer Link zu ///opt/tivoli/tsm/client/ba/bin/rc.dsmcad//). Für mehrere Knoten auf einem Host, muss dieses kopieren und umbenannt werden, z.B. cd /etc/init.d/ && cp rc.dsmcad rc.dsmcad.knoten_1
* Um die verschiedenen Prozesse unterscheiden zu können (z.B auch für das ''service [start|stop]''), sollte auch das benutzte Binary (//dsmcad//) kopiert werden, z.B. cp /opt/tivoli/tsm/client/ba/bin/dsmcad /opt/tivoli/tsm/client/ba/bin/dsmcad.knoten_1
Es kann dann eindeutig identifiziert werden.
* Im kopierten Skript (//rc.dsmcad.knoten_1//)
Achtung: Die Datei ist per default auch für ''root'' nur lesbar!
* eine Zeile ergänzen, die die Variable //DSM_CONFIG// auf die passenden Optionsdatei verweisen lässt, z.B.:export DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm-node1.opt
* Den Namen des Binaries im Skript (Zeile //DSMCAD_BIN=...//) anpassen, z.B.DSMCAD_BIN=$DSMCAD_DIR/dsmcad.node1
* Das geänderte Skript kann nun wie das Original-Skript mittels der Parameter //start//, //stop// //restart// und //status// benutzt werden.
Liegt das neue Skript im Verzeichnis //etc/init.d// (bzw. liegt dort ein symbolischer Link zum geänderten Skript) kann auch der geänderte DSMcad über die üblichen Wege als Dienst gestartet werden.
z.B.
* SuSE: chkconfig dsmcad-Server_1 on
\\ bzw. zum Start in Runlevel 3 und 5:\\ chkconfig dsmcad-Server_1 35
* generisch:
*
cd /etc/init.d/
for i in $(ls rc.dsmcad*);
do
ln -s /etc/init.d/$i /etc/init.d/rc3.d/K01$i
ln -s /etc/init.d/$i /etc/init.d/rc3.d/S15$i
done
==== OSX ====
sollte wie bei Linux funktionieren (nicht getestet).