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: Op Linux een VMware-FLR uitvoeren zonder rootgebruiker met behulp van sudo

Résumé: Sudo voor Avamar FLR

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



Achtergrondinformatie over Avamar FLR:
Avamar File Level Restore is een agentloze hersteloplossing die kan worden gebruikt om een of meerdere gastbestanden te herstellen van een VM-image-back-up. Het mechanisme dat wordt gebruikt om FLR te faciliteren is gebaseerd op VMware Tools- en vSphere-API-gastbewerkingsfuncties. De back-up van de VM-image koppelt de virtuele schijf (.vmdk) aan de Avamar proxy tijdens het bladeren. Nadat bestanden zijn geselecteerd voor herstel, worden ze gekopieerd als overdrachtsbestand van de proxy naar de doel-VM.

Verplichte vereisten voor FLR:
  1. De doel-VM moet zijn ingeschakeld.
  2. Op de doel-VM moet VMware Tools zijn geïnstalleerd en de service moet actief zijn tijdens de herstelbewerkingen. 
  3. De Avamar administrator of Avamar back-up-/herstelbewerking/gebruiker moet geldige gastreferenties hebben voor het betreffende doel (vereiste van VMware SDK voor gastbewerkingen) en deze referenties moeten worden ingevoerd bij het begin van de FLR-bewerkingen.
  4. De doel-gastgebruiker moet bevoegdheden hebben om schrijfbewerkingen op de locatie uit te voeren, anders mislukt de bewerking. Voor Windows-VM"s moet de herstel-VM-gebruiker tevens machtigingen hebben om te kunnen schrijven zonder verhoogde UAC-bevoegdheden, voor Linux-VM"s moet de herstel-VM in staat zijn te schrijven zonder sudo. 
Optionele vereisten voor FLR: Vereist voor snellere HTTPS-overdrachtsmethode. 
  1. Doel-VM"s moeten TCP 443-toegang hebben tot de proxy-VM"s.
  2. Voor Linux-VM"s moet een moderne wget-applicatie zijn geïnstalleerd op de VM voordat de herstelbewerking wordt uitgevoerd.  
Als er niet aan de operationele vereisten wordt voldaan, worden de volgende waarschuwingen weergegeven voordat een taak wordt ingediend:

Als de doel-VM geen HTTPS-verbinding met de proxy kan maken:

kA23a000000GIVvCAO_3_0

Op de proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, zie wget-exitcode van niet-nul

