Dateien wiederherstellen als NetWorker-Operator
Verfasst von Uwe W. Schäfer am 5. Dezember 2018
Wiederherstellen von Dateien als NetWorker-Operator
NetWorker bietet grundsätzlich 3 verschiedene Schnittstellen um Dateien wiederherzustellen. Die NMC, das Command-Line-Programm „recover“ und das Windows spezifische graphische NetWorker-User-Programm (winworkr). Die komfortabelste und mächtigste Schnittstelle ist natürlich das Recover-Frontend in der NMC. Dieses hat aber leider eine nicht in allen Umgebungen passende Voraussetzung, denn der Benutzer dieses Recovers muss immer ein NetWorker-Administrator sein. Dieses Problem entsteht dadurch, dass am für jeden definierten Wiederherstellungsvorgang am Ende eine NetWorker-Ressource generiert wird. Diese kann eben nur von einem NetWorker-Administrator angelegt werden.
Der Wunsch vieler Teilnehmer meiner NetWorker-Workshops war immer wieder:
„Die Wiederherstellung beliebiger Benutzerdaten sollen von einem NetWorker-Operator durchgeführt werden können“.
Dies war in den bisherigen NetWorker-Versionen nicht ohne größere Konfigurationsaufwände auf den Client-Maschinen möglich. Mit der NetWorker Version 9.2.x hat sich dies nun durch eine nicht veröffentlichte Änderung der Kommando-Übergabe, an den wiederherzustellenden Rechner, geändert. Aber erst einmal ein paar grundsätzliche Sätze zum Wiederherstellen von Dateien im NetWorker vorneweg.
Das Wiederherstellen eigener Dateien war im NetWorker schon immer für jeden Benutzer möglich. Hierfür ist lediglich das „NSR user group“ Recht „Recover Local Data“ erforderlich und das hat jeder (*@*) NetWorker-Benutzer. Das bedeutet, jeder Benutzer kann seine eigenen Daten mit dem CLI-Kommando recover oder auf Windows zusätzlich auch noch mit dem NetWorker-User Programm wiederherstellen.
Bei der Wiederherstellung werden selbstverständlich alle Windows/UNIX Benutzerrechte (ACLs) berücksichtigt. Der Benutzer muss das Leserecht für die wiederherzustellenden Dateien und das Schreibrecht für das Wiederherstellungsziel besitzen. Der normale Benutzer kann demzufolge keine Daten wiederherstellen, die er nicht auch auf der Betriebssystemebene kopieren oder überschreiben darf!
Sollen Daten von einem anderen Benutzer als dem Eigentümer wiederhergestellt werden, so boten sich bis zur NetWorker Version 9.1 lediglich zwei Möglichkeiten. Entweder ein NetWorker-Administrator verwendete das NMC-Recover Fenster, oder ein Windows-Administrator oder ein Unix/Linux „root“ Benutzer auf, stellte die Daten auf der Ziel-Maschine mit den oben genannten recover oder NetWorker-User Programmen wieder her. In beiden Fällen gibt es also eine Einschränkung. Im ersten Fall, bei der Wiederherstellung mit der NMC, kann dies nur von einem NetWorker-Administrator durchgeführt werden, im zweiten Fall muss sich ein privilegierter Benutzer direkt auf der Zielmaschine anmelden. Was fehlte war die Möglichkeit einer Gruppe von Operateuren die Wiederherstellung von Daten auf beliebigen NetWorker-Client-Maschinen zu ermöglichen. Diese Möglichkeit gibt es jetzt!
Sobald ein NetWorker Benutzer die Rechte der Benutzer-Gruppe „Operator“ besitzt und als „root“ oder „Administrator“ angemeldet ist, ist er in der Lage alle Dateien auf allen NetWorker-Client Maschinen wiederherzustellen. Hierbei können mit Hilfe des NetWorker-User Programms auch Linux-Daten auf einem Linux-System wiederhergestellt werden. Dies gilt natürlich ebenso für die Wiederherstellung von Windows-Daten von einem Linux-System mit Hilfe des CLI-Kommandos recover. Wohlgemerkt, der Operator-Benutzer darf hierbei auf einem beliebigen vorher berechtigten NetWorker-Client arbeiten.
-
Wie sieht die Konfiguration aus?
-
Wie sieht der Start des Wiederherstellungsvorgangs mit dem „recover“-Kommando aus?
Der Benutzer „root“ auf der Maschine „sles12nw10“ hat das Recht alle Dateien auf allen NetWorker-Client-Maschinen wiederherzustellen.
Wiederherstellung von Daten des Clients-A auf dem Client-A:
recover -c <client-A> -R <client-A> -i<RYN>
Wiederherstellung von Daten des Clients-A auf dem Client-B:
recover -c <client-A> -R <client-B> -i<RYN>
-
Warum funktioniert die Wiederherstellung in den neueren NetWorker Versionen und warum hat sie in älteren Versionen nicht funktioniert?
In allen NetWorker-Versionen wird bei der Initiierung einer Wiederherstellung von einem anderen Rechner (auch Directed-Recover genannt), das eigentliche Recover-Kommando an den Ziel-Rechner gesendet und hier als aktives Kommando gestartet.
Hierbei werden in dem Wiederherstellungsprogramm (egal ob NMC, NetWorker-User oder recover-Kommando) die wiederherzustellenden Dateien ausgewählt ein Zielverzeichnis definiert und bestimmt was passieren soll, wenn die Dateien auf dem Zielsystem bereits existieren. Anschließend wird der so zusammengesetzte „recover-Aufruf“ an das Zielsystem übertragen. Hier findet dann der eigentliche „recover-Aufruf“ statt. Der Vorteil dieses Verfahrens liegt auf der Hand. Die wiederherzustellenden Daten werden so direkt vom Backup-Medium zum Zielmedium transferiert.
In älteren NetWorker-Versionen wurde das zusammengestellte Kommando vom Arbeitsrechner direkt an das Zielsystem gesendet. Hierzu hat eine „normale“ NetWorker-Client Maschine aber kein Recht (nur Maschinen die in der Datei /nsr/res/servers enthalten sind dürfen Kommandos auf dieser NetWorker-Client Maschine starten).
In den aktuellen NetWorker-Versionen wird das generierte Kommando nicht mehr direkt an die Ziel-Maschine gesendet, sondern dies geschieht über den Umweg des NetWorker-Servers. Dieser hat natürlich das nötige Start-Recht und dem Wiederherstellungsvorgang steht nichts mehr im Wege. Die Ausgaben der Wiederherstellung werden beim Recover-Lauf wieder zurück an das aufrufende Programm geliefert.
Beispiel:
Aufruf des Kommandos „recover“ auf der Maschine „sles12nw10“. Auf der Maschine sles12nw09 soll die Datei „/etc/passwd“ wiederhergestellt werden.
sles12nw10:~ # recover -c sles12nw09 -R sles12nw09 -iR
recover> add /etc/passwd
/
/etc
1 file(s) marked for recovery
recover> recover
Initiating remote recover to sles12nw09 from server sles12nw01.networker.qs.de, ...
Recovering 1 file into its original location
Requesting 1 file(s), this may take a while...
Total estimated disk space needed for recover is 4 KB.
Recover start time: Mon Dec 3 16:19:08 2018
Requesting 1 recover session(s) from server.
Successfully established the direct file retrieval session ...
./passwd: File exists, renaming to ./passwd.R
Received 1 file(s) from NSR server `sles12nw01.networker.qs.de'
Recover completion time: Mon Dec 3 16:19:10 2018
FAZIT:
Durch den neu eingeführten Kommunikationsweg, vom Arbeitsrechner des Operateurs zum NetWorker-Server und von hier an den Zielrechner, können jetzt auch frei definierbare NetWorker-Operateure die Wiederherstellung beliebiger Benutzer-Daten durchführen.
Ein lange gewünschte Recover-Eigenschaft ist somit endlich erfüllt!
Sollten Sie zu diesem Artikel oder zum NetWorker allgemein Fragen haben, so wenden sie sich an der Autor oder besuchen sie einen unserer NetWorker Workshops.