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
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Avamar: Så här utför du en Linux VMware återställning på filnivå utan att använda root user med sudo

Résumé: Avamar FLR Sudo

Cet article concerne   Cet article ne concerne pas 

Symptômes



Bakgrundsinformation om Avamar FLR:
Avamar File Level Restore (återställning på filnivå) är en agentlös återställningslösning som kan användas för att återställa en eller flera gästfiler från en säkerhetskopieringsbild av en virtuell maskin. Den mekanism som används för att möjliggöra återställning på filnivå är VMware-verktyg och vSphere-API:et guest.operation.functions. Säkerhetskopieringsbilden av den virtuella maskinen monterar den virtuella disken (.vmdk) på Avamar-proxyn under bläddringen. När filer har valts för återställning överförs kopierade filer från proxyn till den virtuella målmaskinen.

Obligatoriska krav för FLR:
  1. Den virtuella målmaskinen måste vara igång.
  2. Den virtuella målmaskinen måste ha VMware-verktygen installerade och tjänsten måste vara aktiv under återställningen. 
  3. Avamar-administratören eller Avamar-användaren för säkerhetskopiering/återställning måste ha giltiga gästinloggningsuppgifter på målet (krav i VMware gäståtgärds-SDK), och dessa uppgifter måste anges när återställningen på filnivå ska påbörjas.
  4. Gästanvändaren på måldatorn måste ha behörighet att skriva till platsen, annars misslyckas åtgärden. För virtuella maskiner med Windows måste användaren på den virtuella maskin som ska återställas även ha behörighet att skriva utan UAC-förhöjning. För virtuella maskiner med Linux måste den maskin som ska återställas kunna skriva utan sudo. 
Tillvalskrav för FLR: Krävs för överföringsmetoden Faster HTTPS. 
  1. Virtuella målmaskiner måste ha TCP 443-åtkomst till de virtuella proxy-maskinerna.
  2. För virtuella maskiner med Linux måste ett modernt wget-program vara installerat innan återställningen kan utföras.  
Om driftskraven inte uppfylls visas följande varningsmeddelanden innan jobbet skickas:

Om den virtuella målmaskinen inte kan upprätta en HTTPS-anslutning till proxyn:

kA23a000000GIVvCAO_3_0

På proxyn: /usr/local/avamarclient/bin/logs/VSphereWebService.log, see 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

Eller
  
Linux utan wget:

kA23a000000GIVvCAO_3_1

På proxyn: /usr/local/avamarclient/bin/logs/VSphereWebService.log, see:

