Avamar - FLR - Linux Les scripts FLR wget échouent lorsque le proxy HTTP est configuré sur la machine virtuelle.

Summary: Avamar - FLR - Échec de la restauration des fichiers via le réseau en raison de l’utilisation d’un proxy Internet interne par la machine virtuelle Linux de destination pour le trafic « 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

Dans le journal de restauration FLR d’Avamar, vous voyez ce qui suit : 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
Sur les logs flr du proxy Avamar :   /usr/local/avamaravamarclient/logs/VmwareFlr.log nous voyons que le script flr généré automatiquement « flrTBow8V » est en cours d’exécution dans le système d’exploitation invité des machines virtuelles.   Toutefois, le script n’a pas réussi ( Remarque : seul le code de sortie 0 indique une réussite, tout autre nombre est un code d’échec) Le code de sortie d’échec dans ce journal était 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

Dans le journal des scripts FLR d’Avamar, nous voyons le fichier /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

Il s’agit d’un problème environnemental déclenché par une configuration Linux non standard. 

Dans le fichier de sortie du script flr ( flrTBow8V.err ), nous pouvons voir que le trafic circule via le proxy HTTP Internet du client internetproxy.example.com

Problème : Pour des raisons de sécurité, seule la machine virtuelle cible est autorisée à télécharger des fichiers pour cette tâche/ce script FLR particulier.  

Le PROXY HTTP fait que l’adresse IP entrante ne correspond PAS à l’adresse IP de la machine virtuelle cible et déclenche le code d’état HTTP 500.   


Configuration :  
  Dans le système d’exploitation invité de la machine virtuelle, un fichier de configuration wget ( ~/.wgetrc ou /usr/local/etc/wgetrc) dispose d’un proxy HTTP configuré.    

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

Resolution

Résolution : 

Pour résoudre ce problème, nous devons nous assurer que le script FLR n’utilise PAS le proxy http en modifiant le modèle de spécification de script wget.  

     

Étapes :
1. Connectez-vous en SSH au proxy
Avamar 2. Modifiez le script du modèle wget à l’emplacement suivant : 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Ajoutez le commutateur de commande wget « --no-proxy »

Exemple de configuration avant modification :
#!/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

Exemple de configuration APRÈS modification :
#!/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. Redémarrez le webservice vmwareflr sur le proxy.   ( ou le proxy de redémarrage)
192proxy:~ #  systemctl restart vmwareflr.service

Affected Products

Avamar

Products

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