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.
NetWorker NetApp NDMP: 7-Mode To C-Mode Recover
Verfasst von Uwe W. Schäfer am 12. April 2018
Entgegen der leider schon des öfteren gehörten Aussagen „das geht nicht“, zunächst mal die gute Nachricht es geht! Es geht zwar nicht mit der NetWorker Management Console, aber mit den NetWorker Kommandos „recover“ und „nsrndmp_recover“ geht es sehr gut. Und das sowohl mit der NetWorker Version 8.2.4.x und natürlich auch mit der aktuellen NetWorker Version 9.2.x.
Es gibt jedoch 2 kleine Stolpersteine, die sich aber leicht aus dem Weg räumen lassen ;-)
1. Beim Aufruf der „recover“-Kommandos benötigt man 2 Optionen
-c <7-Mode Client-Name>
-R <C-Mode-Cluster-Name>
Beispiel:
# recover -c na_82 -R na_93
Die erste Option erklärt sich von selbst, aber die zweite muss entgegen dem vielleicht erwarteten SVM-Namen, den Namen des C-Mode-Clusters enthalten. Oder vielleicht besser gesagt den Namen der StorageNode der zu verwendenden NDMP-Devices.
Nach dem Aufruf des Kommandos können die wiederherzustellenden Dateien wie gewohnt ausgewählt werden.
2. Relocate auf einen virtuellen Storage auf der C-Mode Maschine
Für den Relocate der wiederherzustellenden Daten benötigt man einen Pfad aus Sicht des C-Mode Cluster-Servers. D.h. ein Relocate sieht syntaktisch folgendermaßen aus:
> relocate /<SVM-Name>/<Volume-Name>[/<Pfad auf dem Volume>]
Beispiel:
recover> relocate /na_93_cifs/recover/uws
Hierbei ist der Name „na_93_cifs der Name eines virtuellen Storage-Systemes (SVM)
Berücksichtigt man diese beiden Besonderheiten beim Aufruf, bzw. bei der Verwendung des Kommandos, sollte einem Recover von „alten“ NetApp-7-Mode Daten auf eine neue C-Mode Maschine nichts mehr im Wege stehen.
Wenn sie nähere Informationen zum Thema NetWorker und/oder NDMP Backup mit NetWorker benötigen, so scheuen sie sich nicht eine Mail an den Autor zu senden. Oder besuchen sie unseren NetWorker Advanced Workshop.