Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits

Avamar: Durchführen einer Wiederherstellung von Linux Vmware auf Dateiebene ohne root-Nutzer mithilfe von sudo

Résumé: Avamar FLR Sudo

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes



Hintergrund zu Avamar FLR:
Bei Avamar File Level Restore (Wiederherstellung auf Dateiebene) handelt es sich um eine agentlose Wiederherstellungslösung, die verwendet werden kann, um eine oder mehrere Gastdateien von einem Image-Backup einer virtuellen Maschine wiederherzustellen. Der Mechanismus zur Durchführung der Wiederherstellung auf Dateiebene ist VMware Tools und vSphere API guest operation.functions. Das VM-Image-Backup stellt das virtuelle Laufwerk (.vmdk) auf dem Avamar Proxy während dem Durchsuchen bereit. Nachdem die Dateien für die Wiederherstellung ausgewählt wurden, werden sie vom Proxy auf die Ziel-VM übertragen und kopiert.

Obligatorische Anforderungen für FLR:
  1. Die Ziel-VM muss eingeschaltet sein.
  2. Auf der Ziel-VM muss VMware Tools installiert sein und der Service muss während der Wiederherstellungsvorgänge ausgeführt werden. 
  3. Der Avamar-Administrator oder der Avamar Backup/Restore/-Nutzer muss gültige Anmeldeinformationen auf dem Ziel-Gast haben (Voraussetzung für Gastvorgänge mit VMware SDK) und diese Anmeldeinformationen müssen beim Start der Wiederherstellungsvorgänge auf Dateiebene eingegeben werden.
  4. Der Ziel-Gastnutzer muss über Berechtigungen zum Schreiben am Speicherort verfügen oder der Vorgang schlägt fehl. Für Windows-VMs muss der VM-Wiederherstellungsnutzer außerdem über Berechtigungen zum Schreiben ohne erhöhte UAC-Berechtigungen verfügen. Für Linux-VMs muss auf die Wiederherstellungs-VM ohne sudo geschrieben werden können. 
Optionale Anforderungen für FLR: Für eine schnellere HTTPS-Übertragungsmethode erforderlich. 
  1. Ziel-VMs müssen über TCP 443 Zugriff auf die Proxy-VMs haben.
  2. Für Linux-VMs muss vor dem Wiederherstellungsvorgang eine moderne wget-Anwendung in der virtuellen Maschine installiert werden.  
Wenn die operativen Anforderungen nicht erfüllt sind, werden die folgenden Warnungen angezeigt, bevor der Job gesendet wird:

Wenn die Ziel-VM keine HTTPS-Verbindung zum Proxy herstellen kann:

kA23a000000GIVvCAO_3_0

Im Proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, siehe wget non zero exit code

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test

[VWS - FUNC]  2020/02/24 15:56:2 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/02/24 15:56:2 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN]  2020/02/24 15:56:2 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/02/24 15:56:2  TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 4

Oder
  
Linux ohne wget:

kA23a000000GIVvCAO_3_1

Im Proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, siehe:

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - ERROR] 2020/02/24 15:56:20 TID=140363826202979 MID=398068: StartProgramInGuest Error: SOAP 1.1-Fehler: "":ServerFaultCode [kein Subcode]
"Datei /usr/bin/wget wurde nicht gefunden"
Details: <FileNotFoundFault xmlns="urn:vim25" xsi:type="FileNotFound"><file>/usr/bin/wget</file></FileNotFoundFault>

Oder

[VWS - DEBUG] 2020/02/24 15:34:22 TID=2397 MID=395783: StartProgramInGuest Succeeded. Ret: 1


optionale Funktion von FLR: Zugriffskontrollliste wiederherstellen (Access Control List, ACL)

Diese Funktion ist standardmäßig deaktiviert.
Ergebnis:
Ohne ACL-Funktion (Standard):

