Gli script Avamar - FLR - Linux FLR wget hanno esito negativo quando il proxy HTTP è configurato sulla macchina virtuale.

Summary: Avamar - FLR - Impossibile ripristinare i file via rete a causa della macchina virtuale Linux di destinazione che utilizza un proxy Internet interno per il traffico "wget"

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

Nel registro di ripristino FLR di Avamar viene visualizzato quanto segue: 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
Nei registri flr del proxy Avamar:   /usr/local/avamaravamarclient/logs/VmwareFlr.log viene visualizzato lo script FLR generato automaticamente "flrTBow8V" all'interno del sistema operativo guest delle macchine virtuali.   Tuttavia, lo script non ha avuto esito positivo (Nota: solo il codice di uscita 0 indicherebbe un'operazione riuscita, qualsiasi altro numero è un codice di errore) Il codice di uscita dell'errore in questo registro era 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

Nel registro degli script FLR di Avamar viene visualizzato quanto segue: /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

Si tratta di un problema ambientale generato da una configurazione Linux non standard. 

Nel file di output dello script flr (flrTBow8V.err) possiamo vedere che il traffico scorre attraverso il proxy http internet del cliente internetproxy.example.com

Problema: Per motivi di sicurezza, solo la macchina virtuale di destinazione è autorizzata a scaricare i file per questo particolare lavoro/script FLR.  

HTTP PROXY fa sì che l'indirizzo IP in ingresso NON corrisponda all'indirizzo IP della macchina virtuale di destinazione e attivi il codice di stato HTTP 500.   


Configurazione:  
  Nel sistema operativo guest della macchina virtuale, un file di configurazione wget (~/.wgetrc o /usr/local/etc/wgetrc) contiene un proxy HTTP configurato.    

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

Resolution

Risoluzione: 

Per risolvere questo problema, è necessario assicurarsi che lo script FLR NON utilizzi il proxy http modificando il template delle specifiche dello script wget.  

     

Passaggi:
1. Accedere tramite SSH al proxy
Avamar 2. Modificare lo script del modello wget nel seguente percorso: 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Aggiungere l'opzione del comando wget "--no-proxy"

Esempio di configurazione prima della modifica:
#!/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

Esempio di configurazione DOPO la modifica:
#!/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. Riavviare il servizio web vmwareflr sul proxy.   (o riavviare il proxy)
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.