Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:services:storage_services:backup:tsm:anleitungen:scheduler-linux [2015/12/14 14:46]
bnachtw [Lösung]
de:services:storage_services:backup:tsm:anleitungen:scheduler-linux [2016/04/28 14:32] (aktuell)
bnachtw [Standard-Weg gemäß IBM-Dokumentation]
Zeile 1: Zeile 1:
 +====== Starten des TSM-Scheduler / Linux ======
  
 +In allen Linux-Distributionen wird der Client-Scheduler über den //"DSM Client Acceptor Daemon (dsmcad)"//​ gestartet. Hierzu wird während der Installation des Clients ein entsprechendes Skript //dsmcad// in den Ordner ///​etc/​init.d///​ abgelegt.
 +
 +===== Standard-Weg gemäß IBM-Dokumentation =====
 +Die offizielle [[https://​www-01.ibm.com/​support/​knowledgecenter/​SSGSG7_7.1.3/​client/​c_sched_autotasks.html|IBM-Dokumentation]] schlägt zum Start den Aufruf über die //​service//​-Schnittstelle vor:
 +
 +<WRAP round box 70%>
 +<​code>​
 + # service dsmcad <​start|stop|restart|status>​
 +</​code>​
 +</​WRAP>​
 +
 +Dies ist für die offiziell unterstützten Distributionen auch der von uns favorisierte Weg. Für einige nicht offiziell unterstützten Distributionen zeigen nachfolgend Lösungen.
 +
 +===== Anpassungen für nicht unterstützte Distributionen =====
 +  * Ubuntu 12.04.05 LTS
 +  * Debian 7 (Wheezy), Debian 8 (Jessie)
 +  * OpenSuSE ??
 +  * ...
 +
 +Aktuelle Linux-Distributionen nutzen den //systemd// statt des //initd//, dennoch ist in den meisten Distributionen der Start des //dsmcad// weiterhin über die //​initd//​-Mimik möglich, daher wird aktuell auf eine Unterscheidung verzichtet.
 +
 +==== Ubuntu 12.04.05 LTS ====
 +
 +Für Ubunutu 12.04.5 LTS funktionieren die aktuelle Pakete uneingeschränkt. ​
 +
 +**WICHTIG:​** Für TSM-Clients in Version 7.1.2.**0** bitte die Anmerkung unten zu älteren Versionen beachten.
 +
 +==== Debian ====
 +Das //​dsmcad//​-Skript des Clienten (Beispiel: Version 7.1.2.3) liest Umgebungsvariablen aus, die vom Skript ///​etc/​os-release//​ gesetzt werden. Wird hierbei die Variable //$NAME// auf //UBUNTU// gesetzt, startet das Skript; bei //Debian// ist dies nicht der Fall, die Variable enthält den Wert //Debian GNU/Linux// ... 
 +<​code>​
 +root@JessieBox:​~#​ cat /​etc/​os-release
 +PRETTY_NAME="​Debian GNU/Linux 8 (jessie)"​
 +NAME="​Debian GNU/​Linux"​
 +VERSION_ID="​8"​
 +VERSION="​8 (jessie)"​
 +ID=debian
 +HOME_URL="​http://​www.debian.org/"​
 +SUPPORT_URL="​http://​www.debian.org/​support/"​
 +BUG_REPORT_URL="​https://​bugs.debian.org/"​
 +</​code>​
 +<​file></​file>​
 +...und die Ausführung wird abgebrochen:​
 +<​code>​
 +root@JessieBox:​~#​ /​etc/​init.d/​dsmcad start
 +/​etc/​init.d/​dsmcad:​ 88: [: Debian: unexpected operator
 +/​etc/​init.d/​dsmcad:​ 143: /​etc/​init.d/​dsmcad:​ start_: not found
 +</​code>​
 +<​file>​
 + 
 +</​file>​
 +==== Lösung ====
 +Passen Sie die Abfrage der Variable //$NAME// im //​dsmcad//​-Skript an, so dass auch //Debian GNU/​Linux// ​ gültig wird. Ersetzen Sie hierzu die Zeile
 +<​code>​
 +   if [ $NAME = "​Ubuntu"​ ]
 +</​code>​
 +<​file></​file>​
 +durch
 +<​code>​
 +   if [ "​$NAME"​ = "​Ubuntu"​ -o "​$NAME"​ = "​Debian GNU/​Linux"​ ]
 +</​code>​
 +<​file>​
 + 
 +</​file>​
 +<WRAP center round important 80%>
 +<​file>​
 + 
 +</​file>​
 +Maskieren Sie die Variable //$NAME// mit Hochkommata ("), durch das Leerzeichen in //Debian GNU/Linux// kommt es sonst zu dem oben genannten Fehler "[: Debian: unexpected operator"​
 +</​WRAP>​
 +
 +==== OpenSuSE ====
 +folgt ...
 +==== Archlinux ====
 +folgt ...
 +
 +
 +===== Anpassungen für ältere Clientversionen ​ =====
 +==== Ubuntu / Debian ====
 +Die Unterstützung für Ubuntu ist zwar offiziell mit dem Clienten 7.1.2.//​**0**//​ eingeführt worden, tatsächlich fand eine Anpassung erst im Rahmen eines späteren Patches statt.
 +
 +Das Start-Skript //dsmcad// enthält daher für sämtliche Client-Versionen inkl. 7.1.2.0 noch keinen Abschnitt für Ubuntu. Die nachfolgende Passage ist daher in das Skript einzufügen und zwar **vor** dem finalen //else//, das zum Abbruch führt:
 +<​code>​
 +   if [ "​$NAME"​ = "​Ubuntu"​ -o "​$NAME"​ = "​Debian GNU/​Linux"​ ]
 +   then
 +
 +      start_()
 +      {
 +         cd $DSMCAD_DIR
 +         if start-stop-daemon --status --exec $DSMCAD_BIN
 +         then
 +            echo "​dsmcad is already running, pid" `pidof $DSMCAD_BIN`
 +         else
 +            if start-stop-daemon --start --exec $DSMCAD_BIN
 +            then
 +               echo "​dsmcad is started, pid" `pidof $DSMCAD_BIN`
 +            else
 +               echo "​dsmcad could not be started"​
 +            fi
 +         fi
 +      }
 +
 +      stop_()
 +      {
 +         if start-stop-daemon --status --exec $DSMCAD_BIN
 +         then
 +            if start-stop-daemon --stop --exec $DSMCAD_BIN
 +            then
 +               echo "​dsmcad is stopped"​
 +            else
 +               echo "​dsmcad could not be stopped"​
 +            fi
 +         else
 +            echo "​dsmcad is not running"​
 +         fi
 +      }
 +
 +      status_()
 +      {
 +         if start-stop-daemon --status --exec $DSMCAD_BIN
 +         then
 +            echo "​dsmcad is running, pid" `pidof $DSMCAD_BIN`
 +         else
 +            echo "​dsmcad is not running"​
 +         fi
 +      }
 +
 +   fi
 +</​code>​
 +<​file>​
 +else
 +   echo "This distribution is not supported"​
 +   exit 2
 +fi
 + 
 +</​file>​
 +==== modizierte Datei dsmcad ====
 +Unter diesem [[de:​services:​storage_services:​backup:​tsm:​anleitungen:​scheduler-linux-dsmcad|Link]] finden Sie ein vollständige Darstellung des Skriptes //dsmcad// mit den zuvor beschriebenen Anpassungen.
 +====== Automatischer Start des dsmcad ======
 +===== Suse Linux Enterprise / Red Hat Enterprise Linux =====
 +Für die offiziell supporteten Linux-Versionen ist der //dsmcad// über den folgenden Aufruf zu starten:
 +
 +<WRAP center round box 80%>
 +//To enable the Client Acceptor Daemon to start automatically after a system restart, add the service as follows, at a shell prompt://
 +<​code>​
 +# chkconfig --add dsmcad
 +</​code>​
 +</​WRAP>​
 +<​file>​
 + 
 +</​file>​
 +===== Debian / Ubuntu =====
 +Der Aufruf //chkconfig --add dsmcad// funktioniert sowohl bei Ubuntu 12.04 wie 14.04 und auch bei Debian nicht, da es kein Skript //​chkconfig//​ gibt.
 +Stattdessen kann der Systemstart von Diensten über den folgenden Befehl erfolgen:
 +<​code>​
 +chmod a+x /​etc/​init.d/​dsmcad
 +update-rc.d dsmcad defaults 35 35
 +</​code>​
 +<​file>​
 + 
 +</​file>​
 +===== OpenSuse =====
 +folgt ...