Alle wiederhergestellten Dateien aus der Funktion zur Wiederherstellung auf Dateiebene sind dann im Besitz des Nutzers der VM-Gastanmeldedaten, die während der FLR-Vorgänge eingegeben wurden, und es werden keine vorherigen Dateiberechtigungen festgelegt.

Mit aktivierter ACL-Funktion:
Wenn der Nutzer möchte, dass die wiederhergestellten Dateien die ursprünglichen Dateibesitzrechte und Berechtigungen für die wiederhergestellte Datei haben, mus er diese optionale Funktion aktivieren.

kA23a000000GIVvCAO_3_2

Ergebnis:
Während der Wiederherstellungsvorgänge werden neue Dateien als im Besitz des FLR-VM-Nutzer erstellt, aber am Ende einer Wiederherstellung wird der ACL-Workflow ausgeführt und die Eigentumsrechte und Dateiberechtigungen werden auf den ursprünglichen Zustand zurückgesetzt. 


Im Proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, siehe:

[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254066: VirtualMachineWs::ExecuteRestoreAcl ENTER
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254067: VirtualMachineWs::ExecuteRestoreAcl RestoreAcl Input file created
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254068: VirtualMachineWs::ExecuteRestoreAcl Input File transfer /usr/local/avamarclient/bin/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml
[VWS - FUNC] 2020/03/03 03:42:32 TID=140664473914958 MID=254140: VirtualMachineWs::ExecuteRestoreAcl Exe File transfer /usr/local/avamarclient/bin/RestoreAcl to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe
[VWS - DEBUG] 2020/03/03 03:42:40 TID=3662 MID=254349: sGuestExeFullFilename = /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml 0001
[VWS - FUNC] 2020/03/03 03:42:42 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/03/03 03:42:42 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN] 2020/03/03 03:42:47 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/03/03 03:42:47 TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 0
[VWS - FUNC] 2020/03/03 03:42:47 TID=140664473914958 MID=254519: VirtualMachineWs::ExecuteRestoreAcl LEAVE

Cause

In einigen Linux-Distributionen wie Ubuntu oder Photon OS sind die root-Nutzer des Betriebssystems standardmäßig nicht eingerichtet oder konfiguriert. Stattdessen verlassen sich Linux-Administratoren auf den Befehl sudo zum Ausführen von Vorgängen mit erhöhter Berechtigung.  

Aufgrund der VMware Tools und des VMware SDK ist es jedoch bei den meisten Vorgängen (VM_LoginInGuest, CopyFileFromHostToGuest und ListFilesInGuest) für VMware Tools nicht möglich, den sudo-Befehl auszuführen. 

Wenn Wiederherstellungsvorgänge mit einem normalen Nutzer durchgeführt werden, schlägt der Vorgang möglicherweise aufgrund unzureichender Zielgastberechtigungen fehl.

Résolution

In Umgebungen, in denen der Linux root-Nutzer deaktiviert, nicht konfiguriert oder aufgrund von Sicherheitsbedenken nicht freigegeben ist, sollten Sie die folgenden Schritte in Betracht ziehen:

Option 1: Wiederherstellung an einem anderen Speicherort als nicht-root-Nutzer. 
Beispiel:
Quelldatei:  /root/test (beschränkter Ordner/Datei)
Zieldatei:  /home/flruser/ (nicht beschränkter Speicherort) 
VM-Gast-Erstellung:  „flruser“  

Ergebnis:
Während der FLR-Durchsuchung werden die virtuellen Festplatten auf dem Avamar Proxy bereitgestellt und in der Benutzeroberfläche angezeigt. Dies umfasst alle Ordner und Dateien, den Ordner „/root“ und dann die Datei file1.txt. Wählen Sie dann Alles an einem anderen Speicherort wiederherstellen aus und navigieren Sie zu /home/flruser/ als Absolution-Ziel.

kA23a000000GIVvCAO_2_0

Ergebnis:
root/test-Datei wird in /home/flruser/test wiederhergestellt 
Beachten Sie, dass die Datei über FLR-Gastbenutzer-Berechtigungen verfügt. 

