Avamar – FLR – Linux FLR wget-Skripte schlagen fehl, wenn der HTTP-Proxy auf der virtuellen Maschine konfiguriert ist.

Summary: Avamar – FLR – Dateien konnten nicht über das Netzwerk wiederhergestellt werden, da die Ziel-Linux-VM einen internen Internetproxy für "wget"-Datenverkehr verwendet

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Im Avamar FLR-Wiederherstellungsprotokoll sehen wir Folgendes: 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
In den FLR-Protokollen des Avamar-Proxys:   /usr/local/avamaravamarclient/logs/VmwareFlr.log sehen wir, dass das automatisch generierte FLR-Skript "flrTBow8V" im Gastbetriebssystem der virtuellen Maschinen ausgeführt wird.   Das Skript war jedoch nicht erfolgreich ( Hinweis: Nur der Exitcode 0 weist auf einen Erfolg hin , jede andere Zahl ist ein Fehlercode). Der Fehlerbeendigungscode in diesem Protokoll war 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

Im Avamar FLR-Skriptprotokoll sehen wir Folgendes /usr/local/avamaravamarclient/logs/flrTBow8V.err 
<DATE>  https://Avamar-proxy-IP/download/<uuid>
Resolving internetproxy.example.com (internetproxy.example.com)... 10.2.3.4 
Connecting to internetproxy.example.com (internetproxy.example.com )|10.2.3.4|:3128... connected.

WARNING: cannot verify 10.1.4.50's certificate, issued by ‘/C=US/ST=California/L=Irvine/O=Dell Technologies/OU=Dell EMC/CN=Administrator’:
  Self-signed certificate encountered.
    WARNING: certificate common name ‘Administrator’ doesn't match requested host name ‘10.1.4.50’.Proxy request sent, awaiting response...
  HTTP/1.1 500 Failed to exec CGI
  Connection: close
  X-Frame-Options: SAMEORIGIN
  X-Content-Type-Options: nosniff
  Strict-Transport-Security: max-age=31536000;includeSubDomains
  X-XSS-Protection: 1; mode=block
  Cache-Control: must-revalidate,no-cache,no-store
  Content-Type: text/html;charset=iso-8859-1
  Content-Length: 368
  Server: Jetty(9.4.19.v20190610)
<DATE> ERROR 500: Failed to exec CGI.

ecode: "8"

Cause

Dies ist ein Umgebungsproblem, das durch eine nicht standardmäßige Linux-Konfiguration ausgelöst wird. 

In der FLR-Skriptausgabedatei ( flrTBow8V.err ) können wir sehen, dass der Datenverkehr durch die Internet-HTTP-Proxy-internetproxy.example.com des Kunden fließt. 

Problem: Aus Sicherheitsgründen darf nur die virtuelle Zielmaschine Dateien für diesen bestimmten FLR-Job/dieses Skript herunterladen.  

Der HTTP-PROXY bewirkt, dass die eingehende IP-Adresse NICHT mit der IP-Adresse der Ziel-VM übereinstimmt und den HTTP-Statuscode 500 auslöst.   


Konfiguration:  
  Im Gastbetriebssystem der virtuellen Maschine ist für eine wget-Konfigurationsdatei ( ~/.wgetrc oder /usr/local/etc/wgetrc) ein HTTP-Proxy konfiguriert.    

https_proxy  =  http://internetproxy.example.com:3128
 

Resolution

Lösung: 

Um dieses Problem zu beheben, müssen wir sicherstellen, dass das FLR-Skript NICHT den HTTP-Proxy verwendet, indem wir die wget-Skriptspezifikationsvorlage ändern.  

     

Schritte:
1. Stellen Sie über SSH eine Verbindung zum Avamar-Proxy
2 her. Bearbeiten Sie das Skript für die wget-Vorlage am folgenden Speicherort: 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Fügen Sie den wget-Befehl switch "--no-proxy" hinzu.

Beispiel für die Konfiguration vor der Änderung:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        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
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code

Beispiel für die Konfiguration NACH der Änderung:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        wget "$url/$filepath" -N --no-proxy -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
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code
4. Starten Sie den vmwareflr-Webservice auf dem Proxy neu.   (oder Proxy neu starten)
192proxy:~ #  systemctl restart vmwareflr.service

Affected Products

Avamar

Products

Avamar Client for VMware
Article Properties
Article Number: 000183577
Article Type: Solution
Last Modified: 05 Sep 2021
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.