[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>

Eller

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


Tillvalsfunktion för FLR: Återställ åtkomstkontrollistan (ACL) 

Den här funktionen är inte aktiverad som standard.
Resultat:
Utan ACL-funktionen (standard):

Alla återställda filer från FLR-funktionen ägs av de gästinloggningsuppgifter på den virtuella datorn som angavs under FLR-åtgärderna, och tidigare filbehörigheter anges inte.

Med ACL-funktionen aktiverad:
Om användaren vill att de återställda filerna ska ha det ägarskap och den behörighet som de ursprungligen hade, måste de aktivera den här valfria funktionen.

kA23a000000GIVvCAO_3_2

Resultat:
Under återställningen skapas nya filer som FLR VM-användare, men i slutet av återställningen körs ACL-arbetsflödet. Då återställs ägarskap och filbehörighet till de ursprungliga inställningarna. 


På proxyn: /usr/local/avamarclient/bin/logs/VSphereWebService.log, see:

[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

I vissa Linux-distributioner som Ubuntu eller Photon OS är operativsystemets root-användare som standard inte inställda eller konfigurerade. I stället använder Linux-administratörer kommandot sudo för att köra upphöjningsåtgärder.  

VMware-verktyg och VMware SDK gör dock att de flesta åtgärder (VM_LoginInGuest, CopyFileFromHostToGuest och ListFilesInGuest) inte kan köra kommandot sudo. 

När återställningsåtgärder utförs med en vanlig användare kan åtgärden misslyckas på grund av otillräckliga gästbehörigheter på målet.

Résolution

För miljöer där Linux root-användare har inaktiverats, inte har konfigurerats eller av säkerhetsskäl inte kan delas, kan du överväga följande åtgärdssteg:

Alternativ 1. Återställ till en annan plats som icke-root-användare. 
Exempel:
Källfil:  /root/test  (begränsad mapp/fil)
Målfil:  /home/flruser/ (ej begränsad plats) 
Skapa VM-gäst:  "flruser"  

Resultat:
Vid FLR-bläddring monteras de virtuella diskarna till Avamar-proxyn och visas i användargränssnittet. Detta omfattar alla mappar och filer. Gå till /root-mappen och välj file1.txt. Välj sedan återställ allt till en annan plats och gå till eller ange /home/flruser/ som absolutionsmål.

kA23a000000GIVvCAO_2_0

Resultat:
Filen root/test återställs till /home/flruser/test
Observera att filen får FLR-gästanvändarbehörighet. 

Alternativ 2 Återställ till en alternativ plats med alternativet Återställ ACL med hjälp av sudo-funktionen. 
I Avamar 18.2 installerar du proxy-korrigeringen 318791 (eller senare)
I Avamar 19.2 installerar du proxy-korrigeringen 318791 (eller senare)


De här korrigeringarna lägger till en ny ”enablesudouserrestore”-funktion som är inaktiverad som standard.

Instruktion för att aktivera sudo-funktionen:
På en Avamar-proxy:
  1. Installera ovanstående korrigering på proxyn
  2. Redigera /usr/local/avamarclient/bin/config.xml, lägg till/redigera raden (<enablesudouserrestore>1</enablesudouserrestore>) i filen
  3. Starta om FLR med kommandot: service vmwareflr restart
På varje virtuell maskin med Linux där FLR-funktionen är på:
  1. Skapa dedikerad FLR-användare:  example flruser.  För ytterligare säkerhet kan skalet inaktiveras för det här kontot
  2. Kopiera/usr/local/avamarclient/bin/RestoreAcl binary från Avamar-proxyn till den virtuella måldatorn med hjälp av den fasta platsen /usr/bin/RestoreACL och ange behörigheten till 755 med chmod
exempel:
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. Ändra /etc/sudoers för att tillåta FLR-användare från steg 1 att köra RestoreACL binary utan lösenord. 
exempel
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Obs! Om inställningen sudoers requiretty har aktiverats (raden ”Defaults requiretty” finns i filen) behövs även denna rad.  
Defaults!/usr/bin/RestoreAcl !requiretty


Alternativ 3 Återställ till ursprunglig plats med metoden sudo wget med ACL. 

Obs! 

  • Det här alternativet är endast tillgängligt om ett HTTPS-nätverksalternativ finns och om >5 MB eller 10 filer har valts för återställningsalternativet.
  • Om du använder Avamar-gränssnittet för att bläddra igenom aktiva VM-målplatser med begränsade mappar kan detta misslyckas, men det ska fortfarande fungera att uttryckligen ange ”Absolution Destination”. 
  1. Utför stegen i Alternativ 2 på proxyn för att aktivera ACL-återställning.
  2. På Avamar-proxyn redigerar du /usr/local/avamarclient/bin/wget_linux_script.template 
Före:
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

Efter:
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. Starta om FLR med kommandot: service vmwareflr restart
  2. På varje virtuell maskin med Linux där FLR-återställning till ursprunglig plats ska användas ändrar du /etc/sudoers så att FLR-användaren från steg 1 kan utföra wget binary utan lösenord. 
Exempel:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Obs! Om inställningen sudoers requiretty har aktiverats (raden ”Defaults requiretty” finns i filen) behövs även de här raderna:
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.
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.