Option 2: Wiederherstellung an einem anderen Speicherort mit der Option „ACL wiederherstellen“ mithilfe der sudo-Funktion. 
Installieren Sie in Avamar 18.2 Proxy Hotfix 318791 (oder höher)
Installieren Sie in Avamar 19.2 Proxy Hotfix 318791 (oder höher) 


Diese Hotfixes fügen die neue Funktion „enablesudouserrestore“ hinzu, die standardmäßig deaktiviert ist.

Anleitung zum Aktivieren der sudo-Funktion:
Auf einem Avamar Proxy:
  1. Installieren Sie auf dem Proxy den oben genannten Hotfix
  2. Bearbeiten Sie /usr/local/avamarclient/bin/config.xml und fügen Sie die Zeile (<enablesudouserrestore>1</enablesudouserrestore>) zur Datei hinzu
  3. Starten Sie FLR mit folgendem Befehl neu: service vmwareflr restart
Auf jeder Linux-VM, auf der die FLR-Funktion aktiviert ist:
  1. Erstellen Sie einen dedizierten FLR-Nutzer:  Beispiel: flruser.  Für zusätzliche Sicherheit kann shell für dieses Konto deaktiviert werden.
  2. Kopieren Sie die Binärdatei /usr/local/avamarclient/bin/RestoreAcl vom Avamar-Proxy auf die Ziel-VM mit dem festen Speicherort /usr/bin/RestoreACL und setzen Sie die Berechtigung mithilfe von chmod auf 755.
Beispiel:
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. Ändern Sie die Datei /etc/sudoers, um es dem FLR-Nutzer aus Schritt 1 zu erlauben, die Binärdatei RestoreACL ohne Passwort auszuführen. 
Beispiel:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Hinweis: Wenn die Einstellung „sudoers requiretty“ aktiviert ist (Zeile „Defaults requiretty“ ist in der Datei vorhanden), benötigen wir diese Zeile ebenfalls.  
Defaults!/usr/bin/RestoreAcl !requiretty


Option 3: Wiederherstellung am ursprünglichen Speicherort unter Verwendung der Methode „sudo wget“ mit ACL. 

Hinweis: 

  • Diese Option ist nur verfügbar, wenn optionales Netzwerk-HTTPS verfügbar ist und wenn die Wiederherstellungsauswahl mehr als 5 MB oder 10 Dateien umfasst.
  • Die Verwendung der Avamar-Benutzeroberfläche zum Durchsuchen von Live-Ziel-VM-Speicherorten mit eingeschränkten Ordnern kann fehlschlagen, aber die explizite Eingabe des „Absolution-Ziel“ funktioniert weiterhin. 
  1. Führen Sie die Schritte in Option 2 auf dem Proxy aus, um die ACL-Wiederherstellung zu aktivieren.
  2. Bearbeiten Sie auf dem Avamar Proxy /usr/local/avamarclient/bin/wget_linux_script.template 
Vorher:
wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile

Nachher:
sudo wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile
  1. Starten Sie FLR mit folgendem Befehl neu: service vmwareflr restart
  2. Ändern Sie auf jeder Linux-VM, auf der die FLR-Wiederherstellung am ursprünglichen Speicherort verwendet wird, die Datei /etc/sudoers, damit der FLR-Nutzer aus Schritt 1 die Binärdatei wget ohne Passwort ausführen kann. 
Beispiel:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Hinweis: Wenn die Einstellung „sudoers requiretty“ aktiviert ist (Zeile „Defaults requiretty“ ist in der Datei vorhanden), benötigen wir diese Zeilen ebenfalls:
Defaults!/usr/bin/RestoreAcl !requiretty
Defaults!/usr/bin/wget !requiretty

Produits concernés

Avamar

Produits

Avamar, Avamar Client for VMware
Propriétés de l’article
Numéro d’article: 000081871
Type d’article: Solution
Dernière modification: 20 nov. 2020
Version:  2
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.