[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

Of

Linux zonder wget:

kA23a000000GIVvCAO_3_1

Op de proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, zie:

[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 fault: "":ServerFaultCode [no subcode]
"File /usr/bin/wget was not found"
Detail: <FileNotFoundFault xmlns="urn:vim25" xsi:type="FileNotFound"><file>/usr/bin/wget</file></FileNotFoundFault>

Of

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


Optionele functie FLR: Restore ACL (Access Control List)

Deze functie is standaard niet ingeschakeld.
Resultaat:
Zonder ACL-functie (standaardinstelling):

Alle door de FLR-functie herstelde bestanden zullen het eigendom zijn van de VM-gastreferenties die door de gebruiker zijn ingevoerd tijdens de FLR-bewerkingen; eerdere bestandsmachtigingen worden niet ingesteld.

Met de ACL-functie ingeschakeld:
Als de gebruiker wil dat de herstelde bestanden de oorspronkelijke bestandseigendom en -machtigingen heeft van bij het aanmaken van het bestand, moet deze optionele functie worden ingeschakeld.

kA23a000000GIVvCAO_3_2

Resultaat:
Tijdens de herstelbewerkingen zullen nieuwe bestanden worden aangemaakt als de FLR-VM-gebruikers, maar aan het einde van de herstelbewerkingen wordt de ACL-workflow uitgevoerd en worden het eigenaarschap en de bestandsmachtigingen hersteld naar de oorspronkelijke staat. 


Op de proxy: /usr/local/avamarclient/bin/logs/VSphereWebService.log, zie:

[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

Op sommige Linux-distributies zoals Ubuntu of Photon OS, zijn standaard geen rootgebruikers van het besturingssysteem ingesteld of geconfigureerd. In plaats daarvan gebruiken Linux-administrators de opdracht sudo om bewerkingen met verhoogde bevoegdheid te kunnen uitvoeren.  

Vanwege VMware Tools en VMware SDK, kan met VMware tools voor de meeste bewerkingen (VM_LoginInGuest, CopyFileFromHostToGuest en ListFilesInGuest) de opdracht sudo niet worden uitgevoerd. 

Wanneer herstelbewerkingen worden uitgevoerd door een normale gebruiker, kan de bewerking mislukken vanwege ontoereikende gastmachtigingen voor het betreffende doel.

Résolution

Voor omgevingen waar de Linux-rootgebruiker is uitgeschakeld, niet is geconfigureerd, of omwille van de beveiliging niet kan worden gedeeld, kunt u gebruikmaken van de volgende probleemoplossingsstappen:

Optie 1. Herstellen naar een alternatieve locatie als niet-rootgebruiker. 
Voorbeeld:
Bronbestand:  /root/test  (map/bestand met toegangsbeperkingen)
Doelbestand:  /home/flruser/ (locatie zonder toegangsbeperkingen)
Maken VM-gast:  "flruser"  

Resultaat:
Tijdens het bladeren voor FLR, worden de virtuele schijven gekoppeld aan de Avamar proxy en weergegeven in de gebruikersinterface. Dit omvat alle mappen en bestanden. Blader naar de /root-map en selecteer file1.txt. Kies vervolgens 'restore everything to a different location'en blader naar, of typ /home/flruser/ als de Absolution Destination.

kA23a000000GIVvCAO_2_0

Resultaat:
root/test-bestand wordt hersteld naar /home/flruser/test
Het bestand heeft nu gastgebruikersmachtiging voor FLR. 

Optie 2. Herstellen naar een alternatieve locatie met de optie Restore ACL met behulp van de sudo-functie. 
In Avamar 18.2 installeert u proxy hotfix 318791 (of later)
In Avamar 19.2 installeert u proxy hotfix 318791 (of later)


Deze hotfixes voegen de nieuwe 'enablesudouserrestore'-functie toe die standaard is uitgeschakeld.

Instructies voor het inschakelen van de sudo-functie:
Op een Avamar proxy:
  1. Installeer de bovenstaande hotfix op de proxy
  2. Bewerk /usr/local/avamarclient/bin/config.xml, voeg regel toe aan/ bewerk regel (<enablesudouserrestore>1</enablesudouserrestore>) in het bestand
  3. Start FLR opnieuw met behulp van de opdracht: service vmwareflr restart
Op elke Linux-VM waarop de FLR-functie wordt gebruikt:
  1. Maak een speciale FLR-gebruiker:  bijvoorbeeld flruser.  Voor extra beveiliging kan de shell voor dit account worden uitgeschakeld
  2. Kopieer binair bestand /usr/local/avamarclient/bin/RestoreAcl van de Avamar proxy naar de doel-VM met gebruik van de vaste locatie /usr/bin/RestoreACL en stel de machtiging in op 755 met behulp van chmod
Voorbeeld:
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. Wijzig /etc/sudoers om de FLR-gebruiker van stap 1 te machtigen om bin/RestoreACL uit te voeren zonder wachtwoord. 
Voorbeeld:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Opmerking: Als de instelling sudoers requiretty is ingeschakeld (en de regel ‘Defaults requiretty' in het bestand aanwezig is), hebben we ook deze regel nodig:  
Defaults!/usr/bin/RestoreAcl !requiretty


Optie 3: Herstellen naar de oorspronkelijke locatie met behulp van de sudo wget-methode met ACL. 

Opmerking: 

  • Deze optie is alleen beschikbaar als er een optionele netwerk-HTTPS beschikbaar is en als de herstelselectie > 5 MB of 10 geselecteerde bestanden is.
  • Het via de Avamar GUI bladeren naar live doel-VM-locaties met maplocaties waarvoor beperkte toegang geldt, kan mislukken. Het expliciet intypen van de locatie in 'Absolution Destination' werkt echter gewoon. 
  1. Voer de stappen van optie 2 uit op de proxy om ACL-herstel in te schakelen.
  2. Bewerk op de Avamar proxy /usr/local/avamarclient/bin/wget_linux_script.template 
Vóór:
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

Na:
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. Start FLR opnieuw met behulp van de opdracht: service vmwareflr restart
  2. Op elke Linux-VM die wordt gebruikt voor FLR-herstel naar de oorspronkelijke locatie, moet /etc/sudoers worden gewijzigd zodat de FLR-gebruiker uit stap 1 wordt gemachtigd om het binair bestand wget uit te voeren zonder wachtwoord. 
Voorbeeld:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Opmerking: Als de instelling sudoers requiretty is ingeschakeld (en de regel 'Defaults requiretty' in het bestand aanwezig is), hebben we ook deze regels nodig:
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.